Puncte:0

Trebuie să construiți manual matricea RAID la fiecare pornire și nu puteți adăuga o a treia unitate - MDADM

drapel es

Am o matrice RAID1 pe care a trebuit să o reconstruiesc manual de fiecare dată când sistemul pornește mult timp. Nu am avut niciodată timp să-mi dau seama de ce. Aceasta este comanda pe care am folosit-o pentru a o reconstrui la fiecare pornire: sudo mdadm --build /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sde1

Acest lucru funcționează excelent și nu pierde date. Apoi pot monta manual /dev/md0 acolo unde am nevoie (/mnt/plex în acest caz). Totuși, tocmai am instalat un al treilea hard disk pe serverul meu și aș dori să fac upgrade la RAID5. Am folosit cfdisk pentru a crea o partiție pe unitatea mea.

Apoi am actualizat matricea la RAID5:
sudo mdadm --grow /dev/md0 -l 5

Apoi, am adăugat noua mea unitate la matrice sudo mdadm /dev/md0 --add /dev/sda1

În cele din urmă, încerc să măresc matricea la 3 unități sudo mdadm /dev/md0 --grow -n 3 În momentul în care mi se prezintă următoarele erori:

mdadm: linia ARRAY /dev/md0 nu are informații de identitate.
mdadm: /dev/md0: nu se poate obține superbloc de la /dev/sda1

Prima eroare apare mult, este a doua eroare care cauzează problema. De ce nu pot adăuga /dev/sda1 în matrice? În timp ce mă aflu, de ce nu se construiește automat matricea când sistemul pornește?

Iată unitățile/partițiile mele dacă vă ajută:

sda 8:0 0 3.7T 0 disc
+-sda1 8:1 0 3.7T 0 part
  +-md0 9:0 0 3.7T 0 raid5 /mnt/plex
sdb 8:16 0 3.7T 0 disc
+-sdb1 8:17 0 3.7T 0 part
  +-md0 9:0 0 3.7T 0 raid5 /mnt/plex
sdc 8:32 0 931.5G 0 disc
+-md1 9:1 0 931.4G 0 raid1 /mnt/nas
sdd 8:48 0 931.5G 0 disc
+-md1 9:1 0 931.4G 0 raid1 /mnt/nas
sde 8:64 0 3.7T 0 disc
+-sde1 8:65 0 3.7T 0 part
  +-md0 9:0 0 3.7T 0 raid5 /mnt/plex
sdf 8:80 0 149.1G 0 disc
+-sdf1 8:81 0 512M 0 parte /boot/efi
+-sdf2 8:82 0 148.6G 0 parte /

SDB și SDF sunt membrii RAID care funcționează corect. Iată detaliile matricei de la mdadm dacă ajută

gradyn@hbi-server:~$ sudo mdadm --detail /dev/md0
mdadm: linia ARRAY /dev/md0 nu are informații de identitate.
/dev/md0:
           Versiune:
     Ora creării: joi, 14 octombrie 22:19:50 2021
        Nivel raid: raid5
        Dimensiunea matricei: 3906886464 (3725,90 GiB 4000,65 GB)
     Dimensiune Dev folosită: 3906886464 (3725,90 GiB 4000,65 GB)
      Dispozitive raid: 2
     Total dispozitive: 3

             Stare: curat
    Dispozitive active: 2
   Dispozitive de lucru: 3
    Dispozitive eșuate: 0
     Dispozitive de rezervă: 1

            Aspect: stânga-simetric
        Dimensiune bucată: 64K

Politica de coerență: resincronizare

    Număr Major Minor Raid Starea dispozitivului
       0 8 17 0 sincronizare activă /dev/sdb1
       1 8 65 1 sincronizare activă /dev/sde1

       2 8 1 - de rezervă /dev/sda1

Puncte:2
drapel ca

Dacă trebuie să emiti mdadm --build pentru a asambla matricea, înseamnă că ați creat o matrice „în stil vechi”, cu nici un superbloc. Cu alte cuvinte, geometria matricei (și alte metadate) sunt nu stocate pe discurile afectate, mai degrabă sistemul se așteaptă ca aceste informații să fie furnizate pe linia de comandă sau să le găsească într-un fișier de configurare numit /etc/mdadm.conf

În ceea ce privește cealaltă problemă (incapacitatea de a adăuga un al treilea disc activ), să vedem despre ce spune pagina de manual --construi matrice (fără superbloc):

Când este folosit cu --build, numai linear, stripe, raid0, 0, raid1, multipath, mp și fault sunt valide.

După cum puteți vedea, RAID5 nu este permis cu matricele vechi. Prin emiterea primului --crește comanda ați forțat sistemul într-un scenariu neașteptat și următoarele --adăuga a putut seta noul disc doar ca rezervă. Al doilea --crește apoi eșuează deoarece nu poate găsi un superbloc valid pe discurile membre.

Vă sugerez cu tărie să faceți o copie de rezervă a datelor și să recreați o matrice RAID5 atât cu un superblock, cât și cu un bitmap de scriere. Pentru a realiza acest lucru, trebuie pur și simplu să utilizați mdadm setare implicită. Cu alte cuvinte, ceva ca

mdadm --create /dev/md0 -l 5 -n 3 /dev/sda1 /dev/sdb1 /dev/sde1

ar trebui să fie suficient. Asigurați-vă că înțelegeți comanda de mai sus va șterge toate datele dvs. de pe discurile afectate, așa să fie sigur pentru a avea o copie de rezervă confirmată bună înainte de a o emite.

Gradyn Wursten avatar
drapel es
Nu sunt sigur de ce nu m-a anunțat cu privire la acest răspuns mai devreme.Am ajuns la aceeași concluzie că foloseam un fel de matrice învechită și trebuia să o reconstruiesc, dar nu am putut pentru viața mea să-mi dau seama cum s-a întâmplat sau care era diferența dintre „vechiul” și „noul”. " matrice. Acest lucru explică foarte clar și complet, mulțumesc!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.