Content
Заміна збійного диска в корені 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
Припустимо, у сервера 2 диски: /dev/sda і /dev/sdb
Один із дисків вийшов із ладу, наприклад, це /dev/sdb
Пошкоджений диск потрібно замінити.
Для початку визначимо наш пул командою:

Перед заміною диска бажано прибрати диск із масиву:
Далі вимикаємо сервер, якщо у вас немає можливості гарячої заміни дисків, а так все нижче описане можна виконати, не зупиняючи сервер - якщо є контролер і hotswap
Робимо фізичну заміну збійного диска.
Визначення таблиці розділів (GPT або MBR) та її перенесення на новий диск
Після заміни пошкодженого диска потрібно визначити тип таблиці розділів: GPT чи MBR.
Для цього використовується gdisk. Встановіть gdisk:
Виконайте команду:
Де /dev/sda - справний диск, що перебуває в RAID.
Для MBR у виводі буде приблизно таке:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
Для GPT приблизно таке:
MBR: protective
BSD: not present
APM: not present
GPT: present
Перед додаванням диска в масив на ньому потрібно створити розділи точнісінько такі самі, як і на справному диску sda. Залежно від розмітки диска це робиться по-різному.
Копіювання розмітки для GPT
Для копіювання розмітки GPT виконайте команду:
Зверніть увагу!
Першим пишеться диск, на який копіюється розмітка, а другим - з якого копіюють. Якщо переплутати їх місцями, то розмітка на спочатку справному диску буде знищена.
Присвойте диску новий випадковий UUID:
Копирование разметки для MBR
Для копирования разметки MBR виконайте команду:
Обратите внимание!
Здесь первым пишется диск, с которого переносим разметку, а вторым — на который переносим.
Якщо розділи не видно в системі, то можна перечитати таблицю розділів командою:
Встановлення завантажувача
Після розмітки диска потрібно встановити на нього завантажувач:
Додавання диска
Вказуємо який диск ми збираємося замінити (у нашому випадку це /dev/sdb3):
Додаємо диск у рейд:
Чекаємо на закінчення синхронізації масиву: