Content
- Вступні поняття
- Ступені багатослівності
- Загальний процес виходу з ладу
- Як замінити диск
- Покрокове керівництво по заміні несправного диска в корені ZFS
- Визначення таблиці розділів (GPT або MBR) і перенесення її на новий диск
- Копіювання розбиття для GPT
- Копіювання розділу MBR
- Встановлення завантажувача
- Додавання диска
- Висновок
Заміна несправного диска в корені ZFS
Вступні поняття
Цей документ слугує посібником для адміністраторів і користувачів, які володіють певним рівнем знань про обчислювальні апаратні платформи і концепції зберігання даних, такі як RAID. Якщо ви вже добре розумієте загальний процес усунення несправностей, ви можете перейти до розділів про заміну накопичувача та ремонт пулу.
Ступені багатослівності
Щоразу, коли накопичувач виходить з ладу або має помилки, SmartOS записує багато інформації. Щоб з'ясувати причину несправності диска, необхідно заглибитися у деталі. Нижче наведено команди у порядку зменшення багатослівності:
Команда 'zpool status ' надає огляд стану пулу.
iostat надає нам кількість помилок високого рівня, а також конкретну інформацію про пристрої.
fmadm faulty допоможе нам точніше визначити причину збою диска. fmadm також здатна очистити тимчасові несправності;
Команда fmdump надасть нам журнал подій несправностей за останні {n} днів.
Окрім заміни несправних дисків, ця інформація може бути надзвичайно корисною для визначення першопричини проблеми, якщо проблема є складнішою за просту несправність диска.
Загальний процес виходу з ладу
У системі, коли відбувається збій диска, ZFS не є першим компонентом, який виявляє і реагує на нього. Замість цього відбувається наступний загальний порядок подій:
1. FMA (Fault Management Architecture - архітектура управління збоями) виявляє і реєструє несправний диск. FMA відстежує та керує апаратними несправностями в системі.
2. Як тільки FMA виявляє несправний диск, операційна система втручається і видаляє його з системи.
3. ZFS, яка є надійною та масштабованою файловою системою, дізнається про зміну стану диска. ZFS виявляє, що диск було вилучено, і реагує на це несправністю пристрою. Збій пристрою означає, що ZFS позначає диск як несправний і вживає необхідних заходів для збереження цілісності та доступності даних.
Цей загальний процес обробки збоїв гарантує, що будь-які збої диска в системі будуть негайно виявлені, зареєстровані та відреаговані відповідними компонентами. FMA робить перший крок - ідентифікує несправний диск, потім операційна система видаляє його, і, нарешті, ZFS реагує на зміну стану, створюючи помилку на пристрої. Дотримуючись такого порядку подій, система може ефективно справлятися з відмовами дисків і підтримувати загальну стабільність і надійність інфраструктури зберігання.
Зверніть увагу, що це загальний опис процесу усунення несправностей, який може відрізнятися залежно від конкретної реалізації та конфігурації системи.
Як замінити диск
Загальний огляд заміни диска, що вийшов з ладу, у корені ZFS
Примітка: Перш ніж продовжити процес заміни диска, переконайтеся, що ви правильно визначили несправний диск. Також переконайтеся, що у вас є запасний диск для заміни.
Покрокове керівництво по заміні несправного диска в корені ZFS
Припустимо, що на сервері є 2 диски: /dev/sda і /dev/sdb
Один з дисків вийшов з ладу, наприклад /dev/sdb
Пошкоджений диск потрібно замінити.
Спочатку визначимо наш пул за допомогою команди:
zpool list
Перед заміною диска бажано видалити його з масиву:
zpool detach rpool /dev/sdb
Далі вимкніть сервер, якщо у вас немає можливості гарячої заміни дисків, але все описане нижче можна зробити і без зупинки сервера - якщо у вас є контролер і hotswap
poweroff
Фізично замінити диск, що вийшов з ладу.
Визначення таблиці розділів (GPT або MBR) і перенесення її на новий диск
Після заміни пошкодженого диска потрібно визначити тип таблиці розділів - GPT або MBR.
Для цього скористайтеся gdisk. Встановіть gdisk:
apt-get install gdisk -y
Запустіть команду:
gdisk -l /dev/sda
Де /dev/sda - дійсний диск в RAID-масиві.
Для MBR результат буде приблизно таким:
Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present
Для GPT- приблизно наступне:
Partition table scan: MBR: protective BSD: not present APM: not present GPT: present
Перш ніж додати диск до масиву, його потрібно розбити на розділи так само, як і звичайний sda-диск. Це робиться по-різному, залежно від того, яким чином розбито диск.
Копіювання розбиття для GPT
Для копіювання розбиття GPT:
Зверніть увагу: перший - це диск, на який копіюється розбиття, а другий - це диск, з якого копіюється розбиття. Якщо ви їх переплутаєте, розбиття на початково справному диску буде знищено.
sgdisk -R /dev/sdb /dev/sda
Призначте диску новий випадковий UUID:
sgdisk -G /dev/sdb
Копіювання розділу MBR
Щоб скопіювати розбиття MBR:
Зверніть увагу!
Тут ви пишете спочатку диск, з якого ви переносите розбиття, а потім диск, на який ви його переносите.
sfdisk -d /dev/sda | sfdisk /dev/sdb
Якщо розділи не відображаються в системі, ви можете перечитати таблицю розділів за допомогою команди:
sfdisk -R /dev/sdb
Встановлення завантажувача
Після розбиття диска на розділи потрібно встановити на нього завантажувач:
grub-install /dev/sdb
Додавання диска
Вказуємо, який диск ми збираємося замінити (у нашому випадку це /dev/sdb3):
zpool replace rpool /dev/sdb3
Додавання диска в рейд:
zpool online rpool /dev/sdb3
Дочекайтеся завершення синхронізації масиву:
zpool status
Висновок
Дотримуючись цих інструкцій, ви можете успішно замінити несправний диск в корені ZFS без шкоди для цілісності ваших даних. Важливо дотримуватися запобіжних заходів і виконувати кроки резервного копіювання та перевірки, щоб уникнути потенційної втрати даних і забезпечити безперебійну роботу.