quiz del mese...
SirPsychoSexy
sirpsychosexy a datawell.it
Ven 14 Dic 2001 09:34:26 UTC
Il 19:20, giovedì 13 dicembre 2001, hai scritto:
> no, un server samba non ha bisogno di avere le aree esportate via NFS, e
> direi nemmeno un client samba (correggetemi se sbaglio!).
No, stavo dicendo che soffrono di problemi simili.....
> La risposta e' un'altra... tra l'altro il problema viene fuori solo in
> una circostanza molto particolare, ma che prima o poi succede, chesso',
> ad esempio dopo un temporale.
il problema è lo stesso, cioè un filesystem montato via network e inserito
nel fstab.
In realta non dovresti mai inserire network filesystem in fstab se non con
l'opzione di non montaggio al boot.
Per fare le cose correttamente devi creare uno script in /etc/rc.d/init.d o
equivalente) che prima pinghi la macchina e in caso di risposta affermativa
monti il sistema.
Anche questa tecnica risente però del fatto che la macchina potrebbe essere
su ma il servizio non attivo.
La sicurezza al 100% te la dà il test del servizio e in caso di ok il mount
del filesystem.
Questo lo script fatto da un brillante collega per samba della nostra ditta.
Con poche modifiche la adatti a qualsiasi Linux e a qualsiasi altro servizio
che per avviarsi abbia bisogno di un server funzionante:
#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops the Samba smbd and nmbd daemons \
# used to provide SMB network services.
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
RETVAL=0
# See how we were called.
case "$1" in
start)
if { ! ping -c 3 samba_server >/dev/null 2>&1 }
then
echo "smb server unreacheable, skipping..."
exit 1
fi
echo -n "Mounting SMB service: "
mount /mnt/samba/
RETVAL=$?
echo ""
;;
stop)
if { ! ping -c 3 samba_server >/dev/null 2>&1 }
then
echo "smb server unreacheable, skipping..."
exit 1
fi
echo -n "Unmounting SMB service: "
umount /mnt/samba
echo ""
RETVAL=$?
;;
restart)
$0 stop
$0 start
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $RETVAL
Se puoi hai la ferma necessità di ritrovare tutto montato a fine boot, puoi
invece di skippare il mount, fare un delay di un minuto e riprovare dopo un
poco (quando si pensa che le macchine avranno finito il boot)
Giulio
Maggiori informazioni sulla lista
Lug
|