LinuxなNASマシンにつないだUSBHDDを安全にスリープ LinuxなNASマシンにつないだUSBHDDを安全にスリープ

| コメント(0)

現在PenIII 866MHzなequium 5000を常時起動してNASとして利用している。 メモリも192MB積んで、スループットも80Mbps出てくれる。 USB2.0のCardBusインターフェースカードをさしてio-dataのHDC-UのHDDを2つつないでいる。

このHDC-UのHDDは静かで快適だが、ずっと回し続けるのは寿命も短くするので控えたい。 そこで定時的に停止コマンドを打ちたいのだが、sdparmでUSBHDDのSCT値をさわれないので、強制的に--comand=stopしなければならない。しばらくの間cronで定期的に止めていたが、アクセス時に停止コマンドを食らうとカチンと怖い音がするので、繰り返しやるのはしたくない。

どうにかならないかと考えていたら、いいアイディアが思いついた。autofsを使う方法である。

autofsは定期的にアクセスがないと自動的にアンマウントしてくれるので、マウントされているかどうかを確認して、停止コマンドを打てばいい。さらにfuserというコマンドで誰がリソースを使っているか調べることもできるので、こちらとも組み合わせると完璧だ。ということでつたないrubyでcronに回すスクリプトを書いてみた。

equium:~# cat stopusbhdd.rb 
#!/usr/bin/ruby

sdaismounted = !(`df|grep sda1` == "" || `fuser -muv /misc/usb0` == "")
sdbismounted = !(`df|grep sdb1` == "" || `fuser -muv /misc/usb1` == "")

p "sda"
p `sdparm --command=stop /dev/sda`   if !sdaismounted 
p "sdb"
p `sdparm --command=stop /dev/sdb`   if !sdbismounted

まだ運用してそんなに時間がたっていないが、そこそこうまく動いてくれているようだ。

コメントする

月別 アーカイブ

about Colspan


1983年生。技術系会社員。
趣味はJavascript。
韓国語を少し話す。
Twitter
Hatena
Zooomr
Flickr

このブログ記事について

このページは、Colspanが2006年12月 5日 10:51に書いたブログ記事です。

ひとつ前のブログ記事は「韓国語能力試験結果」です。

次のブログ記事は「GDI++ FreeType版」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。