Gdzie LVM przechowuje swoją konfigurację?

17

Próbuję zrozumieć, w jaki sposób / gdzie LVM przechowuje dane konfiguracyjne.

  • Czy pvcreate /dev/sdbzapisuje jakieś metadane /dev/sdb? jeśli tak to co jest napisane?
  • Gdzie jest vgcreate data /dev/sdb /dev/sdcprzechowywana konfiguracja grupy woluminów?
  • Gdzie LVM przechowuje mapowanie między zasięgami logicznymi i fizycznymi?
  • Czy istnieje konfiguracja specyficzna dla maszyny w konfiguracji LVM?
  • Załóżmy, że mam komputer z 2 dyskami skonfigurowanymi w wolumin logiczny. Czy mogę po prostu wyjąć te dyski z komputera i umieścić je na innym komputerze i oczekiwać, że wolumin logiczny będzie działał na nowym komputerze?
ams
źródło

Odpowiedzi:

10

Czy pvcreate / dev / sdb zapisuje jakieś metadane do / dev / sdb? jeśli tak to co jest napisane?

Jeśli przekażesz -vvflagę do pvcreatepolecenia, polecenie stanie się bardziej szczegółowe i zobaczysz, że pvcreate tworzy obszar metadanych na dysku.

 Writing physical volume data to disk "/dev/sdc1"
        lvmcache: /dev/sdc1: now in VG #orphans_lvm2 (#orphans_lvm2) with 0 mdas
        Creating metadata area on /dev/sdc1 at sector 8 size 2040 sectors
        Opened /dev/sdc1 RW O_DIRECT
        /dev/sdc1: block size is 1024 bytes
        /dev/sdc1: physical block size is 512 bytes
        /dev/sdc1: Preparing PV label header xxx.xxxxx.xxxxxxxxxxxxxxx

      /dev/sdc1: Writing label to sector 1 with stored offset 32.

Co jest zapisywane w obszarze metadanych?

Nie znam polecenia, którego można użyć do wyświetlenia metadanych, ale można użyć tego polecenia vgcfgbackupdo utworzenia kopii zapasowej metadanych i można otworzyć tak utworzony plik kopii zapasowej, aby wyświetlić metadane

vgcfgbackup -f /path/of/your/choice/file <your_vg_name>

/path/of/your/choice/fileStworzony przez powyższego polecenia będzie zawierał PV VG i metadanych LVM. Jedna z sekcji będzie wyglądać jak poniżej:

physical_volumes {

                pv0 {
                        id = "abCDe-TuvwX-DEfgh-daEb-Xys-6Efcgh-LkmNo"
                        device = "/dev/sdc1"    # Hint only

                        status = ["ALLOCATABLE"]
                        flags = []
                        dev_size = 10477194     # 4.99592 Gigabytes
                        pe_start = 2048
                        pe_count = 1278 # 4.99219 Gigabytes
                }
        }

Sugeruję, abyś spojrzał na zawartość katalogu /etc/lvmi wynik polecenialvm dumpconfig

Załóżmy, że mam komputer z 2 dyskami skonfigurowanymi w wolumin logiczny. Czy mogę po prostu wyjąć te dyski z komputera i umieścić je na innym komputerze i oczekiwać, że wolumin logiczny będzie działał na nowym komputerze?

Tak, możesz.

Możesz migrować Grupy woluminów na inny host. Chociaż nie jest to dokładnie plug-and-play, procedura wykonania tego jest dość prosta. Jak to zrobić, dostępne są dziesiątki samouczków.

W tym wątku dotyczącym błędu serwera omówiono przenoszenie partycji LVM na inny host za pomocą ddpolecenia.

Sree
źródło
14

Czy pvcreate /dev/sdbzapisuje jakieś metadane /dev/sdb? jeśli tak to co jest napisane?

Tak, ale to niewiele więcej niż niektóre dane nagłówka i dane identyfikacyjne, aby oznaczyć urządzenie blokowe jako PV LVM. „Prawdziwe” metadane pojawiają się podczas tworzenia grup woluminów.

Gdzie jest vgcreate data /dev/sdb /dev/sdcprzechowywana konfiguracja grupy woluminów?

Na każdym woluminie fizycznym, który jest częścią grupy woluminów. Domyślnie identyczna kopia metadanych jest przechowywana w każdym obszarze metadanych w każdym woluminie fizycznym w grupie woluminów. Metadane grupy woluminów LVM są małe i przechowywane jako ASCII.

Gdzie LVM przechowuje mapowanie między zasięgami logicznymi i fizycznymi?

To część wyżej wymienionych metadanych grupy woluminów.

Czy istnieje konfiguracja specyficzna dla maszyny w konfiguracji LVM?

Nie. PV, które są częścią VG, można znaleźć i złożyć przy użyciu unikalnych identyfikatorów przypisanych podczas tworzenia PV.

Załóżmy, że mam komputer z 2 dyskami skonfigurowanymi w wolumin logiczny. Czy mogę po prostu wyjąć te dyski z komputera i umieścić je na innym komputerze i oczekiwać, że wolumin logiczny będzie działał na nowym komputerze?

Tak. Jeśli wszystkie PV, które składają się na VG, są obecne, wówczas LV na tym VG będą działać.

Celada
źródło
3
  • Czy pvcreate /dev/sdbzapisuje jakieś metadane /dev/sdb? jeśli tak to co jest napisane?
  • Gdzie jest vgcreate data /dev/sdb /dev/sdcprzechowywana konfiguracja grupy woluminów?

pvcreatetworzy „etykietę” i „nagłówek” dla PV, a także przydziela miejsce na metadane w woluminie (zgodnie z --[pv]metadataopcją). Nagłówek jest strukturą danych binarnych, która zawiera wskaźniki do obszaru (obszarów) metadanych tego PV.

W vgcreatesklepach dowodzenia tekstowy opis obecnego stanu grupy woluminów w obszarach metadanych wcześniej przydzielonych na powiązanych PV (jak kontrolowany przez --[vg]metadatacopiesopcję, etc.). Są to opisy wspierane przez vgcfgbackuppolecenie, aw większości przypadków są to metadane, które byłyby zainteresowane zbadaniem.

W przypadku bardziej niejasnych informacji na temat etykiety / nagłówka PV: jeden opis ogólny można znaleźć w LVM Internals , http://mo.morsi.org/blog/node/392 (który zawiera link do skryptu Ruby, który może analizować etykietę / header,. lvm-parser.rb)

Podobny moduł Pythona pvdissectznajduje się na dole http://www.syslinux.org/wiki/index.php?title=Development/LVM_support .

Nathan
źródło