Mount NFS server and move SWAP to nfs share on the Raspberry Pi
Before we can start with this on the Raspberry we need to make sure we have the NFS Server up and running. In my case this is a FreeNas box that has multiple disk running in zfs raid.
After the share is set up on the server (/mnt/pool1/pi) we can switch to the Pi.
First we need to make sure the rpcbind service is running and started on bootup.
sudo update-rc.d rpcbind defaults && sudo service rpcbind startNow we can test if we can mount our share before we add it to our fstab:
sudo mount YourNfsServerIp://mnt/pool1/pi /mntCheck with df -h if the share is mounted.(normally when it doesn't show an error all should be ok.) My results:
pi@pi ~ $ df -h Filesystem Size Used Avail Use% Mounted on rootfs 7,4G 2,5G 4,7G 35% / /dev/root 7,4G 2,5G 4,7G 35% / devtmpfs 239M 0 239M 0% /dev tmpfs 49M 260K 49M 1% /run tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 97M 0 97M 0% /run/shm /dev/mmcblk0p1 56M 9,6M 47M 18% /boot 192.168.1.11:/mnt/pool1/pi 113G 7,5G 106G 7% /mntNow that all is working we can add a new line to /etc/fstab (change the ip with your own.)
192.168.1.11:/mnt/pool1/pi /mnt nfs defaults 0 0Now that NFS is setup correct we can move the swap to a real drive. Let's start with cleaning and removing the old on the sd-card.
sudo apt-get remove --purge dphys-swapfile -y sudo rm /var/swap sudo rm /etc/init.d/dphys-swapfile sudo update-rc.d dphys-swapfile removeNow we can create and mount a new file.(1Gb change the value count=1024 if you need a smaller/larger swap)
sudo dd if=/dev/zero of=/mnt/swap bs=1M count=1024 sudo losetup /dev/loop0 /mnt/swap sudo mkswap /dev/loop0 sudo swapon /dev/loop0Check with free -m if you can see the swap file. Now we can edit our /etc/rc.local and add before exit 0
echo "Setting up loopy/mnt/swap.." sleep 2 losetup /dev/loop0 /mnt/swap mkswap /dev/loop0 swapon /dev/loop0Have fun.