MDADM gebruiken om software RAID schijfarrays te beheren

  • Support
  • MDADM gebruiken om software RAID schijfarrays te beheren
Estimated reading time: 4 min

software Raid disc arrays

Introductie

MDADM is een moderne tool die de meeste Linux-distributies tegenwoordig gebruiken om software-RAID-arrays te beheren; in het verleden was RAIDtools de tool die we hiervoor gebruikten. Deze samenvatting toont de meest voorkomende toepassingen van MDADM om software RAID-arrays te beheren; het gaat ervan uit dat je een goed begrip hebt van software RAID en Linux in het algemeen, en het zal alleen het gebruik van de opdrachtregel van MDADM uitleggen De onderstaande voorbeelden gebruiken RAID1, maar ze kunnen worden aangepast voor elk RAID-niveau dat de Linux-kerneldriver ondersteunt.

Vereisten

  • een actieve server
  • Huidige software RAID-array

BELANGRIJKE MEDEDELING: Voordat je begint met RAID-beheer, moet je ervoor zorgen dat je een back-up van je hele server hebt voor het geval er iets misgaat. Snel.com is niet verantwoordelijk voor verlies of schade aan je server tijdens het uitvoeren van deze procedures.

Uitleg gebruik MDADM om software RAID te beheren

1. Een nieuwe RAID-array maken

Create (mdadm --create) wordt gebruikt om een ​​nieuwe array aan te maken:

mdadm --create --verbose /dev/md0 --level=1 /dev/sda1 /dev/sdb2

of met behulp van de compacte notatie:

mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[ab]1

2. Configureer MDADM

/etc/mdadm.conf or /etc/mdadm/mdadm.conf (op Debian) is het hoofdconfiguratiebestand voor MDADM. Nadat we onze RAID-arrays hebben gemaakt, voegen we ze toe aan dit bestand met behulp van:

mdadm --detail --scan >> /etc/mdadm.conf

of op Debian

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

3. Verwijder een schijf uit een array.

We kunnen een schijf niet rechtstreeks uit de array verwijderen, tenzij deze defect is. (als de schijf defect is, bevindt deze zich normaal gesproken al in de status failed en is deze stap niet nodig):

mdadm --fail /dev/md0 /dev/sda1

Nu kunnen we deze verwijderen:

mdadm --remove /dev/md0 /dev/sda1

Dit kan in één stap met behulp van:

mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1

4. Een schijf toevoegen aan een bestaande array

We kunnen een nieuwe schijf aan een array toevoegen (waarschijnlijk een defecte schijf vervangen):

mdadm --add /dev/md0 /dev/sdb1

5. De status van de RAID-arrays verifiëren

We kunnen de status van de arrays op het systeem controleren met:

cat /proc/mdstat

of

mdadm --detail /dev/md0

De uitvoer van deze opdracht ziet er als volgt uit:

cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
104320 blocks [2/2] [UU]

md1 : active raid1 sdb3[1] sda3[0]
19542976 blocks [2/2] [UU]

md2 : active raid1 sdb4[1] sda4[0]
223504192 blocks [2/2] [UU]

hier kunnen we zien dat beide schijven worden gebruikt en goed werken – U. Een defecte schijf zal worden weergegeven als F, terwijl een gedegradeerde array de tweede schijf zal missen

Opmerking: het bewaken van de status van een RAID-reconstructiebewerking met watch kan nuttig zijn:

watch cat /proc/mdstat

6. Een RAID-array stoppen en verwijderen

Als we een raid-array volledig willen verwijderen, moeten we deze eerst stoppen en deze vervolgens verwijderen:

mdadm --stop /dev/md0
mdadm --remove /dev/md0

en tot slot kunnen we zelfs het superblok van de afzonderlijke schijven verwijderen:

mdadm --zero-superblock /dev/sda

Ten slotte kan het bij het gebruik van RAID1-arrays, waar we identieke partities op beide schijven maken, handig zijn om de partities van sda naar sdb te kopiëren:

sfdisk -d /dev/sda | sfdisk /dev/sdb

(hiermee wordt de partitietabel van sda gedumpt, waarbij de bestaande partities op sdb volledig worden verwijderd, dus zorg ervoor dat dit is wat je wilt, voordat je dit commando uitvoert, want je krijgt geen waarschuwing).

7. Herstellen van een kapotte RAID-array

  • Installeer GRUB op de resterende harde schijf

Voordat de defecte harde schijf wordt verwijderd, is het absoluut noodzakelijk om te controleren of GRUB op de resterende schijf is geïnstalleerd. In het geval van een niet-hot-swap vervanging van de harde schijf, moet het systeem opnieuw worden opgestart. Als GRUB niet aanwezig is op de resterende schijf, zal je systeem niet opstarten.

Laten we dus grub installeren op de MBR van de resterende harde schijf.

