VMware ESXi6.7でRDMの「物理互換モード」と「仮想互換モード」を試す

VMware ESXiESXi,RDM

RDMについて

RDMの概要

RDMとはRaw Device Mappingの略であり、ESXi上の仮想マシンから物理ストレージサブシステム上のLUNに直接アクセスできるための技術です。例えば、ESXiホストに内部接続されているHDDやiSCSIで接続しているLUNに対して、仮想マシンが直接アクセスすることが可能になります。

仕組みとしては、VMFSボリューム(データストア)にマッピングファイルを設定します。そのマッピングファイルには物理ストレージやLUNを参照する情報があります。
仮想マシンはVMFSボリュームにアクセスしていると見せかけ、実際はマッピング先の内臓HDDやLUNにアクセスします。

仮想マシンは、VMFS データストアの Raw デバイス マッピング (RDM) ファイルを使用して、物理ストレージの LUN に直接アクセスします。
Raw デバイス マッピング』から引用

詳細は、下記のVMware公式から確認できます。

・RAW デバイス マッピングについて
https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.storage.doc/GUID-9E206B41-4B2D-48F0-85A3-B8715D78E846.html

RDMの動作モードについて [物理互換モード・仮想互換モード]

RDMには動作モードとして「物理互換モード」「仮想互換モード」の二種類が存在します。機能概要を記載します。

■物理互換モード
最低限の仮想化を行う。そのためスナップショットは不可能だがSCSIコマンドの受付が可能。またハードウェアのすべての物理特性が公開されます。

■仮想互換モード
完全な仮想化を行う。VMFSボリュームとして認識されスナップショットに対応。実際のハードウェア特性は表示不可。

こちらも詳細は下記のVMware公式から確認できます。

・物理互換の RDM と仮想互換の RDM の違い (2009226)
https://kb.vmware.com/s/article/2009226?lang=ja

RDMの実装方法

今回、ESXiに内臓SATAで接続された8TB HDDが2台(モデルは同じ)あるので、それぞれを「物理互換モード」と「仮想互換モード」で構成します。
また、仮想マシンのFreeNASで両8TBのHDDをマウントして利用することができるのか確認します。

以下、RDMの実装手順です。

事前確認

RDMにするのは接続済みのSATA HDDのデバイスIDを把握する必要がります。下記はGUIからの確認です。

下記のようにCLIから直接デバイスIDを確認することも可能です。

[root@esxi:~] ls -l /vmfs/devices/disks
total 17581578224
<省略>
-rw-------    1 root     root     8001563222016 Jul 18 16:50 t10.ATA_____ST8000DM0042D2CX188__________________________________ZCT2JCH0
-rw-------    1 root     root     8001563222016 Jul 18 16:50 t10.ATA_____ST8000DM0042D2CX188__________________________________ZCT2JRBJ
<省略>
[root@esxi:~]

別のコマンドによる確認です。(ESXiが認識可能なストレージデバイスを一覧表示する)

[root@esxi:~] esxcfg-mpath -L
vmhba0:C0:T1:L0 state:active t10.ATA_____CT1000MX500SSD1_________________________1912E1F3243E________ vmhba0 0 1 0 NMP active local sata.vmhba0 sata.0:1
vmhba0:C0:T0:L0 state:active mpx.vmhba0:C0:T0:L0 vmhba0 0 0 0 NMP active local sata.vmhba0 sata.0:0
vmhba0:C0:T3:L0 state:active t10.ATA_____ST8000DM0042D2CX188__________________________________ZCT2JCH0 vmhba0 0 3 0 NMP active local sata.vmhba0 sata.0:3
vmhba0:C0:T2:L0 state:active t10.ATA_____ST8000DM0042D2CX188__________________________________ZCT2JRBJ vmhba0 0 2 0 NMP active local sata.vmhba0 sata.0:2
[root@esxi:~]

以降、RDMの各モードと各HDDの組み合わせは下記の内容で設定します。

