vSphere Flash Read Cache(vFRC)を使ってみようとセットアップしようとした。
しかし、「SSD」として認識されているものの「仮想フラッシュリソース管理」で該当デバイスが出てこない。
どういうことか調査した。
1. esxcfg-scsidevsコマンドでの認識状況
下記の様になっている。
~ # esxcfg-scsidevs -l naa.600508b1001c3c4aacc8c33d825d7ff4 Device Type: Direct-Access Size: 114439 MB Display Name: HP Serial Attached SCSI Disk (naa.600508b1001c3c4aacc8c33d825d7ff4) Multipath Plugin: NMP Console Device: /vmfs/devices/disks/naa.600508b1001c3c4aacc8c33d825d7ff4 Devfs Path: /vmfs/devices/disks/naa.600508b1001c3c4aacc8c33d825d7ff4 Vendor: HP Model: LOGICAL VOLUME Revis: 5.42 SCSI Level: 5 Is Pseudo: false Status: degraded Is RDM Capable: true Is Removable: false Is Local: false Is SSD: true Other Names: vml.0200030000600508b1001c3c4aacc8c33d825d7ff44c4f47494341 VAAI Status: unknown <略> ~ #
ここでの注目ポイントは
「Is Local:」と「Is SSD:」の値。
「Is Local: false Is SSD: true」とは、「Localではなくが、SSDである」と認識されていることになる。
2. esxcli storage vflash device listでの認識状況
vFRCの旧名である「vflash」という名前を持つコマンドを使って、SSDデバイスの認識状況を確認する。
~ # esxcli storage vflash device list Name Size Is Local Is Used in vflash Eligibility ------------------------------------ ------ -------- ----------------- ---------------------------- naa.600508b1001c3c4aacc8c33d825d7ff4 114439 false false Detected as a remote SAS SSD ~ #
「Detected as a remote SAS SSD」と認識されていることが何かのキーになっている、ということもうかがえる。
では、どのようにすれば使える様になるのか?
「Detected as a remote SAS SSD」というメッセージを手がかりに探したところ、VMwareのcommunityに「” Detected as a remote SAS SSD” vFlash」というのを発見。
the solution. thanks for the pointer vfrank.org
esxcli storage nmp satp rule add –satp VMW_SATP_LOCAL –device naa.XXXXXX 0 –option enable_local
esxcli storage core claiming reclaim -d naa.XXXXXXX
該当デバイスの「Is local」認識を強制的に変更する、というもの。
上記コマンド例では「–device naa.XXXXXX 0 –option enable_local」とあるが「0」がなぜ入っているのかよく分からない。
エラーになったので、実行したのは「esxcli storage nmp satp rule add –satp VMW_SATP_LOCAL –device naa.XXXXXX –option enable_local」と「esxcli storage core claiming reclaim -d naa.XXXXXXX」となる。
~ # esxcli storage nmp satp rule add --satp VMW_SATP_LOCAL --device naa.600508b1001c3c4aacc8c33d825d7ff4 --option enable_local ~ # esxcli storage vflash device list Name Size Is Local Is Used in vflash Eligibility ------------------------------------ ------ -------- ----------------- ---------------------------- naa.600508b1001c3c4aacc8c33d825d7ff4 114439 false false Detected as a remote SAS SSD ~ # esxcli storage core claiming reclaim -d naa.600508b1001c3c4aacc8c33d825d7ff4 ~ # esxcli storage vflash device list Name Size Is Local Is Used in vflash Eligibility ------------------------------------ ------ -------- ----------------- ------------------------------------------- naa.600508b1001c3c4aacc8c33d825d7ff4 114439 true false Yes, there are valid partitions for vflash ~ #
これにより「Is Local true」となった。
esxcfg-scsidevsでも、「Is Local: true Is SSD: true」となった。
~ # esxcfg-scsidevs -l naa.600508b1001c3c4aacc8c33d825d7ff4 Device Type: Direct-Access Size: 114439 MB Display Name: HP Serial Attached SCSI Disk (naa.600508b1001c3c4aacc8c33d825d7ff4) Multipath Plugin: NMP Console Device: /vmfs/devices/disks/naa.600508b1001c3c4aacc8c33d825d7ff4 Devfs Path: /vmfs/devices/disks/naa.600508b1001c3c4aacc8c33d825d7ff4 Vendor: HP Model: LOGICAL VOLUME Revis: 5.42 SCSI Level: 5 Is Pseudo: false Status: on Is RDM Capable: false Is Removable: false Is Local: true Is SSD: true Other Names: vml.0200030000600508b1001c3c4aacc8c33d825d7ff44c4f47494341 VAAI Status: unknown <略> ~ #
この状態となったら、GUIからvFRCの設定が行えるようになった。
該当SSDに対してvFRCの設定を行ったあとの「esxcli storage vflash device list」の結果は以下の様になった。
~ # esxcli storage vflash device list Name Size Is Local Is Used in vflash Eligibility ------------------------------------ ------ -------- ----------------- --------------------------------- naa.600508b1001c3c4aacc8c33d825d7ff4 114439 true true It has been configured for vflash ~ #