[РЕШЕНО] dhcp+netplug - не монтируется nfs при загрузке
MVG 28 мая, 2011 - 12:22
Доброго времени суток.
Подскажите, пожалуйста, как разрулить такую ситуацию.
В сети есть сервер с dhcp и nfs службами. Клиентская машина получает от него настройки сети и монтирует некоторые nfs ресурсы. Для автоматической инициализации сети на клиенте установлен netplug. Проблема заключается в следующем - при загрузке клиента netplug инициализирует eth0, но реально сеть получает настройки по dhcp значительно позже. Так как openrc работает очень быстро, то к моменту запуска:
* Mounting NFS filesystems ...
сеть еще не работает.
Соответственно я получаю сообщение:
mount.nfs: Failed to resolve server gw: Name or service not known
Эта же проблема появляется при запуске ntp-client.
Сеть инициализируется в runlevel boot, остальное - в default.
»
- Для комментирования войдите или зарегистрируйтесь
так в openrc вроде можно без
так в openrc вроде можно без netplug обойтись, вместо него dhcpcd в уровень загрузки можно добавить.
.
Ну и nfs запущать в функции
postup()
файла/etc/conf.d/net
?Не поможет. Для системы, в
Не поможет. Для системы, в случае с netplug, сеть поднимается успешно сразу после запуска net.eth0 и загрузка продолжается. Если добавить монтирование nfs в postup(), то это произойдет даже раньше, чем сейчас.
Если не использовать netplug, то инициализация сети приостанавливает загрузку машины пока et0 не получит ip по dhcp или пока не кончится время ожидания ответа dhcp сервера. Теоретически, нужно заставить машину приостановить загрузку на некоторое время после запуска net.eth0.
gry написал(а): так в openrc
Использую netplug по двум причинам:
1. Иногда происходят резкие скачки напряжения 220в в питающей сети, коммутатор перезапускается, приходится передергивать сеть.
2. Активно используется режим suspend to RAM, после просыпания сеть поднимается автоматически без дополнительных настроек.
Не понятно, о чем вы говорите.
У меня eth0 получает ip через dhcpcd, net.eth0 находится в runlevel boot, я об этом уже писал.
net.eth0 находится в runlevel
а что оно там делает ?
П.С всегда удивляли люди, пишущие о багах по форумам, но никогда не разработчикам
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
slepnoga написал(а): а что
Я знаю, что по документации положено добавлять его в default. Так я пытался максимально разнести по времени инициализацию сети и остальных служб.
Возможно это является спецификой данной связки. Мне кажется, что выяснить это лучше на форуме, а не дергать разработчика. Всегда стараюсь удостовериться что это действительно баг, а не кривые руки.
MVG написал(а): Не понятно, о
У меня вместо этого в default runlevel - network и dhcpcd, а net.eth0 отсутствует. dhcpcd при этом выполняет функцию netplug - передергивает сеть если сигнал пропадает/появляется и с suspend тоже отлично отрабатывает. Это так называемый new-style network. nfs я правда не использую, и проверить вашу проблему не могу, но попробуйте.
gry написал(а): У меня
Интересно, спасибо. Если у вас dhcpcd нормально отрабатывает пропадание линка, то попробую просто удалить netplug.
Как я понял, /etc/init.d/network - это альтернатива для /etc/init.d/net.xxx, а конфигурация для него берется из /etc/conf.d/network? Привык я к старой системе, но попробую обязательно.
Большое спасибо gry за
Большое спасибо gry за советы.
Удалил netplug, все работает нормально.
.
А вот у мня не хочет запускаться nfs ни в функции postup() файла /etc/conf.d/net, ни с помощью /etc/local.d/40-nfs.start (самопальный скрыпт)
Вдрючную - запускается... Ничё не понемаю :)
MVG, дико извиняюсь за глупый совет (ибо нужно было удостовериться в работоспособности, потом уже "умствовать" :D).