LINUX.ORG.RU
ФорумAdmin

NFS root mount auto reboot


0

1

Есть debian-squeeze система, грузящаяся по pxe и имеющая в качестве корневой ФС сетевой nfs-раздел. Хочется сделать так, чтобы ядро автоматически паниковало при отсутствии доступа к /, а не зацикливалось. Man говорит, что нужно использовать опцию монтирования «soft», но мне это не помогло. Подскажите и поправьте, пожалуйста. Вот опции pxe-загрузки:

append initrd=initrd.gz root=/dev/nfs nfsroot=192.168.2.100:/home/Ants/root,soft ip=dhcp ipconfdelay=10 ro

Вот кусок /etc/fstab в корневой ФС:

/dev/nfs        /             nfs    ro,noatime,soft       0      0

Вот вывод mount:

192.168.2.100:/home/Ants/root on / type nfs (ro,noatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,soft,nolock,proto=tcp,port=65535,timeo=7,retrans=3,sec=sys,mountport=65535,addr=192.168.2.100)

Вот это оно начинает писать в цикле при опускании сетевого интерфейса:

nfs: server 192.168.2.100 not responding, timed out

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



Последнее исправление: Vshmuk (всего исправлений: 2)

Как ты собираешся «перегружать» что-либо, если / недоступен?

Сеть чини, чтоб не «подвисало», а не придумывай всякую херню.

P.S. Дистрибутив ты не указал намеренно, скорее всего, потому, что это какое-то кривое поделие (судя по ipconfdelay=10 - в каком-то какерском поделие подобное видел, навскидку не вспомню где именно)

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

Перегружать очень просто, с помощью kernel panic, я это написал же. / недоступен - паника - ребут.

Не в сети дело, а в надёжности. Хочется учесть всё, даже падучую сеть (всяко ведь может быть) и надо, чтобы клиент был на связи точно, чтобы не ходить до него ногами.

Дистрибутив я указал.

Vshmuk
() автор топика

_netdev The filesystem resides on a device that requires network access (used to prevent the system from attempting to mount these filesystems until the network has been enabled on the system).

Но я не уверен, не пробовал.

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

Штука хорошая, но не с этой стороны. Этот флаг просто показывает, что сначала нужно поднять интерфейсы,а потом монтировать уже ФС. В моём случае надо сделать так, чтобы _на уровне ядра_ обрабатывалась ошибка и система уходила в ребут

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

комплекс взрослого человека?

Ага :)

Vshmuk
() автор топика

ИМХО, используйте software watchdog. Кстати, а bios/PXE-загрузчик нормально отрабатывают пропадание сети при загрузке?

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

Использую hardware watchdog. Не помогает: демон продолжает писать в устройство даже если окружающий его мир рухнул. Он же в оперативке, что ему будет? :)

PXE при пропадании сети возвращает ошибку tftp timeout и отправляет компьютер в рубут.

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

Вроде в watchdog.conf можно было указать ping, и можно указать test-binary, который бы читал файлы на ФС и test-timeout.

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

Добавил в watchdog.conf строчку:

file = /sbin/init

Не помогло. Наверное, при утере корневого раздела ядро замораживает все его обращения к ФС, и демон терпеливо ждёт ответа. Всё так же не перезагружается. Есть идеи?

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