Adaptec aparatinės įrangos RAID valdiklio sąranka ir konfigūracija

Paskutinį kartą keistas: 2023.12.01

Šiame straipsnyje pateikiamas pavyzdys, kaip pakeisti defektuotą diską programinėje RAID sistemoje (mdadm).

Svarbu: Visos komandos yra tik pavyzdžiai. Prisitaikykite jas pagal poreikį!

Pavyzdinis scenarijus

Štai pavyzdinė konfigūracija:

# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0] sdb4[1]
      1822442815 blocks super 1.2 [2/2] [UU]

md2 : active raid1 sda3[0] sdb3[1]
      1073740664 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      524276 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      33553336 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Iš viso yra keturios partcijos:

  • /dev/md0 kaip swap
  • /dev/md1 kaip /boot
  • /dev/md2 kaip /
  • /dev/md3 kaip /home

/dev/sdb yra defektuotas diskas šiuo atveju. Nebuvimas ar defektai diske parodomi [U_] ir/arba [_U]. Jei RAID masyvas yra tvarkingas, tai rodo [UU].

# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0] sdb4[1](F)
      1822442815 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sda3[0] sdb3[1](F)
      1073740664 blocks super 1.2 [2/1] [U_]

md1 : active raid1 sda2[0] sdb2[1](F)
      524276 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[0] sdb1[1](F)
      33553336 blocks super 1.2 [2/1] [U_]

unused devices: <none>

Pakeitimus programinėje RAID galite atlikti, kai sistema veikia. Jei proc/mdstat rodo, kad diskas yra neveikiantis, kaip čia pavyzdyje, tuomet galite susitarti su mūsų palaikymo specialistais, kad pakeistumėte diską (žr. žemiau).

# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0]
      1822442815 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sda3[0]
      1073740664 blocks super 1.2 [2/1] [U_]

md1 : active raid1 sda2[0]
      524276 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[0]
      33553336 blocks super 1.2 [2/1] [U_]

unused devices: <none>

Defektuoto disko pašalinimas

Prieš pridedant naują diską, pirmiausia turite pašalinti seną defektuotą diską iš RAID masyvo. Tai turite padaryti kiekvienai atskirai partijai.

# mdadm /dev/md0 -r /dev/sdb1
# mdadm /dev/md1 -r /dev/sdb2
# mdadm /dev/md2 -r /dev/sdb3
# mdadm /dev/md3 -r /dev/sdb4

Ši komanda rodo, kurie diskai yra masyvo dalis:

# mdadm --detail /dev/md0

Kai kuriuose atvejuose diskas gali būti tik dalinai defektuotas, pavyzdžiui, tik /dev/md0 yra [U_] būsenoje, o visi kiti įrenginiai yra [UU] būsenoje. Šiuo atveju komanda

# mdadm /dev/md1 -r /dev/sdb2

neveikia, nes /dev/md1 masyvas yra gerai.

Tokiu atveju pirmiausiai turite įvykdyti komandą

# mdadm --manage /dev/md1 --fail /dev/sdb2

kad pereitumėte į [U_] būseną.

Susitarta su palaikymo komanda dėl defektuoto disko pakeitimo

Norėdami pakeisti defektuotą diską, turite iš anksto susitarti su palaikymo komanda. Palaikymo komanda turės trumpam išjungti serverį.

Naujo disko paruošimas

Abu masyve esantys diskai turi turėti identišką suskirstymą. Pagal skaidinių lentelės tipą (MBR arba GPT), turite naudoti tinkamus įrankius, kad nukopijuotumėte skaidinių lentelę. GPT skaidinių lentelė paprastai naudojama didesniems nei 2TiB dydžio diskams (pavyzdžiui, 3TB HDD disko dydžiams EX4 ir EX6).

MBR/GPT atsarginė kopija

Prieš kopijuodami MBR/GPT į naują diską, turite atlikti atsarginę kopiją. Taip galėsite atkurti originalų disko turinį, jei kopijavimo metu įvyks klaida.

Atsarginė kopija su MBR

sfdisk --dump /dev/sda > sda_parttable_mbr.bak
sfdisk --dump /dev/sdb > sdb_parttable_mbr.bak
sfdisk --dump /dev/sdX > sdX_parttable_mbr.bak

Atkūrimas su MBR

sfdisk /dev/sda < sda_parttable_mbr.bak
sfdisk /dev/sdb < sdb_parttable_mbr.bak
sfdisk /dev/sdX < sdX_parttable_mbr.bak

Atsarginė kopija su GPT

sgdisk --backup=sda_parttable_gpt.bak /dev/sda
sgdisk --backup=sdb_parttable_gpt.bak /dev/sdb
sgdisk --backup=sdX_parttable_gpt.bak /dev/sdX

Atkūrimas su GPT

sgdisk --load-backup=sda_parttable_gpt.bak /dev/sda
sgdisk --load-backup=sdb_parttable_gpt.bak /dev/sdb
sgdisk --load-backup=sdX_parttable_gpt.bak /dev/sdX

Diskai su GPT

Diske yra kelios atsarginės GUID skaidinių lentelės (GPT) kopijos, todėl turite naudoti įrankius, kurie palaiko GPT (pavyzdžiui, parted arba GPT fdisk) skaidinių lentelės redagavimui. Norint lengvai nukopijuoti skaidinių lentelę į naują diską, galite naudoti sgdisk įrankį iš GPT fdisk. Štai pavyzdys, kaip kopijuoti skaidinių lentelę iš sda į sdb:

