やはり、なにもしていないのにディスクにアクセスしている。/(ext2)なのか/usr(jfs)なのか。調べると、/に書き込みのアクセスがいっているということがわかった。hmm… だいたい今までの統計でわかったことを記録しておこう。20秒でspin-downしているが、20秒以上アクセスがないときは、平均80秒はアクセスがない。60秒は止まっているということだ。27051秒のうち、20秒以上止まっていたのが23776秒、295回。spin-downしていた時間は17876秒、約66%である。 残りの問題は/である。/さえクリアすれば無駄なディスクアクセスを撲滅できる。
Category: GNU/Linux
結局/と/usrに巣喰うext3を捨てることにした。まず/は移行が面倒なのでext2としてマウントすることにし、/usrはジャーナリングは必須なのでjfsに移行した。noatimeもつけた。ついでに
hdparm -c 1 -S 4 -X udma2
ということにした。あとは…eepro100をやめてe100にしてみた。Intel製のドライバ。変更が一度にありすぎて、不具合が起きたときに困りそうだが… しばらくまたvmstatとかでディスクアクセスが定期的にないように監視することになる。 jfsにしたところ、普通にdump+restoreしただけなのに、空き容量が2GB増えた。おそるべし。何か消えてないだろうか、不安だ。 syncの完了が異様に速くなったような気がする。 手順は以下の通り。メモしておく。
telinit S fuser -k -m /usr dump /usr to 1394 HDD tar も(予備) umount /usr edit fstab (ext3->jfs, ext3->ext2) tune2fs -O ^has_journal /dev/hda2 mkfs.jfs -L /usr /dev/hda6 mount /usr restore reboot
fsck.jfsが終わらなくて、けっこうハマった。fstabでfsckしないように書き換えた。あと、devfsをrc.sysinitの先頭でmountするように変更。 (追記) 2003-05-13 23:49 こんな感じ。
Unresolved Symbolが。結局インストールせず。xfsはともかく、ac97は毎日使うし。
rm -r boot mkdir -p boot/boot cp System.map boot/boot/System.map-2.4.21-rc2-ac1 cp arch/i386/boot/bzImage boot/boot/vmlinuz-2.4.21-rc2-ac1 cp .config boot/boot/config-2.4.21-rc2-ac1 make -s modules_install INSTALL_MOD_PATH=/usr/src/linux-2.4.21r2a1/boot depmod: *** Unresolved symbols in /usr/src/linux-2.4.21r2a1/boot/lib/modules/2.4.21-rc2-ac1/\ kernel/drivers/sound/ac97_codec.o depmod: wolfson_init11 depmod: wolfson_init05 depmod: *** Unresolved symbols in /usr/src/linux-2.4.21r2a1/boot/lib/modules/2.4.21-rc2-ac1/\ kernel/fs/xfs/xfs.o depmod: find_trylock_page depmod: path_lookup cd boot tar cfzp 2.4.21rc2ac1.tar.gz --owner=root --group=root boot/System.map-2.4.21-rc2-ac1 \ boot/config-2.4.21-rc2-ac1 boot/vmlinuz-2.4.21-rc2-ac1 lib/modules/2.4.21-rc2-ac1 cd ..
Linuxのファイルシステムの信頼性について(linux.or.jp)ていう文書があるらしい。 Security Hole Memo(ryukoku.ac.jp)より。 去年の9月に行なわれたLinux Conferenceの文書だが、JFSが最強ってことになっている。
なんと、libsafeが全然きいてなかった。
% fuser -v /lib/libsafe.so.2.0.16
USER PID ACCESS COMMAND
/lib/libsafe.so.2.0.16
root 942 ....m gdm-binary
root 971 ....m gdm-binary
root 972 ....m X
おいおい、こんだけかよ!! uidが変更されるところでLD_PRELOADが消えるようになったみたいだな。いつからだろう。 (追記) 2003-05-06 25:18 ssh-agentのsetgid(nobody)を落とした。ktermのsetuid(root)も落とした。すると有効になった。
こういう意見(cnet.com)もある。しかしNDAを結んだ相手だけに公開したはずのソースがLinuxのディストリビューションに流用されてたので訴訟を起こした、ということならSCOが正しそうな感じもする。 /.-jのストーリー(slashdot.jp)も参照のこと。
The 2.6.0 “must-fix” list(lwn.net)というのが出た。なるほど。
The 2.6.0 “must-fix” list(lwn.net)というのが出た。なるほど。