2007年6月18日

HDDの認識順が毎回変わる

自宅鯖はNAS兼用になっているのでHDDを何台か積んでいる。
そろそろ空きが無くなって来たのでSeagateの500GBをソフマップ通販で購入したんだ。
もっと安い店もあるんだけどもRMA対応品である事と、クレジットカード決済できる事、送料無料な事を考えると十分に安いと思われる。

そんでまぁ先日取り付けを行ったわけだけんども、結構困ったもんだね。
どうもDebianの癖みたいなもんらしいんだけど、全てが認識した順番に割り振られるっぽいんだわ。
鯖機の場合、オンボードで2種類のIDEコントローラがあって、更にPCIに増設ボードが載っている。
つまり3種類のコントローラがまずどの順位で認識するかっていう所でスタートなんだな。
システムの入っているHDDはE-IDEで1台しか無いので、こいつはきにせずに/dev/hdaとなるから問題なし。
大問題なのは、オンボードとPCI増設でそれぞれ取り付けられているS-ATAのHDD5台だ。
こいつらが認識順に/dev/sda~/dev/sdeと起動するたびに(rebootでも)割り振られて、それが毎回違うと。
mountの都合上非常に不便だ。/homeの一部がこちらのドライブに割り振られているので期待している順番になっていないとwebが見えなくなってしまう。
滅多な事がなければ再起動などする事はないのだが、うまく行くまで繰り返さなくてはならないってのはなんとかならないかと思っているが、今のところ改善策が見つからない。

友人はnicが2個あって、eth0とeth1が常に固定にならないとかでPPPoEが出来なくなる事があるマジックで泣いていた。
他のディストリビューションでは発生しないのでDebianだけの問題だとは思うのだが...

解決策求む。


トラックバックURL

このエントリーのトラックバックURL:
http://karinto2.mine.nu/blog/mt-tbx.cgi/28

コメント[6]

こんにちは。
HDDが,起動するたびに認識する順番が違うということですが,UUIDでマウントしたらどうでしょうか?
fstabにある,/dev/sda1 かな?をUUID=<uuid>に変更することでできるはず。(うろ覚え(^^ゞ
“ls -l /dev/disk/by-uuid/”で一覧が見れますよ。

もしくは,“/etc/modprobe.d/~”あたりを調べてみるとか・・・。
とりあえず,UUIDを使えばうまくいくはずですよ。
p(>_<)q

お返事遅れました。
uuidの件ありがとうございました。
ちょっと試してみたいと思います。
友人もeth0とeth1が起動するたびにランダムに振られて泣いていたので参考にできるかもしれません。

同様にLABELでも可能です。
LABELは何でも好きな文字列でOK。
http://www.itmedia.co.jp/help/tips/linux/l0529.html

UUIDはシステムが勝手に付けるID。
LABELは管理者が自分で付けるID。

>通りすがりのSEさん
残念ながらLABELでは無理な様です。
というのは今回の件で問題となるのは、起動するごとにHDDが違うデバイス名になるからなんです。

いやいや、デバイス名を指定するのはラベル付けるときだけですよ。
一回書けば、ずっとDisk側(ext2or3の管理領域)に保存されます。
また、デバイス名とペアで憶えているわけではないので、デバイス名が変わってしまっても問題在りません。

後はfstabにデバイス名「/dev/hda1」の代わりに「LABEL=AAA」と書きます。
マウントするときにこのラベルを持つデバイスを自動的に探してくれます。

もちろん、各ファイルシステムごとにラベルは異なる文字列を・・・。

>通りすがりのSEさん

あら!そういう仕様だったんですか。
参考のURLの所みた感じでそういう事書いてなかったんで、ただの置き換えかと思ってました。
HDD側に記録されるなら便利ですね!

コメントする