LINUX.ORG.RU

Сетевая загрузка Gentoo


0

2

Есть сервер на Gentoo и с десяток клиентов. Требуется настроить сетевую загрузку на клиентах(не без дисковые машины). Натыкаюсь только на мануалы по настройке сетевой загрузки для бездисковых систем. Использую pxelinux, проблема с параметрами запуска ядра, не знаю что ему указывать в root. В мануалах пишут про nfsroot, но у меня каждый клиент имеет свой диск, так что наверное он не нужен.

Так где, в результате, должна храниться система? Если на дисках, то с дисков и запускайте.
А если в сети, а на дисках только ядро, то Вам таки нужен nfsroot.

AITap ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Нужно чтобы на каждом клиенте была одинаковая система со всем необходимым софтом. Соответственно он будет централизованно обновляться у всех. Там есть еще какие-то нюансы, но я их не знаю. Передо мной поставили задачу настроить сетевую загрузку))

shisholik
() автор топика
Ответ на: комментарий от AITap

Весь софт хранится в сети, данные для работы софта хранятся локально.

shisholik
() автор топика
Ответ на: комментарий от xroff

По этой ссылке описывается работа с без дисковыми клиентами. Меня интересуют дисковые. Может быть дисковые клиенты грузятся таким же образом? В таком случае есть другая проблема: сервер не поддерживает NFS как файловую систему. Перекомпилировать ядро нет возможности.

shisholik
() автор топика
Ответ на: комментарий от xroff

Ладно, попробую. В таком случае как мне включить поддержку NFS на сервере? Извиняюсь, если спрашиваю что-то простое, недавно начал общаться с Gentoo.

shisholik
() автор топика
Ответ на: комментарий от shisholik

пакеты: nfs-kernel-server nfs-common portmap

/etc/exports
[code]/media/archive/netboot 192.168.0.0/24(ro,no_subtree_check,async)[/code]

[code]
root@host[~]# exportfs -a
[/code]

xroff
()
Ответ на: комментарий от xroff

Ну зачем вы пишете название пакетов из репозитория Дебиан ? Вам же написали, что сервер не поддерпживает NFS как файловую систему, одно из двух: первое - ядро собрано без поддержки NFS, да в Gentoo вручную собирают ядро, или второе не установлен nfs server, тогда нужно собирать net-fs/nfs-utils. В любом случае можно дособрать поддержку nfs модулем для ядра и скомпилировать net-fs/nfs-utils.

kostik87 ★★★★★
()

> В мануалах пишут про nfsroot, но у меня каждый клиент имеет свой диск, так что наверное он не нужен.

Определись, что ты хочешь получить. Если единую конфигурацию именно системы, то проще будет юзать nfs root. Локальный диск можно не юзать или юзать как временное пространство, например.

Если хочется сделать только единые каталоги для пользователей, то ставишь на каждый комп свою систему и монтируешь /home по тому же нфсу. Но это уже совсем не сетевая загрузка.

const86 ★★★★★
()
Ответ на: комментарий от kostik87

Вы правы, в ядре действительно нет поддержки NFS. Теперь я подключил ее модулем. Но к сожалению на клиенте загружаться система все еще не хочет. Там уже в ядро вкомпилина поддержка NFS.

/etc/exports:

/netboot *(sync,rw,no_root_squash,no_all_squash,subtree_check)

/netboot/boot/pxelinux.cfg/default:

DEFAULT gentoo

TIMEOUT 4

PROMPT 1

LABEL gentoo

KERNEL bzImage

APPEND ip=dhcp noinitrd root=/dev/nfs nfsroot=192.168.1.1:/netboot/ rw

shisholik
() автор топика
Ответ на: комментарий от shisholik

У вас есть поддержка DHCP в ядре? Ведь чтобы подключиться к nfs сервурку ядро должно получить ip адрес, вот немного об этом http://www.gentoo.org/doc/en/genkernel.xml

Либо собирайте initrd, в котором будет вызываться dhcp клиент и дальнейшее подключение к nfs серверу.

kostik87 ★★★★★
()
Ответ на: комментарий от const86

Я выбрал первый вариант, он то и есть что мне нужно) Сейчас при загрузке образа на клиенте вылазит сообщение Cannot open root device «nfs» or unknow-block(0,255)

shisholik
() автор топика
Ответ на: комментарий от kostik87

DHCP есть, он работает нормально. Тоесть ядро грузится на клиента, но запуститься не может. В конфиге DHCP прописано что грузить filename «/netboot/boot/pxelinux.0»;

shisholik
() автор топика
Ответ на: комментарий от shisholik

Вы собрали nfs модулем, но не используете initrd, или ядро на клиенте собрано с nfs монолитно ? Если нет используйте initrd с dhcp и модулем nfs в нём прописанным на загрузку.

kostik87 ★★★★★
()
Ответ на: комментарий от shisholik

Так, какие этапы загрузки по сети вы видите ?

1. Включаете компьютер, указываете загрузку по сети. 2. код PXE из биос / поршивки сетевой карты получаеи ip адрес и параметры подключения 3. Код PXE из БИОС скачивает файл pxelinux.0 4. код в файле pxelinux.0 получает ip адрес и скачивает default.cfg, выводит меню / запрашивает параметры 5. Вы выбираете пункт меню / стартует загрузка (скачивание) ядра с сети (tftp сервер) 6. Ядрл загрузилось с сети и теперь уже ядро Linux должно получить ip адрес, либо в нём есть монолитно поддержка dhcp, либо нужен initrd. 7. Ядро получило ip адрес птыется подключиться на nfs сервер, если есть поддержка nfs, если модуль, то опять смотри initrd.

kostik87 ★★★★★
()

У вас в населенном пункте нету специалистов?! Может хватит получать деньги потециально принадлежащие тому, кто их заслуживает.

erfea ★★★★★
()
Ответ на: комментарий от kostik87

Initrd нигде не используется. На сервере NFS подключен модулем, на клиенте монолитно. Подскажите пожалуйста что я должен сделать, чтоб использовать initrd.

shisholik
() автор топика
Ответ на: комментарий от shisholik

initrd не обязательно, но если хотите, то ставьте genkernel, генерируйте initrd

# genkernel ramdisk --netboot

Но я вас еще раз спрашиваю в клинтском ядре у вас включена поддержка dhcp, ядро должно само получить ip адрес.

Здесь руководство с указанием опций ядра сервера и клиенсткого ядра http://www.gentoo.org/doc/en/diskless-howto.xml

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Спасибо большое! Сгеренировал initrd с помощью genkernel. Добавил его в параметры загрузки. Теперь ядро загружается!

shisholik
() автор топика
Ответ на: комментарий от shisholik

nfsroot.

Нужно чтобы на каждом клиенте была одинаковая система со всем необходимым софтом. Соответственно он будет централизованно обновляться у всех. Там есть еще какие-то нюансы, но я их не знаю. Передо мной поставили задачу настроить сетевую загрузку))

В этом случае руководства по настройке бездисковых станций вам подходят вполне. Только надо будет допилить их чтобы локальная файловая система монтировалась куда-нибудь в /var или /home.

Camel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.