Voer de Grub-opdrachtregel in:

# grub

Zoek eerst de grub-installatiebestanden:

grub> find /grub/stage1

Op een RAID 1 met twee aanwezige schijven kun je het volgende verwachten:

(hd0,0)
(hd1,0)

 

Installeer grub op de MBR van de resterende harde schijf als dit nog niet is gedaan:

grub> device (hd0) /dev/sdx (or /dev/hdb for IDE drives)
grub> root (hd0,0)
grub> setup (hd0)
grub>quit

 

Dit zou ervoor moeten zorgen dat je systeem correct opstart nadat je harde schijf is vervangen. Het wordt ten zeerste aanbevolen om deze stappen te volgen tijdens de eerste installatie van je server. Op die manier ben je goed voorbereid als er zich problemen voordoen.

  • Maak de partitiestructuur van de defecte schijf opnieuw aan

Om de gespiegelde schijven weer goed te laten werken, moeten we fdisk uitvoeren om te zien welke partities zich op de werkende schijf bevinden:

# fdisk -l /dev/sda

Command (m for help): p

Disk /dev/hda: 255 heads, 63 sectors, 14946 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1        13    104391   fd  Linux raid autodetect
/dev/hda2            14     14913 119684250   fd  Linux raid autodetect
/dev/hda3         14914     14946    265072+  fd  Linux raid autodetect

We kunnen de partitietabel kopiëren van de werkende schijf naar de nieuwe schijf: Het kan nodig zijn om het token –force toe te voegen.

Als sda is vervangen:

sfdisk -d /dev/sdb | sfdisk /dev/sda

Als sda is vervangen:

sfdisk -d /dev/sda | sfdisk /dev/sdb
  • Herbouw de partitietabel

Nu de partities op de nieuw geïnstalleerde harde schijf zijn geconfigureerd, kunnen we beginnen met het opnieuw opbouwen van de partities van deze RAID-array. Houd er rekening mee dat het synchroniseren van je harde schijf lang kan duren.

mdadm /dev/md1 --manage --add /dev/sda1 
mdadm /dev/md2 --manage --add /dev/sda2

 

De voortgang van de verbouwing kan worden bekeken door het volgende in te voeren:

# cat /proc/mdstat
Personalities : [raid1] 
read_ahead 1024 sectors
md0 : active raid1 hdb1[0] hda1[1]
      102208 blocks [2/2] [UU]
      
md2 : active raid1 hda3[1]
      262016 blocks [2/1] [_U]
      
md1 : active raid1 hdb2[2] hda2[1]
      119684160 blocks [2/1] [_U]
      [>....................]  recovery =  
0.2% (250108/119684160) finish=198.8min speed=10004K/sec
unused devices:

 

De md0, een kleine array, is al helemaal opnieuw opgebouwd (UU), terwijl md1 nog maar net is begonnen. Nadat het is voltooid, wordt het volgende weergegeven:

#  mdadm -D /dev/md1
/dev/md1:
        Version : 00.90.00
  Creation Time : Thu Aug 21 12:21:21 2003
     Raid Level : raid1
     Array Size : 119684160 (114.13 GiB 122.55 GB)
    Device Size : 119684160 (114.13 GiB 122.55 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Fri Oct 15 13:19:11 2004
          State : dirty, no-errors
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0


    Number   Major   Minor   RaidDevice State
       0       3       66        0      active sync   /dev/hdb2
       1       3        2        1      active sync   /dev/hda2
           UUID : ede70f08:0fdf752d:b408d85a:ada8922b

8. Wisselpartitie opnieuw maken

Zorg er ten slotte voor dat de swap-partitie aan de array wordt toegevoegd:

Zie huidige swap-partitie:

cat /proc/swaps
Filename Type Size Used Priority
/dev/sdb3 partition 522104 43984 -1

 

Maak de swap-partitie opnieuw door de onderstaande opdrachten uit te voeren. Zorg ervoor dat je partitie SDA3 wijzigt in de juiste partitie zoals gevonden bij het gebruik van de opdracht cat /proc/swaps:

mkswap /dev/sda3
swapon -a

Er zijn talloze toepassingen voor MDADM, specifiek voor elk type RAID-niveau. Het is aan te raden om de man-pagina (man MDADM) of de help (MDADM-help) te gebruiken als je meer uitleg over het gebruik ervan nodig hebt. Hopelijk zullen deze voorbeelden je op weg helpen met hoe MDADM werkt.

Conclusie

In dit artikel hebben we een beknopteuitleg gegeven voor MDADM en het gebruik er van op de Linux-server in het geval dat je een softwaredisks RAID-array hebt. De meest voorkomende problemen wanneer een server kan niet worden gestart zijn te wijten aan schrijffouten.

Was this article helpful?
Dislike 0
Views: 65

Reader Interactions

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.