The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как востановить загрузку корневого раздела?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Загрузка / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Как востановить загрузку корневого раздела?"  +/
Сообщение от Kaylas email(ok) on 05-Окт-10, 15:50 
Пожалуйста подскажите как восстановить загрузку сервера?

загружаюсь с восстановочного диска и коневой раздел "ar0s2a" без проблем могу смонтировать в папку "/x" но просто в корень не получается.


Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как востановить загрузку корневого раздела?"  +/
Сообщение от PavelR (??) on 05-Окт-10, 16:29 
> Пожалуйста подскажите как восстановить загрузку сервера?
> загружаюсь с восстановочного диска и коневой раздел "ar0s2a" без проблем могу смонтировать
> в папку "/x" но просто в корень не получается.

Предполагаю, что Вам проще переустановить с нуля систему, потому что задаваемые вами вопросы и излагаемые мысли никак не могут помочь вам помочь в Вашей проблеме.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Как востановить загрузку корневого раздела?"  +/
Сообщение от Kaylas email(ok) on 05-Окт-10, 16:39 
> Предполагаю, что Вам проще переустановить с нуля систему, потому что задаваемые вами
> вопросы и излагаемые мысли никак не могут помочь вам помочь в
> Вашей проблеме.

Боюсь что не проще. Спрошу по другому. Как подмонтировать корневой раздел загрузившись с диска восстановления?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Как востановить загрузку корневого раздела?"  +2 +/
Сообщение от lavr email on 05-Окт-10, 17:13 
>> Предполагаю, что Вам проще переустановить с нуля систему, потому что задаваемые вами
>> вопросы и излагаемые мысли никак не могут помочь вам помочь в
>> Вашей проблеме.
> Боюсь что не проще. Спрошу по другому. Как подмонтировать корневой раздел загрузившись
> с диска восстановления?

как обычно:

# fsck_ffs -y /dev/устройство
# mkdir /tmp/root
# mount /dev/устройство /tmp/root
# chroot /tmp/root
# vi /etc/fstab (правим fstab на ar...)
# exit
# reboot

если нужно rebuild raid
и уж никак нельзя смонтировать /dev/устройство на / в работающей системе,
так как корень уже в наличии (судя по вашему посту, именно это вы и пытались изобразить)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Как востановить загрузку корневого раздела?"  +/
Сообщение от Kaylas email(ok) on 05-Окт-10, 17:47 
>[оверквотинг удален]
> # mkdir /tmp/root
> # mount /dev/устройство /tmp/root
> # chroot /tmp/root
> # vi /etc/fstab (правим fstab на ar...)
> # exit
> # reboot
> если нужно rebuild raid
> и уж никак нельзя смонтировать /dev/устройство на / в работающей системе,
> так как корень уже в наличии (судя по вашему посту, именно это
> вы и пытались изобразить)

После команды # chroot /tmp/root незапускается vi что делать???

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Как востановить загрузку корневого раздела?"  +1 +/
Сообщение от lavr email on 05-Окт-10, 18:18 
>[оверквотинг удален]
>> # mount /dev/устройство /tmp/root
>> # chroot /tmp/root
>> # vi /etc/fstab (правим fstab на ar...)
>> # exit
>> # reboot
>> если нужно rebuild raid
>> и уж никак нельзя смонтировать /dev/устройство на / в работающей системе,
>> так как корень уже в наличии (судя по вашему посту, именно это
>> вы и пытались изобразить)
> После команды # chroot /tmp/root незапускается vi что делать???

а самостоятельно подумать?

/usr разумеется не найден!

после того как выполнен fsck для "/" и корень смонтирован:
# fsck_ffs -y /dev/устройство_usr
# mount /dev/устройство_usr /tmp/root/usr

после этого уже можно chroot, в остальном выставить PATH, возможно ldconfig запустить...

Важное: очень рекомендую сделать образ одного из дисков RAID массива (тот который
у вас прошел fsck), убьете массив, потом будете форум обвинять.

