Di mana LVM menyimpan konfigurasinya?

17

Saya mencoba memahami bagaimana / di mana LVM menyimpan data konfigurasinya.

  • Apakah pvcreate /dev/sdbmenulis metadata ke /dev/sdb? jika demikian apa yang tertulis?
  • Di mana vgcreate data /dev/sdb /dev/sdckonfigurasi penyimpanan grup volume?
  • Di mana LVM menyimpan pemetaan antara luasan logis dan luasan fisik?
  • Apakah ada konfigurasi khusus mesin dalam konfigurasi LVM?
  • Misalkan saya memiliki mesin dengan 2 disk yang dikonfigurasikan ke dalam volume logis, bisakah saya mengeluarkan disk itu dari mesin dan meletakkannya di komputer lain dan berharap bahwa volume logis akan bekerja di mesin yang baru?
am
sumber

Jawaban:

10

Apakah pvcreate / dev / sdb menulis metadata ke / dev / sdb? jika demikian apa yang tertulis?

Jika Anda mengoper -vvbendera ke pvcreateperintah itu membuat perintah lebih verbose dan Anda akan melihat bahwa pvcreate menciptakan area metadata pada disk.

 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.

Apa yang tertulis di area metadata?

Saya tidak mengetahui perintah yang dapat Anda gunakan untuk melihat metadata, tetapi perintah itu vgcfgbackupdapat digunakan untuk membuat cadangan metadata dan Anda dapat membuka file cadangan yang dibuat untuk melihat metadata

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

The /path/of/your/choice/filediciptakan oleh perintah di atas akan berisi PV, VG dan LVM metadata. Salah satu bagian akan terlihat seperti di bawah ini:

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
                }
        }

Saya sarankan Anda melihat isi direktori /etc/lvmdan output dari perintahlvm dumpconfig

Misalkan saya memiliki mesin dengan 2 disk yang dikonfigurasikan ke dalam volume logis, bisakah saya mengeluarkan disk itu dari mesin dan meletakkannya di komputer lain dan berharap bahwa volume logis akan bekerja di mesin yang baru?

Ya kamu bisa.

Anda dapat memigrasi Grup Volume ke host lain. Meskipun ini bukan plug-and-play, prosedur untuk melakukan ini sangat mudah. Ada lusinan tutorial yang tersedia online tentang cara melakukan ini.

Utas serverfault ini membahas tentang memindahkan partisi LVM ke host lain menggunakan ddperintah.

Sree
sumber
14

Apakah pvcreate /dev/sdbmenulis metadata ke /dev/sdb? jika demikian apa yang tertulis?

Ya, tapi itu tidak lebih dari beberapa header dan data identifikasi untuk menandai perangkat blok sebagai LVM PV. Metadata "asli" datang ketika Anda membuat grup volume.

Di mana vgcreate data /dev/sdb /dev/sdckonfigurasi penyimpanan grup volume?

Pada setiap volume fisik yang merupakan bagian dari grup volume. Secara default, salinan identik dari metadata disimpan di setiap area metadata di setiap volume fisik dalam grup volume. Metadata grup volume LVM kecil dan disimpan sebagai ASCII.

Di mana LVM menyimpan pemetaan antara luasan logis dan luasan fisik?

Itu bagian dari metadata grup volume yang disebutkan di atas.

Apakah ada konfigurasi khusus mesin dalam konfigurasi LVM?

Tidak. PV yang merupakan bagian dari VG ditemukan dan dirakit dengan menggunakan pengidentifikasi unik yang ditetapkan pada saat pembuatan PV.

Misalkan saya memiliki mesin dengan 2 disk yang dikonfigurasikan ke dalam volume logis, bisakah saya mengeluarkan disk itu dari mesin dan meletakkannya di komputer lain dan berharap bahwa volume logis akan bekerja di mesin yang baru?

Iya. Jika semua PV yang membentuk VG hadir maka LV pada VG itu akan bekerja.

Celada
sumber
3
  • Apakah pvcreate /dev/sdbmenulis metadata ke /dev/sdb? jika demikian apa yang tertulis?
  • Di mana vgcreate data /dev/sdb /dev/sdckonfigurasi penyimpanan grup volume?

pvcreatemembuat "label" dan "header" untuk PV dan juga mengalokasikan ruang untuk metadata pada volume (seperti yang ditentukan oleh --[pv]metadataopsi). Header adalah struktur data biner yang mencakup pointer ke area metadata pada PV itu.

The vgcreateperintah toko deskripsi tekstual dari keadaan saat ini kelompok volume ke daerah metadata yang sebelumnya dialokasikan pada PV terkait (seperti dikendalikan oleh --[vg]metadatacopiespilihan, dll). Ini adalah deskripsi yang didukung oleh vgcfgbackupperintah, dan dalam kebanyakan kasus adalah metadata yang akan diminati seseorang.

Untuk informasi label / tajuk PV yang lebih jelas: satu deskripsi ikhtisar dapat ditemukan di LVM Internals , http://mo.morsi.org/blog/node/392 (yang mencakup tautan ke skrip Ruby yang dapat menguraikan label / tajuk lvm-parser.rb,.)

Modul Python serupa pvdissect,, ditemukan di bagian bawah http://www.syslinux.org/wiki/index.php?title=Development/LVM_support .

Nathan
sumber