sgdisk --backup=sda_parttable_gpt.bak /dev/sda
sgdisk --load-backup=sda_parttable_gpt.bak /dev/sdb

Tuomet jums reikia priskirti disko naują atsitiktinį UUID:

sgdisk -G /dev/sdb

Po to galite pridėti diską į masyvą. Kaip galutinį žingsnį, turite įdiegti paleidyklę.

Diskai su MBR

Galite paprasčiausiai nukopijuoti skaidinių lentelę į naują diską naudodami sfdisk

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

kur /dev/sda yra šaltinis ir /dev/sdb yra tikslinis diskas.

(Neprivaloma): Jei sistemoje nepastebimi skaidiniai, tuomet skaidinių lentelė turi būti perskaityta iš branduolio:

# blockdev --rereadpt /dev/sdb

Žinoma, galite rankiniu būdu kurti skaidinius naudodami fdiskcfdisk ar kitus įrankius. Skaidiniai turi būti Linux raid autodetect (ID fd) tipo.

Naujo disko integravimas

Kai jau pašalinote defektuotą diską ir įdiegėte naują, turite jį įtraukti į RAID masyvą. Tai reikia padaryti kiekvienam skaidiniui atskirai.

# mdadm /dev/md0 -a /dev/sdb1
# mdadm /dev/md1 -a /dev/sdb2
# mdadm /dev/md2 -a /dev/sdb3
# mdadm /dev/md3 -a /dev/sdb4

Naujas diskas dabar yra dalis masyvo ir bus sinchronizuotas. Pagal skaidinių dydį šis procesas gali užtrukti. Sinchronizacijos būseną galite patikrinti naudodami cat /proc/mdstat.

# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sdb4[1] sda4[0]
      1028096 blocks [2/2] [UU]
      [==========>..........]  resync =  50.0% (514048/1028096) finish=97.3min speed=65787K/sec

md2 : active raid1 sdb3[1] sda3[0]
      208768 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
      2104448 blocks [2/2] [UU]

md0 : active raid1 sdb1[1] sda1[0]
      208768 blocks [2/2] [UU]

unused devices: <none>

Paleidyklo įdiegimas

Kadangi disko serijos numeris pasikeitė, mums reikia sukurti naują įrenginių žemėlapį naudojant GRUB2:

grub-mkdevicemap -n

Jei atliekate šį tvarkymą sistemoje, kuri veikia, tada GRUB2 atveju pakanka vykdyti grub-install komandą naujame diske. Pavyzdžiui:

grub-install /dev/sdb

Grub1 (grub-legacy) atveju, priklausomai nuo to, kuris diskas buvo defektuotas, gali prireikti daugiau žingsnių.

  • Paleiskite GRUB konsolę: grub
  • Nurodykite, kur yra /boot skaidinys: root (hd0,1) (/dev/sda2 = (hd0,1))
  • Įdiekite paleidyklę MBR srityje: setup (hd0)
  • Įdiekite paleidyklę ant antrojo disko taip pat:
    • Prijunkite antrąjį diską kaip hd0device (hd0) /dev/sdb
    • Pakartokite 2 ir 3 žingsnius tiksliai (nesikeiskite komandų!)
  • Išeikite iš GRUB konsolės: quit
Tiriame įrenginius, kad nustatytume BIOS diskus. Tai gali užtrukti ilgą laiką.


    GNU GRUB  versija 0.97  (640K žemesnė / 3072K aukštesnė atmintis)

 [ Minimali BASH tipo eilutės redagavimo palaikymas.  Pirmam žodžiui naudojant TAB klavišą
   bus pateiktos galimos komandų baigčių parinktys. Kitur TAB rodo galimas
   įrenginių / failų baigčių parinktis.]
grub> device (hd0) /dev/sdb
device (hd0) /dev/sdb
grub> root (hd0,1)
root (hd0,1)
 Failų sistemos tipas yra ext2fs, skaidinio tipas 0xfd
grub> setup (hd0)
setup (hd0)
 Tikrinama, ar "/boot/grub/stage1" egzistuoja... taip
 Tikrinama, ar "/boot/grub/stage2" egzistuoja... taip
 Tikrinama, ar "/boot/grub/e2fs_stage1_5" egzistuoja... taip
 Vykdant "embed /boot/grub/e2fs_stage1_5 (hd0)"... Įterpta 26 sektoriai.
sėkminga
 Vykdant "install /boot/grub/stage1 (hd0) (hd0)1+26 p (hd0,1)/boot/grub/stage2 /boot/grub/grub.conf"... sėkminga
Atlikta.
grub> quit
#

Įdiegtosios sistemos taip pat atlieka šiuos pakartotinus jungimus:

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

Tada visus šiuos GRUB įdiegimo žingsnius reikia atlikti chroot aplinkoje. Saugiai galite ignoruoti įspėjimą grub-install negalėjo rasti fizinių įrenginių.“`

Was this article helpful?
Peržiūrų: 233

BeeHosting 10-asis gimtadienis!
Iki 70% nuolaida visoms paslaugoms
+ nemokamas svetainės perkėlimas.

Facebook Instagram linkedin

Beehosting.pro website uses cookies

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.

Menu