Linuxで物理的なディスクのIDを基に、マウントするデバイスを指定する方法
こんにちは。匠技術研究所の谷山 亮治です。
ここしばらくは、ストレージシステムの構築をしています。今日は、Linuxで物理的なディスクのIDを基に、マウントするデバイスを指定する方法を紹介します。
例えば、
# mount /dev/sdb1 /mnt/usb1
の代わりにデバイスIDを使ってマウント
# mount /dev/disk/by-id/usb-WD_My_Book_1140_574341563557333430303331-0:0-part1 /mnt/usb1
という塩梅です。
/dev/sdb1は、ハードディスクと結びついていますが、ハードウエア構成を変更した後の再起動では、ハードウエア情報が更新され、同じパス名で違うハードディスクを指したり、パス名そのものが無くなったりすることがあります。パス名は、ハードウエア情報が変わらなければ変化することはないのですが、外付けハードディスクの取り付け、取り外しなど変化する要因は日常的にあります。また、故障停止したことに気づかずにサーバーを再起動した場合など、正常な応答を返すハーディスクの数が変わるとパス名に対する物理的なハードディスクの紐付けが変わり、それに気づかずに書き込みすると大きな事故につながりかねません。
そこで、ハードウエアそのものを指定してマウントすることにより、決まったマウントポイントに、物理的に同じディスクを装着することができます。特に外付けディスクが複数本ある場合は、どれがどれか判りにくくなるので、デバイスIDで紐付けた方が確実です。
以下はデバイスIDの一覧の例です。
実在するデバイスのIDは/dev/sdX形式のパス名にリンクされています。
[root@localhost ztest]# ls -l /dev/disk/by-id/ | gawk '{ print $10" "$11" "$12'}
ata-OCZ_VERTEX_PLUS_X946S4R00RUK1R7M5ON4 -> ../../sdd
ata-OCZ_VERTEX_PLUS_X946S4R00RUK1R7M5ON4-part1 -> ../../sdd1
ata-OCZ_VERTEX_PLUS_X946S4R00RUK1R7M5ON4-part2 -> ../../sdd2
ata-WDC_WD10EARX-00N0YB0_WD-WCC0S0164096 -> ../../sdc
ata-WDC_WD10EARX-00N0YB0_WD-WCC0S0164096-part1 -> ../../sdc1
ata-WDC_WD10EARX-00N0YB0_WD-WCC0S0164096-part9 -> ../../sdc9
ata-WDC_WD20EARS-00MVWB0_WD-WMAZ20052157 -> ../../sda
ata-WDC_WD20EARS-00MVWB0_WD-WMAZ20052157-part1 -> ../../sda1
ata-WDC_WD20EARS-00MVWB0_WD-WMAZ20052157-part9 -> ../../sda9
ata-WDC_WD20EARX-00PASB0_WD-WCAZAF381997 -> ../../sdb
ata-WDC_WD20EARX-00PASB0_WD-WCAZAF381997-part1 -> ../../sdb1
ata-WDC_WD20EARX-00PASB0_WD-WCAZAF381997-part9 -> ../../sdb9
dm-name-VolGroup-lv_home -> ../../dm-2
dm-name-VolGroup-lv_root -> ../../dm-0
dm-name-VolGroup-lv_swap -> ../../dm-1
dm-uuid-LVM-AA2DXYcqJaaNFWodvUBNpsIv9ccWDfnTEGl4NrXdRPPh7DdKFq8921BWC1rAGcVz -> ../../dm-2
dm-uuid-LVM-AA2DXYcqJaaNFWodvUBNpsIv9ccWDfnTM73ojplJLrZl2oAXHupXpPiM9kZ6j0uM -> ../../dm-0
dm-uuid-LVM-AA2DXYcqJaaNFWodvUBNpsIv9ccWDfnTmtjfcvY5bgM5EIPTNSiB2eFNZ5MVCson -> ../../dm-1
scsi-SATA_OCZ_VERTEX_PLUSX946S4R00RUK1R7M5ON4 -> ../../sdd
scsi-SATA_OCZ_VERTEX_PLUSX946S4R00RUK1R7M5ON4-part1 -> ../../sdd1
scsi-SATA_OCZ_VERTEX_PLUSX946S4R00RUK1R7M5ON4-part2 -> ../../sdd2
scsi-SATA_WDC_WD10EARX-00_WD-WCC0S0164096 -> ../../sdc
scsi-SATA_WDC_WD10EARX-00_WD-WCC0S0164096-part1 -> ../../sdc1
scsi-SATA_WDC_WD10EARX-00_WD-WCC0S0164096-part9 -> ../../sdc9
scsi-SATA_WDC_WD20EARS-00_WD-WMAZ20052157 -> ../../sda
scsi-SATA_WDC_WD20EARS-00_WD-WMAZ20052157-part1 -> ../../sda1
scsi-SATA_WDC_WD20EARS-00_WD-WMAZ20052157-part9 -> ../../sda9
scsi-SATA_WDC_WD20EARX-00_WD-WCAZAF381997 -> ../../sdb
scsi-SATA_WDC_WD20EARX-00_WD-WCAZAF381997-part1 -> ../../sdb1
scsi-SATA_WDC_WD20EARX-00_WD-WCAZAF381997-part9 -> ../../sdb9
wwn-0x50014ee2072fc6ba -> ../../sdb
wwn-0x50014ee2072fc6ba-part1 -> ../../sdb1
wwn-0x50014ee2072fc6ba-part9 -> ../../sdb9
wwn-0x50014ee2b0b75506 -> ../../sdc
wwn-0x50014ee2b0b75506-part1 -> ../../sdc1
wwn-0x50014ee2b0b75506-part9 -> ../../sdc9
wwn-0x50014ee600251c19 -> ../../sda
wwn-0x50014ee600251c19-part1 -> ../../sda1
wwn-0x50014ee600251c19-part9 -> ../../sda9
[root@localhost ztest]#