Автоматическое монтирование NFS при загрузке не работает. Это моя строка fstab:
nas:/backups /mnt/nas_backups nfs rw,_netdev,auto 0 0
С помощью mount -a
он работает, но при загрузке не работает. После некоторых исследований я думаю, что проблема заключается в /etc/network/run/ifstate
: Я говорю это, потому что /etc/init.d/mountnfs.sh
звонки /etc/network/if-up.d/mountnfs
, который содержит этот код:
exit_unless_last_interface() {
grep "^[:space:]*auto" /etc/network/interfaces | \
sed -e 's/[ \t]*auto[ \t]*//;s/[ \t]*$//;s/[ \t]/\n/g' | \
while read i; do
if [ `grep -c $i /etc/network/run/ifstate` -eq "0" ]; then
msg="if-up.d/mountnfs[$IFACE]: waiting for interface $i before doing NFS mounts"
log_warning_msg "$msg"
# Can not pass this as a variable because of the while subshell
mkdir /var/run/network/mountnfs_earlyexit 2> /dev/null
fi
done
if [ -d /var/run/network/mountnfs_earlyexit ]; then
rmdir /var/run/network/mountnfs_earlyexit 2>/dev/null
exit 0
fi
}
Этот код выполняет выход из скрипта, потому что в /etc/network/run/ifstate
нет интерфейса eth0 (его единственное содержимое lo=lo
), хотя интерфейс eth0 работает.
У вас есть предложения о причинах неправильного состояния и способах устранения?
ОБНОВЛЕНИЕ 1: Это конфигурация eth0
(пользователь сказал, что может участвовать в проблеме, поэтому я пишу это):
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.0.11
netmask 255.255.255.0
post-up iptables-restore < /etc/iptables.up.rules
gateway 10.0.0.1
ОБНОВЛЕНИЕ 2: Это результат /etc/init.d/networking restart
:
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
Reconfiguring network interfaces...SIOCADDRT: File exists
Failed to bring up eth0.
done.
После перезапуска eth0
работает правильно, и /etc/network/run/ifstate
все еще не содержит eth0
.
Проблема заключалась в отсутствии прошивки: сетевая карта (NetXen NX3031) работает без установки проприетарной прошивки, но с ней работает лучше (firmware-netxen
пакет внутри несвободных репозиториев).
После установки при перезагрузке сетевые устройства были смонтированы правильно. Большое тебе спасибо!
Может быть, добавление опции "bg" в строку монтирования fstab поможет обойти это?
Если указана опция bg, тайм-аут или сбой заставляют команду mount (8) разветвлять> потомок, который продолжает попытки смонтировать экспорт. Родитель немедленно возвращается с> нулевым кодом выхода. Это называется «фоновым» креплением.