- kreknin Xpenology degraded after compressor dusting (sdb cable lost, md3 degraded, sda/sdc flaky cables) - sdd/VM-volume (md2, /volume2) restored: DSM Repair + "Convert to read/write", scrub 0 errors - full rescue 2026-08-02 → USB 2TB btrfs /mnt/rescue (netbackup/*.tar incl. diskstation_1.hbk 430G + 5 user shares) - daily backups DISABLED (vds-kzntsv 05:00 + books-vds 06:00) — re-enable after repair - wiki entity kreknin-synology: disk inventory, incident, repair, rescue, plan - task kreknin-repair-md3-rebuild created (power-off → reseat cables → Repair md3 → re-enable backups) Co-Authored-By: Claude <noreply@anthropic.com>
5.8 KiB
5.8 KiB
kreknin-repair-md3-rebuild
Goal
Восстановить kreknin-synology md3 raid5 (data /volume1) до полной избыточности после продувки компрессором 2026-07-31. sdb (WD-WX32D12L8HTE) не определяется → переподключить/заменить → ребилд md3. Заодно починить кабели sda (1.5 Gbps / 213 CRC) и sdc, и вернуть ежедневные бэкапы (сейчас DISABLED).
Context
- Инцидент 2026-07-31: Алексей продул NAS пром-компрессором → срыв SATA-кабелей. sdb выпал (md3
[_UU]degraded), sdd (VMM SSD) выкинут DSM из md2 (восстановлен в тот же день: Repair пула + «Преобразовать в чтение/запись» →/volume2rw, scrub 53GiB 0 ошибок), sda кабель (213 CRC, линк 6→1.5 Gbps), sdc bursts при трясе кабелей (без тряса стабилен). - Rescue 2026-07-31→08-02: полный слив в
/mnt/rescue(USB 2TB btrfs):netbackup/*.tar(diskstation_1.hbk 430G, windows-host 160G, vds-kzntsv 84G, ruvds-iis 62G, books-vds 24G, openwrt 20K) +userdata/*.tar(docker 130G, homes 118G, work 32G, downloads 25G, documents 5.9G). Итого 1.1TB / 726G free. Данные в безопасности → риск power-off приемлем. - Бэкапы ЗАГЛУШЕНЫ (не нагружать больной массив): vds-kzntsv
/etc/cron.d/vds-backup(05:00), books-vds/etc/cron.d/books-vds-backup(06:00) — строки закомментированы (#DISABLED-kreknin-sick), бэкап-файлы.bak.20260731сохранены.
Open questions
- Координация power-off с Алексеем (физическая работа на месте).
- Свежие SATA-кабели наготове?
- sdb реально мёртв или просто отвал кабеля? (решится после перетыка)
- 4TB замена, если sdb дохлый.
Steps
- Подготовка (до power-off)
- Rescue полный и
.tarна месте (проверено: 11 файлов, 1.1TB, все rc=0 кроме docker rc=1 = норма для живых данных) - Бэкапы DISABLED (проверено: оба cron закомментированы)
- Rescue полный и
- Power-off — плановый, с Алексеем. Graceful shutdown DSM (
synopoweroff/ DSM Shutdown), не грубое выдёргивание. - Переподключение кабелей (Алексей физически)
- sda (ata1): свежий SATA data + питание
- sdc (ata3): свежий SATA data + питание
- sdb: питание + SATA
- sdd (ata4): проверить контакт (уже восстановлен, перетык не помешает)
- Power-on + верификация
- все в
/dev/sd?: sda sdc sdd (и sdb если ожил) - SMART каждого: CRC/pending/reallocated
- sda линк 6.0 Gbps (не 1.5), CRC не растёт
mdstat: md0/1/2 healthy, md3 всё ещё[_UU](sdb ещё не в массиве — норм)/volume1rw,/volume2rw
- все в
- sdb recovery
- sdb определился + SMART ок → DSM Storage Manager → Repair md3 (выбрать sdb) → ребилд
- sdb не определился/дохлый → 4TB замена → Repair md3
- Мониторинг ребилда
/proc/mdstatresync %, скорость, ETA- sda/sdc НЕ дают новых ошибок во время ребилда (кабель-фикс должен удержать)
- не выключать и не трогать кабели до завершения
- Пост-ремонт
- md3
[UUU]clean btrfs scrub /volume1(верификация целостности после долгого degraded-периода)- VMM виртуалки (sdd) работают,
/volume2rw
- md3
- Вернуть бэкапы
- vds-kzntsv: раскомментировать
/etc/cron.d/vds-backup - books-vds: раскомментировать
/etc/cron.d/books-vds-backup - ручной прогон каждого rsync → green (email/ntfy)
- снять
.bak.20260731после успешного прогона
- vds-kzntsv: раскомментировать
- Hygiene
- Rescue-диск
/mnt/rescue: решить судьбу (оставить/отключить, содержимое = доп. копия) - обновить вики/память статусом после ремонта
- Rescue-диск
Verification
cat /proc/mdstat→ md3[UUU]active clean, resync не бежитsmartctl -d ata -A /dev/sda→ CRC199стабилен (не растёт), линк 6.0 Gbpsbtrfs scrub /volume1→ 0 errors/volume1/NetBackup/vds-kzntsv/latestсвежий (новый rsync-проход)- backup cron активен (оба раскомментированы), один реальный прогон green
Notes
- Порядок критичен: кабели зафиксировать и проверить ДО запуска ребилда md3 (rebuild — самый стрессовый момент для массива).
- Урок сессии: GNU tar на DSM =
--numeric-owner, НЕ--numeric-ids(это bsdtar). - Урок сессии: DSM «Преобразовать в чтение/запись» снимает ro-состояние btrfs после transient EIO (sdd case) — без mdadm-ручнины.
- Rescue-содержимое и диск-раскладка:
.wiki/entities/kreknin-synology.md§ «Диски», «Rescue», «План ремонта».