LoginSignup
0
0

More than 1 year has passed since last update.

ドライブの物理スロットとデバイスIDをsasutilsを使って把握する。

Last updated at Posted at 2022-03-16

サーバーに多くのHDDやSSDを搭載している場合、RAIDカード経由であればスロット位置とデバイスの紐づけは"まだ"わかるのですが、RAIDカードを搭載していない場合、実際の搭載位置と/dev/sdxなどのIDが本当に若い番号順であっているのか不安。
さらにシリアルナンバーも抜いてみないと分からずディスク交換は心臓に悪いのです。
lsscsiではでわかるようでわからないので、sasutilsを使ったらスッキリした。

1,Githubからsasutilsを貰ってくる
2,環境を整理
3,デバイスのIDを確認

OS環境:CentOS 8
サーバー:Seagate製サーバー EXOS AP

1,Githubから貰ってくる

#yum install git
#git clone https://github.com/stanford-rc/sasutils.git

2,環境を整理

pythonが入ってなかったら入れる。
=>Defaultで入っていたPython3で動いた

pipが入ってなかったら入れる
=>Defaultで入っていたpip3で動いた

pipからもsasutilsのパッケージをインストール
$sudo pip3 install susutils

3,デバイスのIDを確認

まずは、lsscsiでデバイス名を確認してみる。
この一番左はSCSI IDなのでどれかを抜いて差すと別のIDとして再度認識されます。
これをアテにすると良くない方向に行きます。

[root@localhost cli]# lsscsi --generic
[0:0:0:0]    enclosu SEAGATE  SP-3224-AP-BV-1  52FF  -          /dev/sg0
[0:0:1:0]    disk    SEAGATE  ST400FM0303      0007  /dev/sda   /dev/sg1
[0:0:2:0]    disk    SEAGATE  ST300MP0006      N003  /dev/sdb   /dev/sg2
[0:0:3:0]    disk    SEAGATE  ST300MP0006      N003  /dev/sdc   /dev/sg3
[0:0:4:0]    disk    SEAGATE  ST300MP0006      N003  /dev/sdd   /dev/sg4
[0:0:5:0]    disk    SEAGATE  ST300MP0006      N003  /dev/sde   /dev/sg5
[0:0:6:0]    disk    SEAGATE  ST300MP0006      N003  /dev/sdf   /dev/sg6
[0:0:7:0]    disk    SEAGATE  ST300MP0006      N003  /dev/sdg   /dev/sg7
[0:0:8:0]    disk    SEAGATE  ST300MP0006      N003  /dev/sdh   /dev/sg8
[0:0:9:0]    disk    SEAGATE  ST300MP0006      N003  /dev/sdi   /dev/sg9
[0:0:10:0]   disk    SEAGATE  ST300MP0006      N003  /dev/sdj   /dev/sg10
[0:0:11:0]   disk    SEAGATE  ST300MP0006      N003  /dev/sdk   /dev/sg11
[0:0:12:0]   disk    SEAGATE  ST300MP0006      N003  /dev/sdl   /dev/sg12

なのでsasutilsを使います。

[root@localhost]# cd sasutils/sasutils/cli
[root@localhost cli]# ls
_init__.py sas_counters.py sas_devices.py sas_discover.py
 sas_mpath_snic_alias.py sas_sd_snic_alias.py ses_report.py

いくつかのコマンドセットが用意してありますが、その中のsas_devices.pyを-vを付けて使用します。


