array raid bare metal con LVM scompare dopo il riavvio

Oct 25 2020

tl; dr:

RAID array + LVM scompare dopo il riavvio.

Dettaglio

Volevo impostare un array raid crittografato, basato su questo SO .

Ho impostato un array RAID "bare metal" (cioè sui dischi non sulle partizioni). Una volta creato l'array, non l'ho formattato e l'ho eseguito pvcreate. Quindi ho impostato LVM e la crittografia nel solito modo. (Vedi Digital Ocean Guide su RAID , arch guide su LVM su RAID .

Dopo aver impostato la crittografia, ho eseguito mdadm --detail --scan | tee -a /etc/mdadm/mdadm.confquindi update-initramfs -u un riavvio. /dev/md0è poi andato. Dove ho sbagliato?

Passaggi per eseguire il debug.

Ci sono molte domande simili, questo è quello che ho provato finora sulla base della mia lettura.

  • L'output di mdadm --examine --scanè vuoto.
  • contenuti non commentate di /etc/mdadm/mdadm.conf: HOMEHOST <system>, MAILADDR root, ARRAY /dev/md0 metadata=1.2 name=server:0 UUID=xxxxxci sono voci duplicate come suggerito in alcune risposte SO.
  • Emissione dei service mdadm statusrendimentiLoaded: masked (Reason: Unit mdadm.service is masked.)
  • Emissione di cat /proc/mdstatyeildPersonalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] \n unused devices: <none>
  • Ho provato a correre dpkg-reconfigure mdadme update-initramfs -ucome suggerito qui e non ho ottenuto un'opzione per abilitare "tutto". Ho provato a riavviare dopo questo, che non ha funzionato.

Come ultima risorsa ho provato mdadm --assemble --scan.

Stranamente, il tipo non è TYPE="linux_raid_member"come mi sarei aspettato da questo SO

root@server:/home/user# blkid
/dev/sda1: UUID="xx" TYPE="ext2" PARTUUID="xx-xx"
/dev/sda5: UUID="xx" TYPE="LVM2_member" PARTUUID="xx-xx"
/dev/mapper/server--vg-root: UUID="xx" TYPE="ext4"
/dev/mapper/server--vg-swap_1: UUID="xx" TYPE="swap"
/dev/sdb: PTUUID="xx" PTTYPE="gpt"
/dev/sdc: PTUUID="xx" PTTYPE="gpt"
/dev/sdd: PTUUID="xx" PTTYPE="gpt"

L'array è su sd [bcd] e / dev / sda contiene il filesystem di root. Questa unità array è per i dati.

Passaggi per ricreare.

Per completezza e nel caso sia utile.

  • mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd Crea array
  • pvcreate /dev/md0 Crea volume fisico
  • vgcreate data_group /dev/md0 Crea gruppo vol
  • lvcreate -n secure data_group -L +900G Crea volume
  • cryptsetup -v luksFormat /dev/data_group/secure Configurazione della crittografia
  • cryptsetup luksOpen /dev/data_group/secure cryptvault Apri volume crittografato
  • mkfs.ext4 /dev/mapper/cryptvault Partizione
  • mkdir /mnt/vault Crea punto di montaggio
  • mount /dev/mapper/cryptvault /mnt/vault Montare
  • mdadm --detail --scan | tee -a /etc/mdadm/mdadm.confSalva layout array
  • update-initramfs -u Aggiorna init con la nuova configurazione
  • reboot

Risposte

1 VojtechTrefny Oct 25 2020 at 15:29

Questa è solo una teoria: la versione 1.2 dei metadati di mdadm è 4K dall'inizio del dispositivo ei dischi avevano già una tabella delle partizioni GPT esistente su di essi quando hai creato l'array che non è stato rimosso da mdadm (mi aspetto che mdadm rimuova tutti gli esistenti firme, ma questa è l'unica spiegazione per l'esistenza della firma GPT). L'array ora non è assemblato perché per tutti gli strumenti (incluso mdadm) questo sembra solo un disco vuoto con la tabella delle partizioni GPT (è anche possibile che blkid rilevi il backup dell'intestazione vicino alla fine del disco) non un mdmember, quindi i dischi vengono ignorati.

Puoi provare a rimuovere la tabella delle partizioni usando wipefs: prima semplicemente wipefs /dev/sdbper rilevare e stampare tutte le firme e poi wipefs -o <offset>con l'offset della firma GPT stampata dal comando precedente. Ciò potrebbe aiutare il sistema a rilevare il disco come dispositivo mdmeber.

Se questo non aiuta, suggerirei di ricominciare da capo e di scegliere la versione 1.1 dei metadati (l' --metadata=1.1opzione per mdadm, 1.1 posiziona i metadati all'inizio del dispositivo) o di creare l'array sopra le partizioni (non c'è alcun vantaggio nell'usare i dischi senza una tabella delle partizioni IMHO). O ovviamente puoi aspettare qualcun altro con alcuni suggerimenti migliori :-)

Btw. Presumo che questa sia una configurazione nuova di zecca, quindi non ci sono dati preziosi sui dispositivi, ma potrebbe essere utile eseguire il backup dei primi MiB dei dischi prima di apportare modifiche irreversibili.