モードデバイスID
物理互換モードt10.ATA_____ST8000DM0042D2CX188__________________________________ZCT2JRBJ
仮想互換モードt10.ATA_____ST8000DM0042D2CX188__________________________________ZCT2JCH0

物理互換モードの設定

コマンドは「vmkfstools」を使います。

まずは物理互換モードから試します。

[root@esxi:~] vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST8000DM0042D2CX188__________________________________ZCT2JRBJ /vmfs/volumes/datastore1_ssd_1tb/rdm_p_disk.vmdk

[root@esxi:~]

コマンドを実行するとESXiのデータストアにvmdkファイルが作成されます。

仮想互換モードの設定

次に仮想互換モードです。(なお、コマンドオプションについて、物理互換モード時は「-z」仮想互換モード時は「-r」となります)

[root@esxi:~] vmkfstools -r /vmfs/devices/disks/t10.ATA_____ST8000DM0042D2CX188__________________________________ZCT2JCH0 /vmfs/volumes/datastore1_ssd_1tb/rdm_v_disk.vmdk

[root@esxi:~]

ステータス確認

作成したvmdkがRDMで認識していることを確認します。コマンドオプションは「-q」です。
物理互換モードのvmdkはパススルー、仮想互換モードのvmdkは非パススルーであることが確認でき、いずれも「Raw Device Mapping」であることが確認できます。

[root@esxi:~] vmkfstools -q /vmfs/volumes/datastore1_ssd_1tb/rdm_p_disk.vmdk
Disk /vmfs/volumes/datastore1_ssd_1tb/rdm_p_disk.vmdk is a Passthrough Raw Device Mapping
Maps to: vml.01000000002020202020202020202020205a4354324a52424a535438303030
[root@esxi:~]
[root@esxi:~] vmkfstools -q /vmfs/volumes/datastore1_ssd_1tb/rdm_v_disk.vmdk
Disk /vmfs/volumes/datastore1_ssd_1tb/rdm_v_disk.vmdk is a Non-passthrough Raw Device Mapping
Maps to: vml.01000000002020202020202020202020205a4354324a434830535438303030
[root@esxi:~]

次に仮想ディスクのエラーチェックです。(-xで破損状態をチェックするらしいのですが、どの程度チェックを行っているのかは不明です。)

[root@esxi:~] vmkfstools -x check /vmfs/volumes/datastore1_ssd_1tb/rdm_p_disk.vmdk
Disk is error free
[root@esxi:~]
[root@esxi:~] vmkfstools -x check /vmfs/volumes/datastore1_ssd_1tb/rdm_v_disk.vmdk
Disk is error free
[root@esxi:~]

RDMの設定自体は以上で完了です。次に仮想マシンからRDMのHDDに接続してみます。

仮想マシンからRDMのHDDに接続する

今回、仮想マシンにはFreeNASを使用します。

早速ですが、ESXi上から仮想マシンの設定を開き、下記の通り進めます。
ハードディスク>既存のハードディスク

データストアブラウザが開くので、物理互換モードで作成したvmdkファイルを選択します。

次に、仮想互換モードも同様の手順で選択します。

物理互換モードと仮想互換モードの新規ハードディスクが設定したら保存します。

ESXi上での設定は以上です。次から仮想マシン側の設定を行います。

FreeNASからの確認

FreeNAS上で見えるディスク状態

下記は上記作業後にFreeNASを起動し、FreeNASのWebコンソール画面からディスク状態を見た画面です。
da1が物理互換モードのHDDで、da2が仮想互換モードのHDDです。物理互換モードのHDDはModelや回転率等が表示されていますが、仮想互換モードのHDDがSSDと表示されたりModelがVMware Virtual diskとなっていて仮想化され本来のハードウェア情報を表示できていないことが分かります。

ストレージ領域として使う

RDMと直接関係がないので設定方法は割愛しますが、FreeNAS上で物理互換モードのHDD上と、仮想互換モードのHDD上で、それぞれのストレージ領域を作成しました。

WindowsからそれぞれのディスクにSMB接続しファイルを格納しました。問題なく使用可能です。

以上、RDMについてでした。