Спасение данных с умирающего диска
Не далее, чем вчера пришлось заниматься вытаскиванием данных с диска, по которому строевым шагом пошли бедблоки. Методика некоторое время обдумывалась, потом была приведена в исполнение. Логика проста: ставим в сервер рядом с проблемным диском такой же по размеру (в моем случае это были Seagate и WD, так что производитель не суть важен, хотя новый честно подбирал похожий по параметрам) и вместо конвульсий в виде dd и прочего копирования пробуем по-тихому отзеркалить все на новый диск. Итак, приступим:
# echo 'geom_mirror_load=YES' >> /boot/loader.conf # sysctl kern.geom.debugflags=16
Здесь мы включили модуль geom_mirror при загрузке системы и режим отладки, при котором возможно создание программного зеркала. Создаем массив и запихиваем туда проблемный диск:
# gmirror label -v -b round-robin gm0 /dev/ad4 Metadata value stored on /dev/ad4. Done.
Далее надо поправить /etc/fstab, заменив подстроку /dev/ad4 на /dev/mirror/gm0. В итоге вместо записей вида
/dev/ad4s1a / ufs rw 1 1
получится
/dev/mirror/gm0s1a / ufs rw 1 1
Перезагружаемся в single user mode (Это важный момент, его нет в статьях по настройке gmirror — обычно все отрабатывает нормально и без него. Но в случае с проблемным диском он может и не отзеркалиться.) Далее:
# gmirror insert gm0 /dev/ad7
После чего команда gmirror status некоторое время будет показывать приблизительно следующее:
Name Status Components mirror/gm0 DEGRADED ad4 ad7 (1%)
Что будет означать, что идет процесс перестройки зеркала. после того, как DEGRADED сменится на COMPLETE, можно тушить сервер и заменять проблемный диск новым. После чего загружаемся и разбираем зеркало. Сначала попросим gmirror забыть о лишнем диске ad7 (теперь он стал ad4):
# gmirror forget gm0
Теперь gmirror status покажет такое:
Name Status Components mirror/gm0 COMPLETE ad4
После чего опять правим /etc/fstab, меняем /dev/mirror/gm0 назад на /dev/ad4 и просим gmirror вытащить из массива последний диск:
# gmirror remove gm0 /dev/ad4
Машина самостоятельно уходит в перезагрузку, по окончании которой зеркала нет, новый диск называется точно так, как старый и данные на нем остались те, что надо.
7 thoughts on “Спасение данных с умирающего диска”
Можно ещё было перелить данные с помощью утлтты tar (также желательно в single user mode). Недостаток подобного метода — пришлось бы готовить диск (разбивка, создание ФС и т.д.), достоинство — скорость (если сравнивать с зеркалированием).
Ещё одно моаленькое «но»: описаный в статье метод может быть неприменим в том случае, когда используется GPT, т.к. подсистема GEOM пишет метаданные в конец раздела (в данном случае — диска), где располагается резервная копия таблицы разделов GPT.
Somebody essentially lend a hand to make critically articles I might state. That is the very first time I frequented your website page and up to now? I surprised with the research you made to create this particular submit extraordinary. Magnificent activity!
That is really fascinating, You are a very skilled blogger. I’ve joined your rss feed and stay up for seeking extra of your excellent post. Additionally, I have shared your website in my social networks
=
Hi, i think i saw you visited my weblog thus i came to return the favor.I am attempting to find items to enhance my website!I suppose its ok to work with
a few of your opinions!!
Medicament information leaflet. Short-Term Effects. cost cheap prednisone no prescription All information about medication. Read now.
Pills information for patients. Brand names. buying lyrica without prescription Actual trends of meds. Read information here.