ps. Вам и не нужно собственно chroot выполнять, если вы fstab не меняли с ar на ad,
просто грузиться ровно так же как при рабочем RAID'е (без всяких CD), зайти
в single-user mode, подгрузить необходимые ядерные модули, затем посмотреть статус
raid'а, затем rebuild если нужно и тд и тп.

pps. Есть другой вариант, поправить /etc/fstab - заменив в нем ar на проверенный adX,
загрузиться, создать по новой RAID, снова поправить fstab на ar, перегрузиться и
ВСЕ.
Установите VirtualBox на своем Desktop'е, затем установите на нем FreeBSD нужного
релиза и попробуйте поиграть с RAID, все станет понятно

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Как востановить загрузку корневого раздела?"  +1 +/
Сообщение от Kaylas email(ok) on 05-Окт-10, 19:41 
> ps. Вам и не нужно собственно chroot выполнять, если вы fstab не
> меняли с ar на ad,
> просто грузиться ровно так же как при рабочем RAID'е (без всяких CD),
> зайти
> в single-user mode, подгрузить необходимые ядерные модули, затем посмотреть статус
> raid'а, затем rebuild если нужно и тд и тп.

Просто грузится ровно так же как при рабочем RAID'е не получается все останавливается  

trying to mount root from ufs: /dev/ar0s2a
Enter full pathname of shell or RETURN for /bin/sh:

Нажимаю Enter

ELF interpreter /libexec/ld-elf.so.1 not found
init: single user shell terminated, restarting
И так постоянно
Никаких команд никаких команд больше не принимает

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Как востановить загрузку корневого раздела?"  +/
Сообщение от lavr email on 06-Окт-10, 12:46 
>[оверквотинг удален]
>> raid'а, затем rebuild если нужно и тд и тп.
> Просто грузится ровно так же как при рабочем RAID'е не получается все
> останавливается
> trying to mount root from ufs: /dev/ar0s2a
> Enter full pathname of shell or RETURN for /bin/sh:
> Нажимаю Enter
> ELF interpreter /libexec/ld-elf.so.1 not found
> init: single user shell terminated, restarting
> И так постоянно
> Никаких команд никаких команд больше не принимает

это уже печально?

релиз FreeBSD - под которым система на RAID'е работала?

Далее:
- загружаетесь с LiveCD, хоть от FreeBSD, хоть Frenzy
- fsck_ffs -y на то что у вас в /etc/fstab
- монтируете корень как я описывал, можно без всяких chroot
- после того как смонтировали:
# ls -la /tmp/root
# ls -la /tmp/root/lib
# ls -la /tmp/root/libexec

теперь чтобы вам было понятно, псевдо-рейды или недо-рейды или полу-hardware рейды
0,1 можно создавать из BIOS: целевой диск -> зеркало, можно прямо из FreeBSD через
atacontrol.
Недорейды - это программные рейды, в BIOS создаются метаданные которые должен
понять драйвер FreeBSD, читаем man ataraid:

     The ataraid driver can read the following metadata formats:

     o   Adaptec HostRAID
     o   Highpoint V2 RocketRAID
     o   Highpoint V3 RocketRAID
     o   Intel MatrixRAID
     o   Integrated Technology Express (ITE)
     o   JMicron
     o   LSI Logic V2 MegaRAID
     o   LSI Logic V3 MegaRAID
     o   NVIDIA MediaShield
     o   Promise FastTrak
     o   Silicon Image Medley
     o   Silicon Integrated Systems (SiS)
     o   VIA Tech V-RAID
     o   FreeBSD PseudoRAID

     The ataraid driver can write the following metadata formats:

     o   Highpoint V2 RocketRAID
     o   Intel MatrixRAID
     o   JMicron
     o   Promise FastTrak
     o   Silicon Integrated Systems (SiS)
     o   VIA Tech V-RAID
     o   FreeBSD PseudoRAID

