筆者は最近Linuxしか触っていない。
FreeBSDであるこのサーバーでCD-ROMのイメージファイルをmountしようとして、
mount -t iso9660 -o loop /tmp/cdimage.iso /mnt
としたら、mountにloopというオプションが無いことが判明した。(Linuxでは上記コマンドでmountできるはず)
それでFreeBSDでループバックデバイスをmountする方法を調べたら、vnodeに行き着いた。
FreeBSDで上記と同じことをするには、
vnconfig vn0c /tmp/cdimage.iso
mount -t cd9660 /dev/vn0 /mnt
とすれば良い。(カーネルがpseudo-device vn有効の設定でコンパイルされていて/dev/vn*が存在する必要がある)
そうだ、FreeBSDにはvnodeという概念があったんだ。
vnodeと言えば、昔これを使ってswapの拡張をしたことがある。
具体的なコマンドは忘れてしまったたが、
vnconfig -e swap ファイル名
だっただろうか。pstat -Tやswapinfoというコマンドを使ってvnode swapの状態を確認していた。
筆者は昔、NECのPC-9801BXというパソコン(中古で購入、CPU:i486 MEM:1.6M HDD:120MにMEM8M、SCSI HDD240Mを増設)でFreeBSDを動かしていた。1995年頃から2001年末までだっただろうか。(年末に留守にするため連続運転を止めて年明けに電源を入れようとしたら入らなかった)
最初はswap 8M(IDE HDD)で使っていたが、ある時、vnodeを使ってswapを動的に拡張する方法を知って、SCSI HDDの32Mをswapに追加した。その結果、OSが1.5倍くらい速くなった気がした。元々よくswapしていたのだが、swap領域を2台のHDDに割り当てた結果、見事に負荷分散していたのである。swapする時は、必ず両方のHDDのアクセスランプが点灯したのだ。それに気付いた時、FreeBSDの素晴らしさを改めて実感し、FreeBSDに惚れ直し、一生ついていこうと思った。
コメント