Ik heb een klein servertje en in verband met netwerkomstandigheden moet het in de woonkamer staan. Er zit een 8cm-casefan in (temperatuurgestuurd van 500 tot 1700rpm, normaal gesproken 700), een sata-hdd en een ide-flash-module. Als de schijf niet draait is het apparaat zo goed als onhoorbaar. De bedoeling is dus om op een veilige manier de hdd te ontzien in verband met geluid, en het flashgeheugen in verband met zijn maximaal 2000000 nominale rewrites (en in totaal wat stroom te besparen).
Op de server draait (in de toekomst): een vpn-toegang, een database (postgresql), httpd, php5 en openssh. Verder wil ik het servertje eventueel voor periodieke mailverzameling gebruiken (met fetchmail) en voor het nachtelijk uploaden van grote hoeveelheden data (foto's). Vermoedelijk zal slechts enkele keren per dag gebruik worden gemaakt van de webfuncties.
Ik heb daarvoor de volgende indeling in partities gemaakt: (wd0 is de 160GB hdd, wd1 is 4gb flash, 1GB ram is beschikbaar. atactl wordt gebruikt om de standbytijd op 15 minuten te zetten):
/dev/wd1a on / type ffs (local, noatime)
/dev/wd1f on /usr type ffs (local, noatime, nodev)
/dev/wd0d on /tmp type ffs (local, nodev, nosuid)
/dev/wd0e on /var type ffs (local, nodev, nosuid)
/dev/wd0g on /home type ffs (local, nodev, nosuid)
/dev/wd0i on /usr/sourcebuild type ffs (local, nodev, nosuid)
/dev/wd0j on /.persistent type ffs (local)
mfs on /dev type mfs (asynchronous, local, noexec, nosuid, size=4096 512-blocks)
mfs on /var/log type mfs (asynchronous, local, nodev, nosuid, size=200000 512-blocks)
mfs on /var/db type mfs (asynchronous, local, nodev, nosuid, size=200000 512-blocks)
mfs on /var/cron type mfs (asynchronous, local, nodev, nosuid, size=100000 512-blocks)
mfs on /var/run type mfs (asynchronous, local, nodev, nosuid, size=100000 512-blocks)
(ik ga vermoedelijk/zeker nog wat sleutelen aan de mountopties en afmetingen van de memoryfilesystems, tips zijn welkom)
/etc/resolv.conf{.save} heb ik gesymlinked naar bestanden op /.persistent, /usr/src, /usr/ports en /usr/xenocara zijn gesymlinked naar directories in /usr/sourcebuild. De directories om de mfs te vullen zijn ook op /.persistent aangemaakt. /var/db/pkg in het betreffende mfs is weer gesymlinked naar een locatie op de hdd.
Daarmee heb ik voor zover ik in mijn hoofd heb de meeste erg frequent wijzigende bestanden naar memorydisks verplaatst, en veel relatief vaak veranderende bestanden naar locaties op de hdd. Alleen eventuele databases en websites(+logs) zitten nog op de hdd, dat betekent dan opstarten van de schijf zodra men gebruik maakt van de webpagina's. Zeker de database en mail wil ik niet op memorydisks hebben...
Om bij reboots de logbestanden en dergelijke te bewaren wil ik gebruik maken van rsync om de 'basisdirectories' vanuit de mfs te updaten. Ook zal ik dagelijks een rsync laten uitvoeren door /etc/daily.local
Misschien dat dit topic de een of andere GoTer op (goede/betere) ideeen brengt (is makkelijk ook op andere OS toepasbaar natuurlijk).
Ik hoop ook met name dat iemand nog punten van verbetering aan kan reiken, die zullen er ongetwijfeld zijn. (zeker tav de webfuncties)
Op de server draait (in de toekomst): een vpn-toegang, een database (postgresql), httpd, php5 en openssh. Verder wil ik het servertje eventueel voor periodieke mailverzameling gebruiken (met fetchmail) en voor het nachtelijk uploaden van grote hoeveelheden data (foto's). Vermoedelijk zal slechts enkele keren per dag gebruik worden gemaakt van de webfuncties.
Ik heb daarvoor de volgende indeling in partities gemaakt: (wd0 is de 160GB hdd, wd1 is 4gb flash, 1GB ram is beschikbaar. atactl wordt gebruikt om de standbytijd op 15 minuten te zetten):
/dev/wd1a on / type ffs (local, noatime)
/dev/wd1f on /usr type ffs (local, noatime, nodev)
/dev/wd0d on /tmp type ffs (local, nodev, nosuid)
/dev/wd0e on /var type ffs (local, nodev, nosuid)
/dev/wd0g on /home type ffs (local, nodev, nosuid)
/dev/wd0i on /usr/sourcebuild type ffs (local, nodev, nosuid)
/dev/wd0j on /.persistent type ffs (local)
mfs on /dev type mfs (asynchronous, local, noexec, nosuid, size=4096 512-blocks)
mfs on /var/log type mfs (asynchronous, local, nodev, nosuid, size=200000 512-blocks)
mfs on /var/db type mfs (asynchronous, local, nodev, nosuid, size=200000 512-blocks)
mfs on /var/cron type mfs (asynchronous, local, nodev, nosuid, size=100000 512-blocks)
mfs on /var/run type mfs (asynchronous, local, nodev, nosuid, size=100000 512-blocks)
(ik ga vermoedelijk/zeker nog wat sleutelen aan de mountopties en afmetingen van de memoryfilesystems, tips zijn welkom)
/etc/resolv.conf{.save} heb ik gesymlinked naar bestanden op /.persistent, /usr/src, /usr/ports en /usr/xenocara zijn gesymlinked naar directories in /usr/sourcebuild. De directories om de mfs te vullen zijn ook op /.persistent aangemaakt. /var/db/pkg in het betreffende mfs is weer gesymlinked naar een locatie op de hdd.
Daarmee heb ik voor zover ik in mijn hoofd heb de meeste erg frequent wijzigende bestanden naar memorydisks verplaatst, en veel relatief vaak veranderende bestanden naar locaties op de hdd. Alleen eventuele databases en websites(+logs) zitten nog op de hdd, dat betekent dan opstarten van de schijf zodra men gebruik maakt van de webpagina's. Zeker de database en mail wil ik niet op memorydisks hebben...
Om bij reboots de logbestanden en dergelijke te bewaren wil ik gebruik maken van rsync om de 'basisdirectories' vanuit de mfs te updaten. Ook zal ik dagelijks een rsync laten uitvoeren door /etc/daily.local
Misschien dat dit topic de een of andere GoTer op (goede/betere) ideeen brengt (is makkelijk ook op andere OS toepasbaar natuurlijk).
Ik hoop ook met name dat iemand nog punten van verbetering aan kan reiken, die zullen er ongetwijfeld zijn. (zeker tav de webfuncties)