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
~ #