生きていました。
Linuxのディスク認識についてちょっと書く。
新仮想化基盤サーバ構築中に気になったものでね。
下記のような理想のように素直に認識してくれればいいのだが、
実際には入れ違っちゃうこともある、SATA3(接続コネクタポート名)以降は
もうぐっちゃぐちゃになることがおおい。SATAポート増設とかすると特に
■理想
SATA1 = /dev/sda
SATA2 = /dev/sdb
SATA3 = /dev/sdc
SATA4 = /dev/sdd
SATA5 = /dev/sde
SATA6 = /dev/sdf
SATA7 = /dev/sdg
SATA8 = /dev/sdh
SATA9 = /dev/sdi
SATA10 = /dev/sdj
■現実
SATA1 = /dev/sda
SATA2 = /dev/sdb
SATA4 = /dev/sdc
SATA3 = /dev/sdd
SATA7 = /dev/sde
SATA8 = /dev/sdf
SATA9 = /dev/sdg
SATA10 = /dev/sdh
SATA5 = /dev/sdi
SATA6 = /dev/sdj
↑実際はどのSATAコネクタなのかわからない。
これはものすごい困る。別に動いてるぶんにはいいんだけど、
HDDが壊れたときにどのディスクを交換すればいいのかわからない。
■解決法
まずはHDD固体のシリアルちゃんと管理しとこう。
物理固体にはシリアルが書いてないことがあるのでこうしよう。
1個だけHDDがつながってる状態にして「hdparmコマンド」でシリアルをとっとこう。
# echo "/dev/sda 右だよ " > disk_management.txt
# hdparm -I /dev/sda | grep "Serial Number" >> disk_management.txt
ほかにもシリアルナンバーを取得する方法はある。
# scsi_id --page=0x83 -whitelisted --device=/dev/sda
これでもいけるな。
# udevadm info -q all -n /dev/sda | grep D_SERIAL_SHORT
そして2個目をつないでまた同じことを繰り返していく。
これでシリアルと場所とデバイス名を管理できる。
/etc/fstab もUUIDで書いておくと何とかなるだろう。
ほんとはudevで固定したかったんだけど、やり方がわからなかった
/etc/udev/rules.d/10-local.rules を作成して下記のように指定したが
思うようには動きやがらんです。
SUBSYSTEM=="block", ENV{ID_BUS}=="ata", ENV{ID_MODEL}=="SPCC_Solid_State_DiskB28", ENV{ID_TYPE}=="disk", ENV{ID_SERIAL_SHORT}=="120614271030000000D8", NAME="sda%n"
やり方を知っている人がいたら教えてくれ。
0 件のコメント:
コメントを投稿