On 11/26/13 14:07, Eugene Grosbein wrote:
On 26.11.2013 18:28, Sergey Kobzar wrote:
Приветствую
FreeBSD 7.2-RELEASE-p2
Есть софтовое зеркало:
Name Status Components
mirror/gm0 COMPLETE da0
ad0
da0 - SCSI
ad0 - SATA
Ядро загружается с da0. Необходимо заменить da0 на SATA. Измениться имя
устройства.
Как сказать лоадеру, с какого устройства грузиться и где находится
рутовая ФС?
Сервер удаленный поэтому права на ошибку нет :).
Спасибо.
С da0 загрузку начинает не ядро, а BIOS,
и грузит оно не ядро, а начальный загрузчик boot0,
который в случае MBR/UFS с того же устройства грузит boot2,
который грузит loader, который с него же грузит ядро - всё это грузится,
используя сервисы BIOS, ни о каком зеркале на этом этапе речи нет.
loader содержит в себе небольшую r/o реализацию UFS, которая
умеет разобрать файловую систему загрузочного раздела загрузочного
диска и прочитать оттуда ядро и модули. По умолчанию этим диском
является тот диск, с которого BIOS читала загрузчик.
Ещё loader читает /etc/fstab с этого же раздела и выясняет
из него имя загрузочного раздела и передаёт его ядру.
И уже потом загруженное loader-ом ядро монтирует корневую файловую систему с
зеркала,
которое по умолчанию находит свои компоненты на дисках по меткам
в последнем секторе, если только имена дисков не прописаны жестко
(hardcoded) в конфигурации gm0, но это большая редкость.
Я понимаю, что зеркало появляется только после загрузки ядра.
Так что должно быть достаточно просто добавить в зеркало третий диск,
дождаться синхронизации на него всех данных, а затем просто отключить da0.
Спасибо за ликбез. Буду пробовать :).