Подмяна на повреден твърд диск в софтуерен RAID в Linux

Подмяна на повреден твърд диск в софтуерен RAID в Linux

Събота, 28 февруари 2015 г. 00:00 ч

В тази статия ще видим как да премахнете повреден твърд диск от Linux RAID1 масив (RAID софтуер) и да добавите нов твърд диск към RAID1 масив без загуба на данни. Ще използваме gdisk, за да копираме схемата на дяловете на диска. Тази програма работи и на повечето твърди дискове с GPT (GUID Partition Table).

1 Предварителни бележки

Да вземем като пример 2 твърди диска, /dev/sda и /dev/sdb, с дялове /dev/sda1, /dev/sda2, /dev/sdb1 и /dev/sdb2.

/dev/sdb е повреден и трябва да го заменим.

2 Как да разберете дали твърдият диск е повреден?

Ако твърдият диск се повреди, голям брой грешки ще се появят в регистъра на събитията, например в /var/log/messages или /var/log/syslog.

Можете също да направите:

и вместо низа [UU] ще бъде [U_], което означава, че RAID1 масивът не е пълен.

3 Премахване на повреден твърд диск

За да премахнете /dev/sdb, маркирайте /dev/sdb1 и /dev/sdb2 като лоши и ги премахнете от съответните им RAID масиви (/dev/md0 и /dev/md1).

Първо маркирайте /dev/sdb1 като лошо:

Изход в

трябва да изглежда така:

След това премахнете /dev/sdb1 от /dev/md0:

Резултатът трябва да бъде следният:

трябва да бъде както следва:

Сега нека направим същото с /dev/sdb2 (който е част от /dev/md1):

След това изключете системата:

и заменете стария твърд диск /dev/sdb с нов (поне размерът на новия твърд диск трябва да съвпада със стария - ако размерът е с няколко MB по-малък, тогаваще бъде невъзможно пренареждането на масивите).

4-Добавяне на нов твърд диск

След като смените твърдия диск /dev/sdb, включете системата.

Първата стъпка е да създадете точно същото разделяне като в /dev/sda. Нека направим това с командата sgdisk от пакета gdisk. Ако нямате инсталиран gdisk, инсталирайте го, като направите следното за Debian и Ubuntu:

За базирани на RedHat Linux дистрибуции като CentOS:

Ако не успеете, можете да възстановите таблицата на дяловете, като използвате опцията --load-backup на sgdisk.

Сега копирайте схемата на дялове от /dev/sda в /dev/sdb:

След това трябва да рандомизирате GUID на новия твърд диск, за да сте сигурни, че е уникален.

за да проверите дали и двата твърди диска имат еднакво разделяне.

След това добавете /dev/sdb1 към /dev/md0 и /dev/sdb2 към /dev/md1:

Сега и двата масива (/dev/md0 и /dev/md1) ще бъдат синхронизирани.

По време на синхронизиране изходът трябва да изглежда така:

Когато синхронизацията приключи, изходът трябва да изглежда така: