The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"hdd(bsd)"
Отправлено lavr, 06-Май-06 17:28 
>
>>дык я все объяснил:
>>
>>1. Про adXa,c,...,h - dangerous dedicated (если не понятно -> handbook)
>>2. Чтобы ЧТО-ТО делать с дисками, нужно
>>
>>- обдумать КАК не НАЛОМАТЬ ДРОВ (вероятно сделать КОПИЮ диска dd образ:
>>
>>
>># dd if=диск of=[другой диск или образ на другой диск] conv=noerror,sync
>>(conv=noerror,sync - использовать если на диске есть плохие блоки)
>>
>>- четко определить с КАКОЙ UFS мы имеем дело: UFS1 или UFS2
>>
>>
>>- теперь можно приступать к "аварийным" работам
>>
>>ps. так как верхнее мне неизвестно, то и совет не могу дать,
>>для UFS1 он один, для
>>UFS2 другой (для UFS2 я собственно расписал подход)
>1. У меня стоит freebsd5.4 c ufs2(ставилось по умолчанию) Востонавливаю диск Freebsd3.2
>c ufs1 (1999 до 2003 был ufs2 небыло)
>2. dd if=диск of= сделал
>3. Вот что я нашёл по dangerous dedicated (http://www.ru.freebsd.org/doc/ru_RU.KOI8-R/books/faq/disks.html)Саветуешь заново разбить диск?
>

нет, не советую, зачем? Первое правило опытного системщика - "работет? работает. ну тады
не трожь!"

>Если не трудно поделись опытом (теперь можно приступать к "аварийным" работам ).
>

не трудно, можно найти поиском по форуму здесь и http://forum.sysadmins.ru/ (там два
форума по unix)

диск с системой 3.2-release - вот это уже информация.

Допустим копия диска сделана, по идее дальше лучше работать с копией и использовать
testdisk из портов.

Что я бы сделал, на той машине где freebsd3.2 - попробовал бы загрузиться в
single-user mode (boot -s) и попробовал бы там посмотреть /etc/fstab - это если
удалось загрузиться.

Если удалось загрузиться и посмотреть fstab - записать его.
Опять же если удалось загрузиться в single, то прям там попробовать fsck -y на устройства
из /etc/fstab. Если все OK, FS - прочистились, если нет и ругается на Суперблок -
дело плохо. Но в принципе поправимо при условии что ПЕРВЫЙ альтернативный суперблок
ЦЕЛ (не убит и не потерян)

Суть в том что fsck с опцией -b в releases 2.x/3.x/4.x - берет информацию из указанного
альтернативного суперблока и чекает FS и приводит ее в порядок, НО НЕ восстанавливает
ОСНОВНОЙ суперблок как в 5.3/4 и в 6.0!!!
Соответственно скопировать альтернативный суперблок на место ОСНОВНОГО можно либо:

1. прямым копированием dd
2. либо использовать fsck от 6.x (вот это я как-то не пробовал)

1. прямое копирование ПЕРВОГО альтернативного суперблока UFS1 (-b 32) dd:
# dd if=/dev/adXsYc skip=32 of=/dev/adXsYc seek=16 bs=512 count=16

где X=номер диска, Y=номер слайса, в случае dangerous-dedicate - слайсов понятное
дело не будет, пример:
# dd if=/dev/ad2s1c skip=32 of=/dev/ad2s1c seek=16 bs=512 count=16

комментарий, adXs1c - "с" партиция описывает ВЕСЬ диск (это когда в single-user mode
не удалось загрузиться), для dang-ded:

# dd if=/dev/ad0c skip=32 of=/dev/ad0c seek=16 bs=512 count=16

первый пример, ad2s1c - диск ad2, ad2s1 - первый слайс, ad2s1c - партиция "c", которая
не используется системой, но как описывалось выше, если в singe-user mode ничего сделать
нельзя, то можно воспользоваться этой партицией.

Но если в single-user mode удалось загрузиться, и удалось смонтировать adXsYa или
adXa и прочитать fstab то для каждой FS в dd лучше использовать устройство(партицию)
из fstab.

2. Подключаем диск к 6.0 например и сперва пробуем fdsik'ом посмотреть ПРОБЛЕМНЫЙ диск,
если на нем есть слайс/ы freebsd - очень хорошо, если нет - поможет testdisk, хотя как
я уже говорил, лучше testdisk прогонять на созданном образе и после того как
с его помощью восстановили ТАБЛИЦУ ПАРТИЦИЙ (про это я не писал выше, подразумевал
что она ЖИВА), после чего можно посмотреть снова fdisk и убедиться что таблица
восстановлена и есть слайс/ы freebsd.
Если с fdisk'ом разобрались, дальше смотреть disklabel и убедиться что ПАРТИЦИИ
freebsd живы, после чего можно воспользоваться fsck от 6.x с опцией -b
Для UFS1 это будет:

# fsck -b 32 /dev/лала

Вот таким макаром, изложено сразу в вариациях-комбинациях и подход, реально это
НЕ ЕСТЬ ЖЕСТКИЙ АЛГОРИТМ, только подход и в какой последовательности действовать

Чтобы никто не путался: ВЕРХНЕЕ ОТНОСИТСЯ СТРОГО к UFS1 и ни в коем случае НЕПРИЕМЛЕМО
для UFS2, в плане расположения ПЕРВОГО альтернативного блока UFS1 - 32.
Для UFS2 он 160.

Хуже если первый альтернативный блок тоже битый, нужно искать следующий, в случае если
newfs выполнялась со СТАНДАРТНЫМИ значениями, можно воспользоваться newfs -N чтобы
посмотреть список ВСЕХ альтернативных суперблоков. Если newfs были указаны СВОИ
параметры blocksize, изменен процент резервирования и они забыты - дело дрянь.

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру