Змінюємо жорсткий диск, що відмовив, в програмному 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 на новий (принаймні обсяг нового жорсткого диска повинен збігатися зі старим – якщо розмір на кілька МБ менше, топеребудувати масиви буде неможливо).

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) будуть синхронізовані.

Під час синхронізації вихідні дані мають виглядати так:

Після закінчення синхронізації вихідні дані мають виглядати так: