Короткий ответ
Безопасная замена — это процедура, не «hot-swap как в ролике». Порядок: (1) backup/реплика подтверждены, (2) зафиксирован состав degraded, (3) слот и SN через locate, (4) извлечение одного диска, (5) вставка совместимого в тот же bay, (6) контроль rebuild/resilver до конца, (7) SMART нового и status Optimal/ONLINE. Hardware RAID и ZFS — разные команды, не смешивать.
Симптомы и как отличить
Эта статья — как делать, когда уже решили менять. Если не видно слота — сначала контроллер не видит. Если rebuild не стартует — foreign. Если это SMART-предупреждение без Failed — всё равно эта процедура, только диск ещё Onln: некоторые контроллеры умеют copyback/predictive replace.
ZFS vs MegaRAID: ОС видит много дисков (HBA) или один vd0.
Возможные причины
- Failed / FAULTED.
- SMART Pending, планируете до отказа.
- Износ SSD.
- Диск «выпал» и не возвращается после кабеля.
- Расширение ёмкости replace-на-больший (отдельный план expand).
Причины не отменяют backup.
Диагностика
1. Тип стека
storcli /c0/vall show
zpool status tank
lsblkОдин из двух: либо VD vd0, либо vdev tank. Оба сразу — вы, скорее всего, ошиблись архитектурой.
2. Карта слотов MegaRAID
storcli /c0/eall/sall show
storcli /c0/e252/s3 start locateФото SN. HPE: ssacli + led=on на 1I:1:3.
3. Карта ZFS
zpool status tank
ls -l /dev/disk/by-id/ | grep wwnЗапишите OLD by-id и GUID. Физический слот: TrueNAS UI / sas3ircu locate если HBA умеет, иначе бирка.
4. Backup
Проверьте последнюю успешную копию не на этом же массиве. Restore test не обязателен в аварии Failed, но путь к копии — да.
5. Совместимость нового диска
Не меньше объёма, тот же интерфейс (SAS/SATA/NVMe), желательно 512e как соседи, enterprise если был enterprise.
Решение
Шаг 0. Окно и нагрузка
Снизьте backup job, SQL batch. RAID 6/RAIDZ2 терпит, RAID 5/RAIDZ1 — минимальная нагрузка.
Шаг 1. Hardware RAID hot-swap
- Locate + SN.
- Извлеките Failed, не Onln.
- Вставьте новый до защёлки в тот же слот.
storcli /c0/eall/sall show— не Foreign? Если Foreign — не import, см. статью rebuild.- Дождитесь Rbld:
storcli /c0/v0 show rebuildstop locate.
HPE: тот же смысл, статус Recovering.
Если не hot-swap шасси: shutdown по процедуре, те же locate/SN, питание off, замена, boot, rebuild.
Шаг 2. ZFS replace (Ubuntu / TrueNAS)
Новый диск виден в by-id, ещё не в пуле.
zpool replace tank /dev/disk/by-id/wwn-OLD /dev/disk/by-id/wwn-NEW
zpool status tankЕсли OLD уже вынут, replace по GUID из status. TrueNAS: Storage → Disks → replace, выбор нового серийника.
Дождитесь resilver. Не reboot «ускорить». Не scrub параллельно.
Шаг 3. Если взяли не тот диск (авария)
Стоп. Не вставляйте второй наугад. Если VD ещё жив — верните родной Onln диск в его слот немедленно. Если Offline — backup, вендор, не create vd.
Шаг 4. Расширение на больший диск
После resilver/rebuild пул/VD может остаться старого размера, пока не заменены все члены и не сделан expand. Это не «сломалось». Не прерывайте, чтобы «создать RAID заново больше».
Чек-лист в заявку до работ: вывод vall show или zpool status -v, таблица SN всех членов, имя vd0 или tank, подтверждение backup не на этом массиве, кто стоит у шасси, locate выполнен, соседний Onln не трогаем. Без чек-листа даже опытные руки статистически берут не тот слот.
После rebuild или resilver не закрывайте тикет по проценту 100 без функционального теста: checkpoint SQL, запись файла на шару, status без FAULTED. Обновите CMDB. Старый диск — с пометкой Failed для RMA, не в холодный запас без бирки: его снова вставят.
Если замена плановая по Predictive, firmware диска берите с HCL, не с потребительской страницы. Смешение 4Kn и 512e в одном DG всплывает на шаге вставки, когда массив уже разобран руками.
Как проверить, что проблема устранена
RAID: vd0 Optl, все PD Onln, rebuild 100%, consistency check по политике позже. SMART нового чистый.
ZFS: zpool status ONLINE, scan resilver completed, 0 errors. Затем scrub в ближайшее окно, не в ту же минуту под нагрузкой, если I/O уже высокий.
Приложение пишет. Таблица SN в документации обновлена. Locate выключен. Foreign нет.
Если не помогло
- Rebuild 0%: foreign, размер, политика.
- Новый сразу Failed: слот/кабель, проверьте другим диском не из массива.
- ZFS cannot replace: NEW уже в пуле, занят, меньше ashift/размера.
- TrueNAS не даёт replace: диск не в UI — драйвер/кабель.
Профилактика
- Запасной диск на площадке.
- Бирки слотов + таблица EID:Slt ↔ WWN.
- Hot spare для hardware RAID.
- Мониторинг Failed/FAULTED в первую очередь, не «пользователи тормозя».
- Репетиция locate на стенде.
- Не RAID 5 на огромных HDD без запаса времени rebuild.
Практика locate: включили LED, подошли к шасси, прочитали SN вслух второму человеку, выключили LED, ещё раз сверили CLI. Два человека на RAID 5 в проде дешевле массива. Если второго нет — фото этикетки в тикет до извлечения.
Не заменяйте диск «тем, что нашёл в столе», без проверки объёма и 4Kn. Вставка меньшего или чужого сектора останавливает rebuild на UGood и возвращает вас к статье про foreign, уже с дыркой в массиве.
FAQ
Менять при Predictive, диск ещё Onln?
Да, планово, той же процедурой (часто copyback). Не ждать Failed в пятницу.
Нужен ли тот же firmware диска?
Желательно HCL. Смешение «какой купили» — риск UBad.
Можно ли менять два диска RAID 6 сразу?
Не делайте. По одному, до Optimal между ними, если нет документированного vendor dual-replace.
zpool offline перед выносом?
По инструкции топологии. На RAIDZ1 offline = один удар. TrueNAS UI обычно правильнее ручного offline+выдернуть.
Backup на том же tank?
Это не backup. Нужен другой носитель.