とうとう LANDISKの HDD が壊れた. まぁ将来こんなこともあろうかといろいろ準備していたのだが
などの理由で, x86 系で 24 時間サーバを作りたくなった.当然 24 時間稼動するため, 静音, 省電力が望ましい. そこで当初, ATOM のマザーボードを使うことも考えたのだが, チップセットのいいのがまだ出てなく, いいのがない. そんな折, とある筋から Transmeta の TM8000 を使った PC を借り受けた. 面白そうなので, これでしばらく試用してみることにした. ディストリビューションは当然 Plamo Linux 4.03.
ちなみに CPU 1GHz, メモリ 512M, bogomips は 1992 . 消費電力はワットチェッカ計測で 17W くらいで. 試しに hdparm -y /dev/hda で 3.5 インチの HDD を止めると 12W くらいに落ちる.
以下にその時の手順を記すが, 試行錯誤した結果を思い出しながら書いているので 無駄な部分や抜け落ちた部分があるかもしれない.
基本構想は
まず試しに, インストール直後の状態で
mke2fs /dev/ram mount -t ext2 /dev/ram /mnt |
もっともこのままじゃ, たった 4M しかない. 将来的には ramdisk に /tmp とか置くつもりなんで, gcc のコンパイルとか考えるともう少し領域が欲しい. そこで
mke2fs /dev/ram 131072 |
ramdisk = 131072 |
っという訳で, CONFIG_BLK_DEV_RAM_SIZE を 131072 に指定し, カーネルのコンパイルを行った.
以下, そのカーネル下でやってみた手順を箇条書きにする.
# ./configure --enable-cache --enable-disk-cache --enable-mem-cache |
append="vga16 unicon=eucjp" boot = /dev/hda lba32 ramdisk = 131072 image = /zImage ~root = /dev/hda1 ~label = linux ~read-only |
#mkdir /ramdisk |
# rm -rf /tmp # mkdir /ramdisk/tmp # ln -s /ramdisk/tmp /tmp # rm -rf /var/log # mkdir /ramdisk/var/log # ln -s /ramdisk/var/log /var/log # rm -rf /var/log # mkdir /ramdisk/var/log # ln -s /ramdisk/var/log /var/log # rm -rf /var/tmp # mkdir /ramdisk/var/tmp # ln -s /ramdisk/var/tmp /var/tmp # rm -rf /var/tmp # mkdir /ramdisk/var/tmp # ln -s /ramdisk/var/tmp /var/tmp # rm -rf /usr/local/samba/var # mkdir /ramdisk/var/samba # ln -s /ramdisk/var/samba /usr/local/samba/var |
hdparm -S 120 /dev/hda
mke2fs /dev/ram1 mount /dev/ram1 /ramdisk mkdir /ramdisk/tmp mkdir /ramdisk/var chmod 755 /ramdisk/var chmod 1777 /ramdisk/tmp mkdir /ramdisk/var/tmp mkdir /ramdisk/var/log mkdir /ramdisk/var/samba mkdir /ramdisk/var/apache_cache chmod 1777 /ramdisk/var/tmp chmod 755 /ramdisk/var/log chmod 755 /ramdisk/var/samba chown daemon /ramdisk/var/apache_cache chgrp daemon /ramdisk/var/apache_cache mkdir /ramdisk/var/log/samba mkdir /ramdisk/var/log/canna mkdir /ramdisk/var/log/httpd mkdir /ramdisk/var/log/ftpd mkdir /ramdisk/var/log/httpd chmod 755 /ramdisk/var/log/samba chmod 755 /ramdisk/var/log/canna chmod 755 /ramdisk/var/log/httpd chmod 755 /ramdisk/var/log/ftpd chmod 755 /ramdisk/var/log/httpd |
<IfModule mod_cache.c> <IfModule mod_disk_cache.c> CacheEnable disk / CacheRoot /ramdisk/var/apache_cache CacheDefaultExpire 2592000 CacheDirLength 4 CacheDirLevels 4 CacheIgnoreCacheControl On CacheIgnoreNoLastMod On </IfModule> </IfModule> |
これにより, めったに HDD の回らない環境ができたのだが, 現状不満点が二個ある.