VMware ESXi環境を構築する際、通常はデータストア上に仮想ディスク(vmdk)を作成して利用します。しかし、「物理HDDを直接仮想マシンに認識させたい」「ファイルサーバー用にオーバーヘッドを減らしたい」といったケースもあるでしょう。
そのような場合に役立つのが、RDM(Raw Device Mapping)という手法です。本記事では、ESXiでRDMを使って直接HDDにデータを書き込むための設定手順をステップバイステップで分かりやすく解説します。
RDM(RAW Device Mapping)とは
RDMとは、データストアで管理していない物理ストレージ(HDD)を、仮想ディスクとして仮想マシンから直接操作できるようにする機能です。
HDDの情報とマッピングデータを紐づける特殊な「vmdk」ファイルを作成し、仮想環境はそのvmdkを通じてHDDに直接データを読み書きします。簡単に言えば、HDDをパススルーして仮想マシンに直接繋ぐイメージです。
- 対応環境: VMware (ESXi)、Hyper-V
- 非対応環境: KVM、XenServer
ここでは、ESXi(VMware)での具体的な作成手順を解説します。
RDMの作成・設定手順
ステップ1:対象となるHDDディスクの選択とパスの確認
まずはESXiのWeb Clientからストレージメニューを開き、「デバイス」タブよりRDMに設定したいHDDを選択します。
デバイスには「naa」から始まるESXi独自の識別子が割り振られています。どれか分からない場合は、容量やパーティション情報、HDDのベンダー(メーカー)名などを手がかりに対象のHDDを特定してください。

HDDを選択すると詳細情報が表示されます。後ほどコマンド入力で使用するため、パス情報(デバイスのパス)をコピーできる状態にしておきましょう。

なお、SSH上で直接デバイス一覧を確認したい場合は、以下のコマンドを実行します。
ls -l /vmfs/devices/disks
ステップ2:SSH接続の有効化
vmdkファイルの作成にはコマンド操作が必要なため、ESXiへのSSH接続を有効にします。
Web Clientを使用している場合は、上部の「アクション」⇒「サービス」⇒「Secure Shell (SSH) の有効化」から設定できます。

ステップ3:RDM用vmdkファイルの作成
SSHでESXiにログイン後、RDMのマッピング用となるvmdkファイルを作成します。
このvmdkファイルは後で仮想マシンに紐づけるため、データストア上(`/vmfs/volumes/` 内の表示される場所)に作成します。もちろん、対象の仮想マシンと同じディレクトリ内への作成でも問題ありません。
vmkfstools -z 【/vmfs/devices/disks/naa.****】 【rdm_disk.vmdk】
上記の `【/vmfs/devices/disks/naa.****】` の部分には、ステップ1で取得したHDDのパスを指定し、`【rdm_disk.vmdk】` には任意のファイル名を設定します。
これでRDMの作成準備は完了です。
【vmkfstools -z】(Physicalモード / 物理互換モード)
VMwareを介さずに直接HDDに書き込むモードです。通常はこちらを使用します。
【vmkfstools -r】(Virtualモード / 仮想互換モード)
VMwareを間に挟み、HDDとやりとりするモードです。
物理互換モードの場合、VMwareの管理外となるため、スナップショットやバックアップ機能には不向きです。これらの機能を使いたい場合は仮想互換モードの使用を検討してください。詳細は公式ドキュメントをご確認ください。
仮想マシンへのマウント(使用方法)
最後に、作成したRDM用のvmdkファイルを仮想マシンに割り当てます。

Web Clientから対象となる仮想マシンの「設定の編集」を開き、以下の順序で選択して追加します。
- ハードディスクの追加 をクリック
- 既存のハードディスク を選択
- RDM作成時に作ったvmdkファイル を選択して保存
これで、仮想マシンから直接HDDを操作するRDMの設定は完了です。
まとめ(総評)
RDMの作成は一見難しそうに感じますが、実際にやってみるとコマンド1行で作成できるため非常に簡単です。
注意点として、vMotionを行う際はマッピング用のvmdkファイルを共有データストアに配置しておく必要があります。(ローカルに置いたままだと、マッピングファイル扱いのため移行に失敗する原因となります)
ファイルサーバーのデータ用ディスクなど、余分なオーバーヘッドを無くしてHDDのパフォーマンスを引き出したい場面で非常に有効な設定方法ですので、ぜひ活用してみてください。