Уже
писал, что FreeNAS не любит резкого отключения питания. По этой причине сразу прикрутил UPS. Вот и на
заборе lurkmore.ru пишут "
Родная файловая система не самая устойчивая и люто не любит внезапного отключения питания".
Превентивно разберёмся слегка, что можно будет предпринять.
Проверка ФС в случае сбоя (система не грузится)
1. Загрузится в
single user mode.
2. Монтируемся
mount -a -f -w (
man mount)
3.
# fsck -y
Чем мы оперируем?
FSCK -
man команда UNIX, позволяющая проверять файловые системы и исправлять в них ошибки. Параметром может служить имя устройства /dev или точка монтирования /mnt... Причём список для проверки по умолчанию хранится в /etc/fstab. Почти всегда при ликвидации повреждений файловой системы происходит частичная потеря информации.
Ключи:
-f Force
-y Yes
Но мы то с вами знаем, что прежде чем проверять имеет смысл сохранить образ.
Создание полной копии раздела
# cd / (заходим в тот каталог, который хотим скопировать)
# pax -p eme -X -rw . /mnt в
/mnt предварительно подмонтировать тот накопитель, на который будем копировать файлы, вот например
здесь я монтировал флешку.
PAX -
man команда для чтения и записи архивов, а так же для копирования директорий с сохранением иерархии в них.
Прочее
Могут также пригодится Win-утилиты, например, если винт придётся перенести на другую машину.
Raise Data Recovery -
заявлена, как программа для восстановления данных, в том числе с UFS/UFS2. Но, сабака, платная.
Вот специальная версия 4.6.2 именно для UFS, без лицензии. Пароль на архив: "rdrufs".
Но есть и бесплатная для СССР версия
R.saver 1.0 - программа для восстановления данных. В ней заявлен доступ к
UFS Read Only. Почитать подробней и вообще как пользоваться можно
здесь.
Скачать или с моих гугл-документов
скачать.
ufs2tools - UFS for Windows.
Домашняя страница -
home, качаем
архив.
Ну, собственно, восстанавливать валидные файлы умеет и привычная мне
R-Studio -
оф. сайт, или скачать с моих гугл-документов
архив ("rstd").
Update: 04.10.2011
О практике использования эхтого самого прочего
Грянул гром, упала UFS
А теперь Авторитетно
Основы технологии резервного копирования - из этой статьи почерпну основное:
Элизабет сказала, что лучшая программа для резервного копирования - DUMP. Остановимся на программе
dump, она работает с приводом как с набором дисковых блоков, которые расположены ниже понятий файлов, связей и каталогов, создаваемых файловыми системами. В отличие от других программ для резервного копирования, программа
dump выполняет резервное копирование всей файловой системы, располагающейся на устройстве. Утилита
dump не записывает на ленту файлы и каталоги, она записывает блоки данных, из которых строятся файлы и каталоги.
Замечание: Если вы используете программу dump для работы с корневым каталогом, при этом не будет выполняться резервное копирование /home, /usr и многих других каталогов, так как они обычно являются точками монтирования других файловых систем или символическими ссылками на эти файловые системы.
Использование dump через ssh
# /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz
Но к сбою надо подготовится.
1. Распечатайте разметку диска для всех ваших дисков (к примеру,
bsdlabel da0 | lpr), таблицу файловых систем (
/etc/fstab) и все сообщения, выводимые при загрузке, каждого по два экземпляра.
2. Запишите CD диск с ''livefs''. Этот диск позволяет загружаться в режим аварийного восстановления FreeBSD.
Образ CD с ''livefs'' для FreeBSD/i386 8.2-RELEASE
3. Регулярно создавайте резервные копии
4. Проверяйте работу CD диска (который вы сделали при выполнении второго шага) и накопителей с резервными копиями. Ведите журнал выполняемых действий.
После сбоя
а в нём выберите пункт
.
Утилита
restore и другие нужные вам программы находятся в каталоге
/mnt2/rescue.
И бла-бла-бла читаем в
Основы технологии резервного копирования.
PS
Ну и нельзя не упомянуть
fsbackup – небольшая бесплатная утилита для создания резервных копий, представляет собой набор скриптов, позволяющих без усилий получить заархивированную копию необходимых файлов. Помимо файлов, fsbackup поддерживает бэкап баз данных MySQL, PostgreSQL и SQLite. Есть возможность шифрования создаваемых архивов программой gpg. Языки, на которых она написана (perl и sh), позволяют без изменений переносить эту программу между платформами, все необходимые для работы fsbackup библиотеки поставляются в одном архиве со скриптами.
Для создания архивов используются средства системы, а результат сохраняется в формате .tar.gz, что дает возможность впоследствии восстановить данные, не прибегая к помощи сторонних программ, пользуясь штатными средствами операционной системы.
Вот человек рассказывает, как обращаться с этим скриптом -
FreeBSD. Резервирование данных при помощи fsbackup
или более основательно на
opennet.ru -
FSBACKUP - система инкрементального резервного копирования и синхронизации ФС
Update 06.06.2011
Копирование посекторно данных с битого диска источник dd if=/dev/ad4 of=/dev/ad5 bs=512 conv=noerror,sync
/dev/ad4 - битый винчестер
/dev/ad5 - целый винчестер
Все данные попадающие на битые сектора будут пропускаться, в выходном буфере они будут заменены на Null
После копирования данных можно делать fsck