из вышеизложенного следует что в отношении верхней группы контроллеров, драйвер
может только читать метаданные созданные через BIOS "рейда", в отношении нижней
группы контроллеров, драйвер может еще и писать метаданные, что означает что
мы можем прямо из системы управлять рейдом посредством команды atacontrol.

Итого для псевдо-рейдов:
- raid1 можно создать через BIOS
- raid1 можно создать прямо из работающей OS FreeBSD: atacontrol

управлять raid1 из работающей FreeBSD, используя atacontrol, мы можем только
нижней (2ой) группой контроллеров. Для первой: будь то создание рейда или ребилд,
только из BIOS псевдо-рейда.

Что вы можете сделать (допустим у вас в рейде два диска ad2 и ad4):
- в бывшей рабочей системе у вас в /etc/fstab -> /dev/arXsY[a-h]
ar - рейд (ad2 + ad4)
- для проверки, вместо ar, мы можем оперировать с каждым из дисков рейда после
загрузки с LiveCD или Frenzy:
вместо всех устройств в /etc/fstab -> arXsY[a-h] мы можем для проверки использовать
аналогичные ad2sY[a-h] и ad4sY[a-h], то есть если у нас, например, ar0s1a - корень,
то он же должен быть на ad2s1a и копия ad4s1a.
Если у нас зеркало развалилось, нужно выбрать самый свежий или целый из двух
дисков ad2 и ad4, предварительно их проверив:
# fsck_ffs -y /dev/ad2s1a
# fsck_ffs -y /dev/ad4s1a
верхнее для корня, тоже самое и для остальных партиций проделать, допустим что
у нас /usr == /dev/ar0s1e, значит на ad2 и ad4 она будет: ad2s1e и ad4s1e:

# fsck_ffs -y /dev/ad2s1e
# fsck_ffs -y /dev/ad4s1e

далее вы можете смонтировать ВСЕ и получить две копии для сравнения:

для первого диска:

# mkdir /tmp/root1
# mount /dev/ad2s1a /tmp/root1
# ls -la /tmp/root1 (все точки монтирования для остальных FS у нас внутри /tmp/root1)
# mount /dev/ad2s1e /tmp/root1/usr
и тд и тп

аналогично для второго:

# mkdir /tmp/root2
# mount /dev/ad4s1a /tmp/root2
# ls -la /tmp/root2 (все точки монтирования для остальных FS у нас внутри /tmp/root2)
# mount /dev/ad4s1e /tmp/root2/usr
и тд и тп

теперь проверяйте что у вас есть на ваших FS, бы потерян run-time link editor:

на первом диске:
# ls -la /tmp/root1/libexec/ld-elf.so.1
на втором:
# ls -la /tmp/root2/libexec/ld-elf.so.1

и тд.
После этого вам нужно выбрать и оперировать с наиболее полным диском, можно дополнить
FS на нем недостающими данными с другого, но после следующей операции:

- мы проверили FS на обоих дисках: fsck, смонтировали, посмотрели наличие данных,
для себя определили какой будем использовать в качестве основного, теперь еще
одна проверка:

- делаем копию оригинального fstab -> /tmp/root1/etc/fstab (на ad2)
# cp /tmp/root1/etc/fstab /tmp/root1/etc/fstab.raid
# редактор /tmp/root1/etc/fstab
меняем все ar0 на ad2 (вы с учетом ваших цифр)

- теперь все что смонтировали руками, лучше размонтировать
- перегружаемся
- вытаскиваем CD
- заходим в BIOS и задаем загрузку с ad2
- грузимся и смотрим результат, если все ok, то можно заново создать рейд:
1) через atacontrol - удобней
2) через BIOS
где ad2 будет основной диск, а ad4 зеркало
- если проблема с загрузкой с ad2, то снова fsck, монтируем уже корень с ad4 и
меняем в нем ar0 на ad4, перегружаемся, в bios, загрузка с ad4 и снова все
верхнее.

