FreeBSD ja SSD ketas

Allikas: Kuutõrvaja

Kuigi tänapäevastel SSD kõvaketastel on kirjutamislimiit piisavalt suur, on opsüsteemi paigaldamisel siiski kasulik mõningaid põhitõdesid jälgida, et sälitada ketta maksimaalne tööiga ja -kiirus.

Juhend on kirjutatud FreeBSD 9 (või uuema) kasutajatele.

Failisüsteemid SSD kettal

Failisüsteemidel lubada soft updates, kuid keelata soft updates journaling. Kindlasti lülitada sisse TRIM, vastasel juhul võib ketas mõne aja möödudes aeglaseks jääda.

# tunefs -n enable -j disable -t enable /dev/ada0p2
# ...

Mountimisel võtta kindlasti kasutusele noatime lipuke. (Kesse sõge selle atime üldse välja mõtles?!?)

# cat /etc/fstab
# Device	Mountpoint	FStype	Options		Dump	Pass#
/dev/ada0p2	/		ufs	rw,noatime	1	1
/dev/ada0p3	/home		ufs	rw,noatime	2	2

Mäluketas

/var on teatud juhtudel mõttekas hoida mälukettal, õnneks pakub FreeBSD 9 selleks mugava võimaluse.

# cat /etc/rc.conf
...
varmfs="YES"
varsize="768m"

varsize valida selle järgi, et kõik ajutine kraam mälukettale ära mahuks. 500M-st tuli portsude kompileerimisel pisut puudu, kuid võib panna algul rohkem ja pärast stabiilselt töötaval süsteemil jälle langetada.

Paraku on /var failisüsteemis mõned kataloogid, mis peavad säilima pärast rebooti. Need tuleb ilmselt tagasi SSD kettale suunata. Kasutajate postkastid, paigaldatud portsud, crontab, näiteks ka mysql baasid on siin pandud /home/_/ alamkataloogidesse (mis tuleb käsitsi tekitada ja neile vajalikud õigused panna):

# cat /etc/rc.local
for d in mail db/pkg cron/tabs db/mysql ; do
  rm -rf /var/$d && ln -s /home/_/var/$d /var/$d
done

Kui kasutada postfixi ja postgrey-d, siis need vajavad /var/spool all oma kataloogipuud, mis tuleb buutimisel tekitada:

# cat /etc/rc.local
...
install -d /var/spool/postfix
/usr/local/sbin/postfix check
install -d -o postgrey -g postgrey /var/db/postgrey

Kõik logid mälukettal tuleb roteeruma panna, säilitades neist nii vähe kui hädapärast vaja. Näiteks apache jaoks:

# cat /etc/newsyslog.conf
...
/var/log/httpd-access.log       www:www 644  3     1000 *     J /var/run/httpd.pid 30
/var/log/httpd-error.log        www:www 644  3     1000 *     J /var/run/httpd.pid 30

/tmp

/tmp võib suunata ka mälukettale ja sealsamas hoida portsude kompileerimisel tekkivaid ajutisi faile.

# rm -rf /tmp && ln -s var/tmp /tmp
# cat /etc/make.conf
WRKDIRPREFIX=/var/tmp/

Kindlasti sisse lülitada /tmp igaöine puhastamine, et mäluketas aja jooksul üle serva ei hakkaks ajama.

# cat /etc/periodic.conf
daily_clean_tmps_enable="YES"
daily_clean_tmps_dirs="/var/tmp"