Pokud chcete na Raspberry Pi provozovat nějaký software náročný na diskové operace (v mém případě squid + jeho logy), nevydrží SD karta moc dlouho kvůli velkému množství zápisů. Řešením je přesunout filesystém na síťový disk (NAS). Já mám doma starší Synology, takže jsem využil to.
Jako čistější řešení by mi přišlo využít pokročilé možnosti Synology a nastavit to přes iSCSI v kombinaci se zavaděčem BerryBOOT pro Raspberry Pi. Ale vyzkoušel jsem BerryBOOT v několika sestaveních a nepodařilo se mi iSCSI rozběhnout spolehlivě. Takže jsem přistoupil k řešení přes NFS.Na Raspberry Pi používám oficiální systém Raspberry Pi OS Lite (tj. verzi bez GUI). Návod předpokládá, že máte rozběhnutý a nakonfigurovaný funkční systém na SD kartě, s funkčním připojením k síti, a nejlépe plně aktualizovaný. Dále používám editor nano.
Raspberry Pi stále bude potřebovat vloženou SD kartu, na které bude základní zavaděč s jádrem a ovladači sítě. Můžete však využít nějakou starší a malou (stačí velikost 256 MB).
1. Sdílená složka na NAS
2. Zkopírování systému na NAS
mkdir /tmp/synology-rpi
mount -t nfs <adresa NAS>:/<cesta> /tmp/synology-rpi
Vyzkoušíme právo zápisu:
touch /tmp/synology-rpi/test
Pokud se soubor vytvořil, můžeme zkopírovat systém na NAS:
rsync -Phax --numeric-ids / /tmp/synology-rpi/
Tohle bude chvilku trvat, záleží na rychlosti sítě. Také je potřeba ukončit všechny nepotřebné běžící aplikace.
3. Úprava konfigurace Raspberry Pi OS na NAS
nano /tmp/synology-rpi/etc/fstab
Obrázek 3: úprava souboru /etc/fstab |
Pozor: je třeba zachovat připojení SD karty do složky /boot!!!
4. Nastavení zavaděče na SD kartě
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 rootwait root=/dev/nfs nfsroot=<adresa NAS>:/<cesta> rootfstype=nfs rw ip=dhcp smsc95xx.turbo_mode=N elevator=deadline
nfsroot - cesta ke sdílené složce, kde jsou systémové soubory
rw - sdílená složka se připojí i pro zápis (změnou na ro se bude připojovat jen pro čtení)
ip=dhcp - nastavení IP adresy z DHCP serveru, lze nastavit i statickou adresu, ale pak je potřeba upravit i konfiguraci Raspberry Pi OS
smsc95xx.turbo_mode=N - řeší problémy s možným kernel panic při zahlcené síti
5. Řešené problémy
SWAP
sudo apt-get remove --purge dphys-swapfile
sudo rm /var/swap
sudo rm /etc/init.d/dphys-swapfile
sudo update-rc.d dphys-swapfile remove
Vytvoření nového swapovacího souboru (1 GB):
sudo dd if=/dev/zero of=/var/swap bs=1M count=1024
Nastavení a zapnutí swapování:
sudo losetup /dev/loop0 /var/swapfile
sudo mkswap /dev/loop0
sudo swapon /dev/loop0
Pro zapnutí swapování po restartu je třeba poslední příkazy zapsat do souboru /etc/rc.local před řádek exit 0.
echo "Setting up swapfile.."
losetup /dev/loop0 /var/swapfile
mkswap /dev/loop0
swapon /dev/loop0
Problém s SSH serverem
sudo apt-get remove --purge openssh-server
sudo apt-get install openssh-server
Žádné komentáře:
Okomentovat