Сегодня еще одному человеку стало известно, что его диск на сервере уже не первой свежести и тесты говорят, что жить ему осталось не очень долго.
Так что же делать, когда у нас возникает проблема с диском, который помирает или уже умер.
Само собой нам нужна замена, если сервер арендованный у ДЦ, то диск вам заменят на новый, но файлы и RAID они не восстановят, так как это не входит в их обязанности.
Сегодня пойдет речь, как самому безопасно извлечь убитый диск из RAID и потом подвязать новый к старому RAID не потеряв файлов.
После того, как вы нашли сбойный диск (а это можно сделать с помощью утилиты S.M.A.R.T.), нам нужно посмотреть прежде всего какие разделы в рейде созданы
cat /proc/mdstat
На что мы должны увидеть примерно такое если диск цел, но по тестам уже ошибки выдает:
Personalities : [raid1]
md3 : active raid1 sda4[0] sdb4[1]
536869752 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]
или такое, если диск мертв
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_]
Ну что, теперь мы знаем какие у нас разделы и к чему они привязаны, теперь нам нужно полностью вытащить из RAID сбойный диск, для этого нужно выполнить:
mdadm /dev/md0 -r /dev/sda1
mdadm /dev/md1 -r /dev/sda2
mdadm /dev/md2 -r /dev/sda3
/dev/md0 (раздел зеркала)
/dev/sda1 (раздел жесткого диска)
После того, ка жесткий диск успешно был удален из рэйд массива, можно отправлять запрос в ДЦ на смену диска.
И вот Дата Центр установил вам «новый» диск, перед нами стал вопрос, а как же привязать снова данные диск к рейду?
Для этого нам нужно:
1)Разметить новый диск в точности также как и тот диск который у нас в RAID
1. Если ваш диск с поддержкой MBR
- sfdisk -d /dev/sda | sfdisk /dev/sdb
- Проверить нужно, чтобы разделы имел тип Linux raid autodetect
2. Если ваш диск с поддержкой GPT:
- sgdisk -R /dev/sda /dev/sdb
- sgdisk -G /dev/sda
Данные команды режут /dev/sda точно также как и размечен /dev/sdb
Теперь добавляем разделы на только размеченном диске
mdadm /dev/md0 -a /dev/sda1
mdadm /dev/md1 -a /dev/sda2
mdadm /dev/md2 -a /dev/sda3
mdadm /dev/md3 -a /dev/sda4
Теперь ждем синхронизации данных на новом диске, процесс синхронизации можно отследить через команду:
cat /proc/mdstat
Дожидаемся конца синхронизации всех разделов, затем перезагружаем сервера.
Вот и все шаги которые нужно проделать, чтобы поднять новый диск в рейд массив