Вообщем покупка SSD на Aliexpress дала о себе знать. Только начал осваивать аддон ESPHome под HA, как полетело все и вся в один момент. Несмотря на то, я часто писал материал по резервному копированию системы умного дома различной методикой, у себя на практике не хватило времени все это применить на главном сервере с raspberry … точнее частично применено, только, остальное на авось полагалось. Сам виноват. 🙂 Быстренько закупил себе тестовый экземпляр Raspberry Pi4 2Gb + eMMC 16Gb, перенес все эксперименты на него. Продакшн сервер умного дома оставил в покое. 🙂
И так вкратце суть проблемы. Побиты superblocks на Linux. Вылетала постоянно ошибка :
dumpe2fs /dev/sdb | grep -i superblock dumpe2fs 1.44.5 (15-Dec-2018) dumpe2fs: Bad magic number in super-block while trying to open /dev/sdb Couldn't find valid filesystem superblock.
Система не монтируется ни под любым предлогом. Система содержит все битые резервные суперблоки. Список суперблоков внушающий
root@ihome:/etc/init.d# dumpe2fs /dev/sda2 | grep -i superblock dumpe2fs 1.44.5 (15-Dec-2018) Primary superblock at 0, Group descriptors at 1-4 Backup superblock at 32768, Group descriptors at 32769-32772 Backup superblock at 98304, Group descriptors at 98305-98308 Backup superblock at 163840, Group descriptors at 163841-163844 Backup superblock at 229376, Group descriptors at 229377-229380 Backup superblock at 294912, Group descriptors at 294913-294916 Backup superblock at 819200, Group descriptors at 819201-819204 Backup superblock at 884736, Group descriptors at 884737-884740 Backup superblock at 1605632, Group descriptors at 1605633-1605636 Backup superblock at 2654208, Group descriptors at 2654209-2654212 Backup superblock at 4096000, Group descriptors at 4096001-4096004 Backup superblock at 7962624, Group descriptors at 7962625-7962628 Backup superblock at 11239424, Group descriptors at 11239425-11239428
Никакие тесты поверхности диска в Linux не проходят до конца. Система загружается но докер контейнеры не поднимаются. Было затрачено время чтобы хоть что-то восстановить – но увы. Похоже на Bad blocks 🙂 Удалось выяснить по тестам сканированием поверхности диска Ext4
Ответ очевиден.
Для тех, кто попадал в такую но более мягкую ситуацию публикую методика восстановления.
Для начала нужно проверить файловую систему утилитой fsck
fsck.ext4 -v /dev/sda2
Для начала определим где расположены резервные копии суперблоков. Для этого выполняем
dumpe2fs /dev/sda2 | grep -i superblock или mke2fs -n /dev/sda2
Далее восстановливаем суперблок из бэкапа при помощи утилиты e2fsck
e2fsck -b 819200 /dev/sda2
819200 это резервный суперблок. Выбираем любой из списка. Как его узнать ? – смотрим выше.
Далее монтируем систему
mount -o -sb=819200 /dev/sda2 /mnt
Это все применило к установке Raspbian OS на Raspberry Pi3/4
К сожалению восстановить пока систему не предоставляется возможным. Пашет утилита RS Linux Recovery, но большие сомнения что результат будет успешным. Да и времени не хватает. Достал резервную SSD и накатил на нее систему по новой.
Для выполнения системы восстановления HomeAssistant Supervised рекомендуется также делать образ всей системы (с копированием суперблоков) утилитой dd, через простой bash скрипт и добавить его в crontab на выполнение раз в месяц. У себя я расширил функционал аддона Samba Backup, дописал новые сценарии автоматизации резервного копирования и пустил все в плавание
#!/bin/bash # backup SDD to synology # Clean old backups to /backup/RB4main/iso find /backup/RB4main/iso -name "*.iso" -mtime +90 -delete dd bs=4M if=/dev/sda of=/backup/RB4main/iso/rpi4main_backup-`date +%d%m%y`.iso
/etc/crontab
00 00 1 * * /etc/scripts/backup_rpi4main_sdd.ha
PS: я тут просмотрел несколько видосов у кулблогеров по умному дому … был удивлен как все четко у них настроена и работает резервная система … – блеф полный. Рассматривается только резервное копирование snapshots в HomeAssistant, не более. Что не является полноценной системой восстановления от всех рисков. В нашем случае двигаемся по двум путям : 1) деплоймент рабочей среды Raspbian OS 2) деплоймент HomeAssistant Supervised+snaphots (на этапе первого запуска из докера HA есть такая возможность не авторизоваться в HA, а сразу приступить восстановления, но восстанавливать систему полностью все равно уйдет еще несколько часов. Удачи! Делайте как можно чаще резервные копии. Описать весь процесс восстановления не предоставляется возможным, он очень долгий … и трудоемкий. Основные направления даны.
https://sprut.ai/client/article/2437