ハードディスクを止めるぞ

RedHat Linux 8.0 のサーバを作ったが、未使用時には静かにしていてほしい。
特にハードディスクはなんとか止めたい。

省電力サーバが欲しいのだ。
静かなサーバが欲しいのだ。

そのために調査結果。
これらを全部やるとシステムクラッシュ時に影響がある。
「クラッシュしやすくなる」じゃなくて「クラッシュしたときに少し困る」なので、クラッシュしなければOK。
まぁ、大丈夫だろう。ただのファイルサーバだし。
いろいろなディスク監視ツールを停止させてディスクアクセスを減らすのだ。
 

検索のキーワードは以下のもの。
APM,apm,apmd,Advanced Power Manager,BIOS,hdparm,noatime

これらはほとんどroot作業です。
再起動も必要になるかも。
詳しく知りたいときは適当な単語でぐぐる。

では。

サーバ名や、ユーザ名を適当に自分の環境に合わせて読んでください。質問不可。



■BIOS
まず、マシンの起動時にBIOS設定を呼び出してAdvanced Power Managerの機能を使う。
これでディスクの回転停止などが可能。
がんばって英語を読む。最近のマシンは日本語表示なんてぜいたくなものもあるようだ。
(hpのe-vectraにはそのメニューが無い……どうしよう)
 

■crond
プログラムを定期的に実行するcrondの設定。
crondが動けばディスクも回転する。(あたりまえ)
不要な処理を回数を減らしたり時刻をずらしたりする。

# crontab -l
--------------------
*  * * * * /bin/hoge のような処理は毎分動いているので
--------------------
00 * * * * /bin/hoge のように変更。たいていの処理はこれでよい。
--------------------

/etc/crond.hourly の中も確認する。
 

■apmd
APMをコントロールするデーモン。
うちのe-vectraでは役に立たないので停止。
apmでマシンの一時停止とか、使い道は無いこともないけど……。
 

■fstab
アクセス情報を必要とする「tmpwatch」などを使用していなければfstabを変更する。
"noatime" の設定で「最後にアクセスした日時」を 記録しないようにする。

/etc/fstab
--------------------
/dev/hda2  /home ext3 defaults,noatime 1 2
--------------------
 

■bdflush
キャッシュメモリの制御パラメータ。

/proc/sys/vm/bdflush
--------------------
40 500 64 256 500 3000 500 1884 2
--------------------

--------------------
70 500 64 256 500 6000 3000 1884 2
--------------------
このくらいにしてみる。
 

■update
書き込みやフラッシュ設定を変更する。
sync(-s)を5400秒,flash(-f)を5400秒

/etc/inittab
--------------------
...
ud::once:/sbin/update -s 5400 -f 5400
...
--------------------
 

■harddisks
ハードディスクの設定。
BIOSのAPMがきかなそうなときは直接HDDを操作する。
ここでDMAの設定なども可能。
→hdparm

/etc/sysconfig/harddisks
--------------------
...
EXTRA_PARAMS="-S 30"
...
--------------------
 

■hdparm
(今回は特に使わない)
ハードディスクの調整などを行う。
# hdparm -y /dev/hda
ハードディスク停止

# hdparm -S 12 /dev/hda
12は60秒でディスクの回転を停止。

# hdparm -i /dev/hda
ディスクの情報表示
 

■RAMDISK
crondで動かす30分おきの処理をRAMディスクを使うことでディスクアクセスを低減。
□手動作成(500k)
  mkdir  /mnt/ramdisk
  chmod  777  /mnt/ramdisk
  /sbin/mke2fs  /dev/ram 500
  mount  -t  ext2  /dev/ram  /mnt/ramdisk

□起動時に作成(4M以下の場合)
  mkdir  /mnt/ramdisk
  chmod  777  /mnt/ramdisk
 
  /etc/fstab
  --------------------
  /dev/ram0  /mnt/ram0  ext2  user,noauto    0 0  追加
  --------------------

  /etc/rc.d/init.d/ramdisk
  --------------------
  #!/bin/sh
  #
  # ramdisk  This file is executed by init to set a ramdisk up.
  #
  # chkconfig: 2345 99 00
  # description : post-startup hook for ramdisk

  . /etc/rc.d/init.d/functions

  PATH=$PATH:/sbin
  SIZE=500         ←作成する要領を設定します
  DEVICE=/dev/ram    ←使用するデバイスファイルを指定します
  MNT=/mnt/ram       ←マウントポイントを設定します

  [ -f /sbin/mke2fs ] || exit 0

  /sbin/mke2fs -m 0 $DEVICE $SIZE

  exit 0
  --------------------
(?なんか怪しいので最新情報は検索する。shutdown時にddでバックアップして起動時にddで戻すとかもいいのかも。)
 

■swap
(これは試していません)
SWAPを使わないことでディスクアクセスを減らす。
以下の行をコメント化

/etc/rc.d/rc.sysinit
--------------------
....
action $"Activating swap partitions: " swapon -a -e
swapon -a
....
--------------------
 

■exports
ついでにnfsの設定。Macからのアクセスのためにinsecureを追加。
このときにホスト名と()の間にスペースを入れないこと。

/etc/exports
--------------------
....
/share    192.168.0.0/255.255.255.0(rw,insecure)
/mnt/cdrom    192.168.0.0/255.255.255.0(ro,insecure)
....
--------------------
 

■syslogd
(これは試していません)
システムログファイルの同期を停止。

/etc/syslog.conf
--------------------
...
*.info;mail.none;authpriv.none    /var/log/messages
...
--------------------

--------------------
...
*.info;mail.none;authpriv.none    -/var/log/messages
...
--------------------
 


Battery Powered Linux Mini-HOWTO
http://www.linux.or.jp/JF/JFdocs/Battery-Powered.html

Linux Tips(ZDNet)
http://www.zdnet.co.jp/help/tips/linux/index.html

ALL ASCII Linux ISSUE
http://linux.ascii24.com/linux/allascii/

KNOPPIX
http://unit.aist.go.jp/it/knoppix/

モナーフォント
http://monafont.sourceforge.net/

その他
(あんまり関係無いけどしたこと)
proftpdのインストール
webminのインストール
 
 


もどる
yutakano (yutakano@tim.hi-ho.ne.jp)

Mar 5, 2003