Pokud je systémový adresář připojený přes NFS překrytý virtuálním diskem vytvořeným v paměti, je žádoucí aby klientská pracovní stanice (nebo virtuál) měla na lokálním blokovém zařízení k dispozici swapovací oddíl, který umožní - v případě že začne místo v paměti docházet - odsypat data z fyzické paměti na fyzický disk.
Není-li swapovací oddíl k dispozici, tak to sice nevede ke zhroucení systému, ale ten se pak začne chovat stejně jako když dojde místo na disku - podivně. Init skript findswap se při svém spuštění pokusí tento swapovací oddíl vyhledat a připojit.
|
Od jádra ... nabízí NFS server také možnost swapování přes NFS
|
|
#!/bin/sh
### BEGIN INIT INFO
# Provides: findswap
# Required-Start: mountall
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Find all unused swap partitions to enable swapping on them
# Description:
### END INIT INFO
do_start() {
SWAPCANDIDATES="$(cat /proc/partitions | sed -n -e 's/^.* \([hs]d[a-z][0-9]\)$/\1/p' -e 's/^.* \(xvd[a-z][0-9]\)$/\1/p')"
for i in $SWAPCANDIDATES ; do
if [ "$( blkid -s TYPE /dev/$i -o value )" = "swap" ] ; then
grep -q "/dev/$i" /proc/swaps
if [ $? -ne 0 ] ; then
echo "Adding swap device /dev/$i."
swapon "/dev/$i"
fi
fi
done
}
case "$1" in
start|"")
do_start
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
# No-op
;;
*)
echo "Usage: $0 [start|stop]" >&2
exit 3
;;
esac
|