Все понятно? Если нет: lavr@unix1.jinr.ru

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Как востановить загрузку корневого раздела?"  +/
Сообщение от Kaylas email(ok) on 06-Окт-10, 18:48 
> Все понятно? Если нет: lavr@unix1.jinr.ru

За развернутый ответ отдельное большое СПАСИБО. Все понятно все сделал. Не с одного из HDD загрузится не удалось :((( . Даже библиотеки скачал с офсайта и по подставлял думал побились, и все равно ничего не запускается.

Теперь никогда корень на рейд ставить не буду и куплю 10 бесперебойников.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Как востановить загрузку корневого раздела?"  +/
Сообщение от lavr email on 07-Окт-10, 09:48 
>> Все понятно? Если нет: lavr@unix1.jinr.ru
> За развернутый ответ отдельное большое СПАСИБО. Все понятно все сделал. Не с
> одного из HDD загрузится не удалось :((( . Даже библиотеки скачал
> с офсайта и по подставлял думал побились, и все равно ничего
> не запускается.

почему не удалось загрузиться?!
если эту проблему решить на любом из дисков, восстановить или правильней
сказать заново построить зеркало НЕ ПРОБЛЕМА

> Теперь никогда корень на рейд ставить не буду и куплю 10 бесперебойников.

мир как всегда делится надвое:

- корень (+система) на отдельном диске (я предпочитаю это)
- корень+система на зеркале

везде есть свои ньюансы, если к ним готов, проблем обычно не бывает

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Как востановить загрузку корневого раздела?"  +/
Сообщение от Kaylas email(ok) on 08-Окт-10, 21:31 
> почему не удалось загрузиться?!
> если эту проблему решить на любом из дисков, восстановить или правильней
> сказать заново построить зеркало НЕ ПРОБЛЕМА

Почему не удалось загрузится не знаю но не один из дисков по отдельности не стартовал.
Пока рейда не было fsck помогал 100%, а тут первый сбой питания и все накрылось.

Читал Твои статьи по геометрии диска но сделать геометрию которую хочет FreeBSD не удалось. :(

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Как востановить загрузку корневого раздела?"  +1 +/
Сообщение от Kaylas email(ok) on 05-Окт-10, 18:49 
>[оверквотинг удален]
> # mkdir /tmp/root
> # mount /dev/устройство /tmp/root
> # chroot /tmp/root
> # vi /etc/fstab (правим fstab на ar...)
> # exit
> # reboot
> если нужно rebuild raid
> и уж никак нельзя смонтировать /dev/устройство на / в работающей системе,
> так как корень уже в наличии (судя по вашему посту, именно это
> вы и пытались изобразить)

Вобщем все сделал как тут написано по пунктам даже vi удалось запустить но только в файле /etc/fstab написано все правильно без ошибок вообщем править нечего.

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ar0s1b             none            swap    sw              0       0
/dev/ar0s2a             /               ufs     rw              1       1
/dev/ar0s2f             /usr            ufs     rw              2       2
/dev/ar0s2e             /var            ufs     rw              2       2
/dev/ar0s2d             /var/tmp        ufs     rw              2       2
/dev/acd0               /cdrom          cd9660  ro,noauto       0       0

Но загрузка не идет. Что делает команда rebuild raid? даже незнаю нужнали она мне ведь рейд я создавал в биосе а не програмно.

lavr Вы единственный на несколько форумов человек который хоть что то понимает в freebsd пожалуйста помогите что можно сделать еще? а то на других форумах меня спрашивают "незабыл ли я вытащить загрузочный диск френзи".

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Как востановить загрузку корневого раздела?"  +/
Сообщение от Kaylas email(ok) on 06-Окт-10, 01:48 
Загрузился в одно пользовательский режим
сделал /rescue/tcsh
сделал /rescue/fsck
сделал /rescue/mount -o rw /
смонтировал все оставшиеся разделы /rescue/mount -a

что делать дальше то подскажите?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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