Czasami zajdzie sytuacja, iż jeden z dysków zawartych w partycji RAID ulegnie awarii. W takiej sytuacji zachodzi potrzeba usunięcia uszkodzonego dysku i zstąpienie go nowym działającym. Możemy manualnie za symulować awarie dysku by przyjrzeć się temu co się stanie.
Krok 1 - By wykonać kontrolowaną awarię dysku w partycji RAID użyj polecenia:
# mdadm /dev/md0 -f /dev/hdd1
mdadm: set /dev/hdd1 faulty in /dev/md0
Krok 2 - Sprawdzenie dysków w RAID po uszkodzeniu jednego z nich
# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Jan 27 14:09:23 2011
Raid Level : raid5
Array Size : 16769024 (15.99 GiB 17.17 GB)
Used Dev Size : 8384512 (8.00 GiB 8.59 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Jan 27 14:28:55 2011
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : RHEL-01:0 (local to host RHEL-01)
UUID : a02fb98a:63a7cbbf:762c7a7f:e681a8ee
Events : 19
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/hdb1
1 8 33 1 active sync /dev/hdc1
2 0 0 2 removed
3 8 49 - faulty spare
/dev/hdd1
Widoczne jest który z dysków ma awarię i należy zastąpić go nowym.
Krok 3 - Usunięcie dysku z puli dysków zawartych w RAID
# mdadm /dev/md0 -r /dev/hdd1
mdadm: hot removed /dev/hdd1 from /dev/md0
Krok 4 - Ponowne sprawdzenie szczegółowych informacji na temat RAID
# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Jan 27 14:09:23 2011
Raid Level : raid5
Array Size : 16769024 (15.99 GiB 17.17 GB)
Used Dev Size : 8384512 (8.00 GiB 8.59 GB)
Raid Devices : 3
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Jan 27 14:31:23 2011
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : RHEL-01:0 (local to host RHEL-01)
UUID : a02fb98a:63a7cbbf:762c7a7f:e681a8ee
Events : 22
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/hdb1
1 8 33 1 active sync /dev/hdc1
2 0 0 2 removed
W ostatniej linii w wyniku tego polecenia widać, iż jeden z dysków został usunięty. W prawdziwym środowisku, w takie sytuacji usuwamy uszkodzony dysk i zastępujemy go nowym. Następnie aktywujemy nowy dysk. Ustawiamy taką samą partycję na nowym dysku jak na uszkodzonym (hdd) i konfigurujemy RAID.
W podanych krokach mowa jest o poleceniu stanowjącym awarię jednego z dysków a następnie kolejnym poleceniu usuwającym uszkodzoną partycje. Można zrobić to za jednym zamachem i może to być jedno z zagadnień egzaminów RedHat.
# mdadm -v /dev/md0 -f /dev/hdd1 -r /dev/hdd1
Krok 5 - Jeżeli nowa partycja podstawowa została utworzona można dodać ją do partycji RAID
mdadm: re-added /dev/hdd1
Krok 6 - Sprawdzenie czy nowy dysk został dodany prawidłowo.
# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Jan 27 14:09:23 2011
Raid Level : raid5
Array Size : 16769024 (15.99 GiB 17.17 GB)
Used Dev Size : 8384512 (8.00 GiB 8.59 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Jan 27 14:34:21 2011
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 3% complete
Name : RHEL-01:0 (local to host RHEL-01)
UUID : a02fb98a:63a7cbbf:762c7a7f:e681a8ee
Events : 26
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/hdb1
1 8 33 1 active sync /dev/hdc1
3 8 49 2 spare rebuilding
/dev/hdd1
Widoczna informacja "rebulding" informuję, iż nowy dysk jest dodawany do RAID.
Krok 7 - Odpytanie jądra systemu
# cat /proc/mdstat
Personalities : [raid0] [raid6] [raid5] [raid4]
md0 : active raid5 hdd1[2] hdc1[1] hdb1[0]
16769024 blocks super 1.2 level 5, 512k chunk, algorithm 2
[3/2] [UU_]
[===>.................] recovery = 17.4% (697276/4000640)
finish=3.9min speed=13843K/sec
unused devices: <none>
W tym miejscu widać więcej szczegółów dotyczących odbudowywania danych na nowej partycji.
Krok 8 - Jeżeli z RAID w całości dzieje się coś niedobrego można zatrzymać działanie dla całej partycji.
# mdadm -vS /dev/md0
mdadm: stopped /dev/md0
W momencie gdy całą partycja RAID jest zatrzymana można prowadzić prace naprawcze po których ponownie można uruchomić RAID.
Komentarze
Prześlij komentarz