[root@localhost cli]# python3 sas_devices.py -v
Found 1 SAS hosts: host0
SAS expander 0x50050cc1308038bf x2 (expander-0:0,expander-0:1)
Found 1 SAS expanders
Found 1 enclosure groups
Enclosure group: [sg13:SEAGATE SP-3224-AP-BV-1, addr: 0x50050cc1308038be]
BAY       LOGICAL UNIT      DEVICE MAPPER   BLOCK_DEVS      SG_DEVS PATHS   VENDOR            MODEL          SERIAL_NUMBER      REV SIZE
  0 0x5000c50030225197       [Not mapped]          sda          sg1     1  SEAGATE      ST400FM0303   ZB4151QY0000822150Z3     0007 400.1GB
  1 0x5000c500a02d9ee3       [Not mapped]          sdb          sg2     1  SEAGATE      ST300MP0006   WAE07V3X0000K804J79Q     N003 300.0GB
  2 0x5000c500a02d3a1f       [Not mapped]          sdc          sg3     1  SEAGATE      ST300MP0006   WAE065M30000K80571ZD     N003 300.0GB
  3 0x5000c500a02d5517       [Not mapped]          sdd          sg4     1  SEAGATE      ST300MP0006   WAE07L2R0000K804JA5R     N003 300.0GB
  4 0x5000c500a02d948b       [Not mapped]          sde          sg5     1  SEAGATE      ST300MP0006   WAE07VC10000K8056ZVZ     N003 300.0GB
  5 0x5000c500a02dd117       [Not mapped]          sdf          sg6     1  SEAGATE      ST300MP0006   WAE07T1N0000E805618D     N003 300.0GB
  6 0x5000c500a02d0a93       [Not mapped]          sdg          sg7     1  SEAGATE      ST300MP0006   WAE07LTA0000K804HXX1     N003 300.0GB
  7 0x5000c500a02dbf37       [Not mapped]          sdh          sg8     1  SEAGATE      ST300MP0006   WAE07TJ50000K80578LA     N003 300.0GB
  8 0x5000c500a02c68cb       [Not mapped]          sdi          sg9     1  SEAGATE      ST300MP0006   WAE07Q370000E80478SM     N003 300.0GB
  9 0x5000c500a02dc7af       [Not mapped]          sdj         sg10     1  SEAGATE      ST300MP0006   WAE07TAL0000K8056ZXQ     N003 300.0GB
 10 0x5000c500a0132b87       [Not mapped]          sdk         sg11     1  SEAGATE      ST300MP0006   WAE05MLK0000E8037DPC     N003 300.0GB
 11 0x5000c500a02d973f       [Not mapped]          sdl         sg12     1  SEAGATE      ST300MP0006   WAE07VCH0000K805779H     N003 300.0GB

一番左が実際の搭載位置、BLOCK_DEVSがデバイスID、シリアルナンバーやファームウェアも確認可能です。

ちなみにマルチパスだとこのようにmpathと/dev/sdx, sgxとの確認も出来てスッキリ。


Enclosure group: [sg13:SEAGATE SP-3212A-E12EBD, addr: 0x500c0ff00afd6d3e]
BAY       LOGICAL UNIT      DEVICE MAPPER   BLOCK_DEVS      SG_DEVS PATHS   VENDOR            MODEL          SERIAL_NUMBER      REV SIZE
  0 0x5000c500cb7a0fef             mpatha      sdy,sda     sg27,sg1     2  SEAGATE    ST16000NM002G   ZL2DZ9TL0000C127F2Y2     E003 16.0TB
  1 0x5000c500cb8535bf             mpathb      sdb,sdz     sg2,sg28     2  SEAGATE    ST16000NM002G   ZL2DFDS30000C128M248     E003 16.0TB
  2 0x5000c500cb7c6d8b             mpathc     sdc,sdaa     sg3,sg29     2  SEAGATE    ST16000NM002G   ZL2DXKXN0000C12879Y8     E003 16.0TB
  3 0x5000c500cb7ceceb             mpathd     sdd,sdab     sg4,sg30     2  SEAGATE    ST16000NM002G   ZL2E04R50000C128ADSU     E003 16.0TB
  4 0x5000c500cb7cc95b             mpathe     sde,sdac     sg5,sg31     2  SEAGATE    ST16000NM002G   ZL2E0T2H0000C128ADKQ     E003 16.0TB
  5 0x5000c500cb7bf643             mpathf     sdad,sdf     sg32,sg6     2  SEAGATE    ST16000NM002G   ZL2DXMNV0000C128ACCD     E003 16.0TB
  6 0x5000c500cb723613             mpathg     sdg,sdae     sg7,sg33     2  SEAGATE    ST16000NM002G   ZL2DRETA0000W126Y0A6     E003 16.0TB
  7 0x5000c500cb6f1ddb             mpathh     sdaf,sdh     sg34,sg8     2  SEAGATE    ST16000NM002G   ZL2DL3T00000C125ACAU     E003 16.0TB
  8 0x5000c500cb7cc14f             mpathi     sdi,sdag     sg9,sg35     2  SEAGATE    ST16000NM002G   ZL2E098H0000C128AG0M     E003 16.0TB
  9 0x5000c500cb7d23db             mpathj     sdah,sdj    sg36,sg10     2  SEAGATE    ST16000NM002G   ZL2E0YF30000C128AP99     E003 16.0TB
 10 0x5000c500cb7cfe0f             mpathk     sdk,sdai    sg11,sg37     2  SEAGATE    ST16000NM002G   ZL2E194T0000C128AEUF     E003 16.0TB
 11 0x5000c500cb7c6c13             mpathl     sdaj,sdl    sg38,sg12     2  SEAGATE    ST16000NM002G   ZL2DXKY20000C128780K     E003 16.0TB
Total: 12 block devices in enclosure group

以上簡単ですが。
いつか誰かのお役に立てば。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0