Home

Как прочекать диск удалённой системы

Иногда бывает после сбоя питания (UPS умер или ещё что) на диске UFS появляются ошибки и fsck не может их исправить.

Ехать к серверу неудобно или далеко.
Рук поблизости для входа в singlemode нет.

WARNING!!. На системе FreeBSD 10.3-STABLE (KMD) #0 r302767M и без gmirror последний пункт (reboot) выполнился без проблем и система поднялась
На системе 9.3-STABLE FreeBSD 9.3-STABLE #0 r292093 с gmirror последний пункт не выполнился, система зависла в panic и пришлось нажимать reset, в итоге при загрузке оно снова начало проверять диск.
Требуется проводить 
ещё тесты.

 

 1. В файле /etc/fstab прописываем флаг монтирования файловой системы в ro, вместо положенных rw

# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/mirror/gm0p2       /               ufs     ro      1       1
/dev/mirror/gm0p3       none            swap    sw      0       0
md              /tmp            mfs     rw,-s1024m      2       0
md              /var/tmp        mfs     rw,-s1024m      2       0

2. В файле /etc/rc.conf отключаем все значимые сервисы, типа mysql, apache.

#apache24_enable="YES"
#mysql_enable="YES"

3. Останавливаем все значимые сервисы. Не знаю, остановит ли система mysql и apache сама, если в rc.conf они не включены.

/usr/local/etc/rc.d/apache24 stop
/usr/local/etc/rc.d/mysql-server stop

4. reboot.

5. Запускаем fsck -y

6. Монтируем файловую систему на запись.

mount -w /

7. Редактируем обратно файл /etc/fstab 

# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/mirror/gm0p2       /               ufs     rw      1       1
/dev/mirror/gm0p3       none            swap    sw      0       0
md              /tmp            mfs     rw,-s1024m      2       0
md              /var/tmp        mfs     rw,-s1024m      2       0

8. Редактируем обратно /etc/rc.conf, включая все значимые сервисы, типа mysql, apache.

apache24_enable="YES"
mysql_enable="YES"

9. reboot.

PS. На системе FreeBSD 10.3-STABLE (KMD) #0 r302767M 9ый пункт выполнился без проблем, система перезагрузилась и вернулась в онлайн.
На системе 9.3-STABLE FreeBSD 9.3-STABLE #0 r292093 случился panic и пришлось делать reset, после чего проверка диска пошла по новой.