OVH Community, your new community space.

Odbudowa macierzy RAID 1 - wymiana dysku


patrick
12-01-2013, 08:10
Jeżeli sfdisk wyświetli błąd przy nanoszeniu partycji na nowy dysk, to pomoże parametr "--force":
sfdisk -d /dev/sda | sfdisk --force /dev/sdb

activ
12-01-2013, 06:26
Jeśli masz tablice partycji GPT to sfdisk nie zadziała. Musisz użyć sgdisk o czym masz w tej instrukcji z ovh napisane.

druga sprawa to pamiętaj żeby już po przekopiowaniu tablicy partycji przeinstalować na nowym dysku gruba (polecenie grub-install /dev/sdX) gdzie X to litera nowego dysku.

może się też tak zdarzyć że po wymianie dysku serwer Ci nie wstanie (odpalą Ci go w rescue) bo na nowym dysku nie będzie MBR'a a to z niego system będzie próbował wstać. Wtedy też rozwiązaniem jest reinstalacja gruba (w trybie rescue).

__________________________
administracja serwerami linux

desavil
11-01-2013, 22:25
Dzięki, za cenną pomoc

victor
11-01-2013, 22:18
-a nie znaczy --add, błędna wersja 1. Powinno być tak (to samo co w poradniku ovh tyle ze bardziej zrozumiała kolejnosc) (zakładając ze zmieniłeś sdb)

sfdisk -d /dev/sda | sfdisk /dev/sdb
mdadm --manage /dev/md1 --add /dev/sdb1
mdadm --manage /dev/md2 --add /dev/sdb2



Później warto dać
echo 99999999999 > /proc/sys/dev/raid/speed_limit_min

zeby przyśpieszyć rekonstrukcję do "tyle ile dysk wyrobi" bo kernel standardowo narzuca zbyt duze limity zeby nie wpływać znacząco na load io

desavil
11-01-2013, 21:59
Właśnie oglądałem ten manual OVH, ale tam mają jakieś "ADD dysk w trybie awaryjnym"

I chyba pomylili się: Podobnie dla md1, powinno być md2.

Czy to nie wystarczy?:
Kod:
sfdisk -d /dev/sda | sfdisk /dev/sdb
mdadm -a /dev/md1 /dev/sdb1
mdadm -a /dev/md2 /dev/sdb2
Korzystając z manuala OVH wychodziłoby na to, żeby zrobić to tak:
Kod:
sfdisk -d /dev/sda | sfdisk /dev/sdb
mdadm /dev/md1 --manage --add /dev/sdb1
mdadm /dev/md2 --manage --add /dev/sdb2

victor
11-01-2013, 21:53
cat /proc/mdstat
tutaj masz podane jakie masz nazwy twoich macierzy (md1,md2) i po wymianie zniknią ci partycje stamtąd. Musisz więc spartycjonowac nowy dysk identycznie tak samo jak drugi na serwerze i dodać właściwie partycje do własciwych macierzy
Czas rekonstrukcji zalezy od tego jak dyski są zajete robotą. Nie ma znaczenia ile masz uzyte w systemie plików. Spodziewaj się wiecej niż 16 godzin.
http://pomoc.ovh.pl/RaidSoft

desavil
11-01-2013, 21:17
Muszę przyznać, że pierwszy raz będę wymieniać dysk, który działa w macierzy soft RAID 1 (dotychczas miałem większość serwerów z jednym dyskiem - dawne KS), niestety odczytuję błędy w SMART. Wolę się upewnić, aby niemieć później jakiejś niespodzianki.

Dyski sobie nadal pracują w RAID 1, zgłaszam wymianę, a po uruchomieniu serwera z nowym dyskiem wydaję komendę (w moim przypadku dysk do wymiany: sdb):

Następnie uruchamiam:
Kod:
sfdisk -d /dev/sda | sfdisk /dev/sdb
mdadm -a /dev/md1 /dev/sdb1
mdadm -a /dev/md2 /dev/sdb2
I to wszystko tak?
Zastanawiam się ponieważ wszędzie jest podane inaczej (pomijając sfdisk w przykładach), np.:
Kod:
mdadm /dev/md1 -a /dev/sdb1
mdadm /dev/md2 -a /dev/sdb2

lub

mdadm /dev/md1 --manage --add /dev/sdb1
mdadm /dev/md2 --manage --add /dev/sdb2

lub

mdadm /dev/md0 -a /dev/sdb1

Niekiedy też jest podane: /dev/md0
Od czego to zależy?
Co w przypadku jeżeli wymieniliby sda, bo wiem że pomyłki się zdarzają, w jaki sposób mogę sprawdzić, który został wymieniony aby upewnić się że dobre sdX podaję.

Status odbudowy mogę monitorować za pomocą:
Kod:
cat /proc/mdstat

lub

mdadm --detail /dev/md1
mdadm --detail /dev/md2
Jaki jest ok. czas odbudowy? Dyski 2x2TB SATA, użyte ok. 500GB.

Dodam jeszcze jak wygląda u mnie macierz:
Kod:
cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sdb1[1] sda1[0]
      10485696 blocks [2/2] [UU]

md2 : active raid1 sdb2[1] sda2[0]
      1942498240 blocks [2/2] [UU]

unused devices: 
Dziękuję za odpowiedź, myślę że przyda się to również innym na przyszłość.