Dove LVM memorizza la sua configurazione?


17

Sto cercando di capire come / dove LVM memorizza i suoi dati di configurazione.

  • Scrive pvcreate /dev/sdbmetadati su /dev/sdb? in tal caso cosa è scritto?
  • Dove viene vgcreate data /dev/sdb /dev/sdcarchiviata la configurazione del gruppo di volumi?
  • Dove LVM memorizza la mappatura tra estensioni logiche ed estensioni fisiche?
  • Esiste una configurazione specifica della macchina in una configurazione LVM?
  • Supponiamo di avere una macchina con 2 dischi configurati in un volume logico, posso semplicemente estrarre quei dischi dalla macchina e inserirli in un'altra macchina e aspettarmi che il volume logico funzioni nella nuova macchina?

Risposte:


10

Pvcreate / dev / sdb scrive metadati su / dev / sdb? se sì, cosa è scritto?

Se si passa un -vvflag al pvcreatecomando, il comando diventa più dettagliato e vedrai che pvcreate crea un'area di metadati sul disco.

 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.

Cosa viene scritto nell'area dei metadati?

Non sono a conoscenza di un comando che è possibile utilizzare per visualizzare i metadati, ma il comando vgcfgbackuppuò essere utilizzato per il backup dei metadati e è possibile aprire un file di backup così creato per visualizzare i metadati

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

Il /path/of/your/choice/filecreato dal comando precedente conterrà i metadati PV, VG e LVM. Una delle sezioni sarà simile al seguente:

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

Ti suggerisco di dare un'occhiata al contenuto della directory /etc/lvme all'output del comandolvm dumpconfig

Supponiamo di avere una macchina con 2 dischi configurati in un volume logico, posso semplicemente estrarre quei dischi dalla macchina e inserirli in un'altra macchina e aspettarmi che il volume logico funzioni nella nuova macchina?

Si, puoi.

È possibile migrare i gruppi di volumi su un altro host. Sebbene non sia esattamente plug-and-play, la procedura per farlo è piuttosto semplice. Ci sono dozzine di tutorial disponibili online su come farlo.

Questo thread serverfault discute sullo spostamento di una partizione LVM su un altro host usando il ddcomando


14

Scrive pvcreate /dev/sdbmetadati su /dev/sdb? in tal caso cosa è scritto?

Sì, ma non è molto più di alcuni dati di intestazione e identificazione per contrassegnare il dispositivo a blocchi come un PV LVM. I metadati "reali" arrivano quando si creano gruppi di volumi.

Dove viene vgcreate data /dev/sdb /dev/sdcarchiviata la configurazione del gruppo di volumi?

Su ogni volume fisico che fa parte del gruppo di volumi. Per impostazione predefinita, una copia identica dei metadati viene mantenuta in ogni area di metadati in ogni volume fisico all'interno del gruppo di volumi. I metadati del gruppo di volumi LVM sono piccoli e memorizzati come ASCII.

Dove LVM memorizza la mappatura tra estensioni logiche ed estensioni fisiche?

Fa parte dei suddetti metadati del gruppo di volumi.

Esiste una configurazione specifica della macchina in una configurazione LVM?

No. I PV che fanno parte di un VG vengono trovati e assemblati utilizzando identificatori univoci assegnati al momento della creazione del PV.

Supponiamo di avere una macchina con 2 dischi configurati in un volume logico, posso semplicemente estrarre quei dischi dalla macchina e inserirli in un'altra macchina e aspettarmi che il volume logico funzioni nella nuova macchina?

Sì. Se sono presenti tutti i PV che compongono il VG, i LV su quel VG funzioneranno.


3
  • Scrive pvcreate /dev/sdbmetadati su /dev/sdb? in tal caso cosa è scritto?
  • Dove viene vgcreate data /dev/sdb /dev/sdcarchiviata la configurazione del gruppo di volumi?

pvcreatecrea una "etichetta" e una "intestazione" per il PV e alloca anche lo spazio per i metadati sul volume (come specificato --[pv]metadatadall'opzione). L'intestazione è una struttura di dati binari che include puntatori alle aree di metadati su quel PV.

Il vgcreatecomando memorizza una descrizione testuale dello stato corrente del gruppo di volumi nelle aree dei metadati precedentemente allocate sui PV associati (come controllato --[vg]metadatacopiesdall'opzione, ecc.). Queste sono le descrizioni supportate dalvgcfgbackup comando e nella maggior parte dei casi sono i metadati che si sarebbe interessati ad esaminare.

Per informazioni sull'etichetta / intestazione PV più oscure: una descrizione panoramica è disponibile in LVM Internals , http://mo.morsi.org/blog/node/392 (che include un collegamento a uno script Ruby che può analizzare l'etichetta / header,. lvm-parser.rb)

Un modulo Python simile pvdissect, si trova in fondo a http://www.syslinux.org/wiki/index.php?title=Development/LVM_support .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.