Broadcom 3008 / 9300 I/O Controllerの情報集


Broadcom 3008 / 9300 I/O Controllerの情報集

Broadcom(旧LSI) [SAS3008 I/O Controller](https://jp.broadcom.com/products/storage/sas-sata-controllers/sas-3008) は、マザーボードに搭載されていたりするI/Oコントローラで、基本的なRAID(0,1,10)ができる。
OSにLinuxを使う場合のユーティリティについてメモ

## ユーティリティの入手

~~正しい場所がどこだかはっきりしないが以下の方法でダウンロード、あるいはユーティリティの名前が`SAS3IRCU`でこの名前で検索してユーティリティをダウンロードした。
例えば[ここ](https://jp.broadcom.com/products/storage/host-bus-adapters/sas-9300-8e)のManagement Software and Toolsにある`SAS3IRCU_P16`をダウンロードする~~
SAS3IRCU で検索して、[ここ](https://jp.broadcom.com/support/download-search?pg=Legacy+Products&pf=&pn=&pa=&po=&dk=9211-8i&pl=) でExpand Allして「SAS3IRCU」を探す。

* ~~Broadcomのページで、メニューのProduct -> Storage and System -> SAS/SATA/NVMe Host Bus Adapters -> 12Gb/s SAS Adapter -> SAS 9300-8e Host Bus Adapterを選択~~ もう古くてメニューから選べない
* ~~downloads -> Management Software and Tools -> SAS3IRCU_P16 をダウンロード~~


ダウンロードしたファイルを展開すると以下のようなディレクトリ構成になっており、各種OSのバイナリがディレクトリに別れて保存されている(DOSやVMWare用もある)
Linux 64bit環境の場合は、`sas3ircu_linux_x86_rel`にあるバイナリを使う

```
sas3ircu_dos_rel
sas3ircu_freebsd_amd64_rel
sas3ircu_freebsd_i386_rel
sas3ircu_linux_arm_rel
sas3ircu_linux_ppc64le_rel
sas3ircu_linux_ppc64_rel
sas3ircu_linux_x64_rel
sas3ircu_linux_x86_rel
sas3ircu_solaris_sparc_rel
sas3ircu_solaris_x86_rel
sas3ircu_udk_uefi_arm_rel
sas3ircu_udk_uefi_x64_rel
sas3ircu_vmware_esx50_rel
sas3ircu_vmware_nds_rel
sas3ircu_win_x64_rel
sas3ircu_win_x86_rel
```

## マニュアル

これもまたいつもどこにあるかよくわからないので適当にググってみつけたところをリンクしておく

* [LSI Integrated RAID SAS 3.0 Solution](https://jp.fujitsu.com/platform/server/primergy/products/note/svsdvd/dvd/pdf/sas3-ir-ug_jp.pdf) Fujitsuのドキュメント
* [SAS-3 Integrated RAID Solution](https://docs.broadcom.com/doc/12353381) Version 1.0 Novenver 2012

## ユーティリティの使いかた

詳しくはマニュアルを参照すればよい。主だったものをいかにメモする

### コントローラの一覧表示

```
./sas3ircu list
Avago Technologies SAS3 IR Configuration Utility.
Version 16.00.00.00 (2017.04.26)
Copyright (c) 2009-2017 Avago Technologies. All rights reserved.


         Adapter      Vendor  Device                       SubSys  SubSys
 Index    Type          ID      ID    Pci Address          Ven ID  Dev ID
 -----  ------------  ------  ------  -----------------    ------  ------
   0     SAS3008       1000h   97h    00h:XXh:XX:XXh      15d9h   0808h
SAS3IRCU: Utility Completed Successfully.
```

## 仮想ディスクと物理ディスクの状態確認

```
./sas3ircu 0 display
Avago Technologies SAS3 IR Configuration Utility.
Version 16.00.00.00 (2017.04.26)
Copyright (c) 2009-2017 Avago Technologies. All rights reserved.

Read configuration has been initiated for controller 0
------------------------------------------------------------------------
Controller information
------------------------------------------------------------------------
  Controller type                         : SAS3008
  PI Supported                            : Yes
  PI Mixing                               : Disabled
  BIOS version                            : X.XX.00.00
  Firmware version                        : X.XX.00.00
  Channel description                     : 1 Serial Attached SCSI
  Initiator ID                            : 0
  Maximum physical devices                : 255
  Concurrent commands supported           : 3072
  Slot                                    : Unknown
  Segment                                 : 0
  Bus                                     : 130
  Device                                  : 0
  Function                                : 0
  RAID Support                            : Yes
------------------------------------------------------------------------
IR Volume information
------------------------------------------------------------------------
IR volume 1
  Volume ID                               : 323
  PI Supported                            : No
  Status of volume                        : Okay (OKY)
  Volume wwid                             : XXXXXXXXXXXXXXXX
  RAID level                              : RAID1
  Size (in MB)                            : 487327
  Physical hard disks                     :
  PHY[0] Enclosure#/Slot#                 : 1:0
  PHY[1] Enclosure#/Slot#                 : 1:1
------------------------------------------------------------------------
Physical device information
------------------------------------------------------------------------
Initiator at ID #0

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 0
  PI Supported                            : No
  SAS Address                             : 4433221-1-0000-0000
  State                                   : Optimal (OPT)
  Size (in MB)/(in sectors)               : 488386/1000215215
  Manufacturer                            : ATA
  Model Number                            : Vendor Disk
  Firmware Revision                       : 7000
  Serial No                               : 012345678901
  Unit Serial No(VPD)                     : 012345678901
  GUID                                    : 0000000000000000
  Protocol                                : SATA
  Drive Type                              : SATA_SSD
```

### RAIDのリビルド状態確認

```
# ./sas3ircu 0 status
Avago Technologies SAS3 IR Configuration Utility.
Version 16.00.00.00 (2017.04.26)
Copyright (c) 2009-2017 Avago Technologies. All rights reserved.

Background command progress status for controller 0...
IR Volume 1
  Volume ID                               : 323
  PI Supported                            : No
  Current operation                       : Synchronize
  Volume status                           : Enabled
  Volume state                            : Degraded
  Volume wwid                             : 0000000000000000
  Physical disk I/Os                      : Not quiesced
  Volume size (in sectors)                : 998045696
  Number of remaining sectors             : 167406464
  Percentage complete                     : 83.23%
SAS3IRCU: Command STATUS Completed Successfully.
SAS3IRCU: Utility Completed Successfully.
```

### RAID1を作る

`sas3ircu <controller_#> create <volume_type> <size> {<Enclosure:Bay>} [VolumeName] [noprompt]`

エンクロージャ、ベイの番号は、displayで出てくるものを利用する

```
./sas3ircu 0 create RAID1 MAX 1:2 1:3 TEST1 noprompt
Avago Technologies SAS3 IR Configuration Utility.
Version 16.00.00.00 (2017.04.26)
Copyright (c) 2009-2017 Avago Technologies. All rights reserved.

Please wait, may take up to a minute...
SAS3IRCU: Volume created successfully.
SAS3IRCU: Command CREATE Completed Successfully.
SAS3IRCU: Utility Completed Successfully.
```

`./sas3ircu 0 display` で実行結果を確認する


```
IR volume 1
  Volume ID                               : 322
  PI Supported                            : No
  Volume Name                             : TEST1
  Status of volume                        : Okay (OKY)
  Volume wwid                             : 068f35ed2be8a591
  RAID level                              : RAID1
  Size (in MB)                            : 56266
  Physical hard disks                     :
  PHY[0] Enclosure#/Slot#                 : 1:2
  PHY[1] Enclosure#/Slot#                 : 1:3
```

### RAIDの削除


`sas3ircu <controller_#> deletevolume <volumeID> [noprompt]`

```
./sas3ircu 0 deletevolume 322 noprompt
Avago Technologies SAS3 IR Configuration Utility.
Version 16.00.00.00 (2017.04.26)
Copyright (c) 2009-2017 Avago Technologies. All rights reserved.

Please wait, may take up to a minute...
SAS3IRCU: Volume deleted successfully.
SAS3IRCU: Command DELETEVOLUME Completed Successfully.
SAS3IRCU: Utility Completed Successfully.
```

### ホットスペアの設定

## ホットスペアの操作

`sas3ircu 0 hotspare` のようにすれば良い


```
Device is a Hard disk
  Enclosure #                             : 2
  Slot #                                  : 10
  PI Supported                            : No
  SAS Address                             : XXXXxXX-X-xXxx-xxxx
  State                                   : Hot Spare (HSP) <-- Hot Spare
  Size (in MB)/(in sectors)               : 9999999/99999999999
  Manufacturer                            : COMPANY
  Model Number                            : DISK_MODEL
  Firmware Revision                       : 0000
  Serial No                               : XXXXXXXXXXXXXXXXXXXX
  Unit Serial No(VPD)                     : XXXXXXXXXXXXXXXXXXXX
  GUID                                    : 0000x000x0xxx0x0
  Protocol                                : SAS
  Drive Type                              : SAS_HDD
```

ホットスペアの削除(HSP -> READY)

```
/usr/local/bin/sas3ircu 0 hotspare delete 2:10
Avago Technologies SAS3 IR Configuration Utility.
Version 17.00.00.00 (2018.04.02)
Copyright (c) 2009-2018 Avago Technologies. All rights reserved.

WARNING: Proceeding with this operation may cause data loss or data
         corruption. Are you sure you want to proceed (YES/NO)? YES

WARNING: This is your last chance to abort this operation. Do you wish
         to abort (YES/NO)? NO
SAS3IRCU: Hot Spare disk deleted successfully.
SAS3IRCU: Command HOTSPARE Completed Successfully.
SAS3IRCU: Utility Completed Successfully.
```

```
Device is a Hard disk
  Enclosure #                             : 2
  Slot #                                  : 10
  PI Supported                            : No
  SAS Address                             : XXXXxXX-X-xXxx-xxxx
  State                                   : Ready (RDY) <-- Ready
  Size (in MB)/(in sectors)               : 9999999/99999999999
  Manufacturer                            : COMPANY
  Model Number                            : DISK_MODEL
  Firmware Revision                       : 0000
  Serial No                               : XXXXXXXXXXXXXXXXXXXX
  Unit Serial No(VPD)                     : XXXXXXXXXXXXXXXXXXXX
  GUID                                    : 5000c500c9dfa4a3
  Protocol                                : SAS
  Drive Type                              : SAS_HDD
```

ホットスペアの削除(READY -> HSP)

```
/usr/local/bin/sas3ircu 0 hotspare 2:10
Avago Technologies SAS3 IR Configuration Utility.
Version 17.00.00.00 (2018.04.02)
Copyright (c) 2009-2018 Avago Technologies. All rights reserved.

WARNING: Proceeding with this operation may cause data loss or data
         corruption. Are you sure you want to proceed (YES/NO)? YES

WARNING: This is your last chance to abort this operation. Do you wish
         to abort (YES/NO)? NO
Please wait, may take up to a minute...
SAS3IRCU: Hot Spare disk created successfully.
SAS3IRCU: Command HOTSPARE Completed Successfully.
SAS3IRCU: Utility Completed Successfully.
```

## OSでの確認

デバイス lsscsiコマンドを使ってデバイスを確認する。

このOSは、ディスクを二つでRAID1を構成している。RAID1を構成しているボリュームだけが、/dev/sdaとして参照できる。

```
lsscsi
[0:0:0:0]    disk    ATA      INTEL SSDSC2CW18 400i  -
[0:0:1:0]    disk    ATA      INTEL SSDSC2CW18 400i  -
[0:1:0:0]    disk    LSI      Logical Volume   3000  /dev/sda
```

RAID1のメンバーになっているディスクはsdXとして見えない。代わりに`sg_map`を使ってディスク以外も含めたSCSIデバイスの一覧を取得する

```
sg_map -i
/dev/sg0  /dev/sda  LSI       Logical Volume    3000
/dev/sg1  ATA       INTEL SSDSC2CW18  400i
/dev/sg2  ATA       INTEL SSDSC2CW18  400i
```

/dev/sdg1にSSDが搭載されていることがわかる。

smartの情報をみたいときは、このデバイスを指定すれば良い

```
smartctl -a /dev/sg1
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-514.21.1.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Intel XXX Series SSDs
Device Model:     INTEL SSDXXXXXXXXX
Serial Number:    XXXXXXXXXXXXXXXXXXX
...

232 Available_Reservd_Space 0x0033   100   100   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       -       0
```

sasのアドレスは`lsscsi -Ht`で出力

```
lsscsi -Ht
[0]    mpt3sas       sas:0x5003048015329200
```


気が向いたらそのうち更新する