ESXi

【ESXi】RDMを使って直接HDDにデータを書き込む方法

2018年11月21日

ESXiを運用する際、通常はHDD内に仮想ディスク(vmdk)を作成し、それを使用するのだが、直接HDDを使いたい場合はRDMという方法を使ってやる方法があるようです。

RDM(RAW Device Mapping)とは

データストアで管理していないストレージ(HDD)を仮想ディスクとして仮想マシンから操作できるようにする機能です。
HDDの情報とマッピングデータを紐づけるvmdkを作成し、仮想環境はそのvmdkを通じてHDDに直接データを挿入するようなイメージになるようです。
HDDをパススルーして直接仮想マシンにつなぐイメージのほうがいいかも。
ちなみに、VMWareとHyper-Vで使用可能でKVM、XenServerでは使えないようです。
ここではESXi(VMWare)での作成方法を説明します。

RDMの作成方法

HDDディスクの選択

ストレージを選び、デバイスタブよりRDMにしたいHDDを選びます。
「naa」から始まるESXi独自の識別子で振られていますので、わからない場合は容量やパーティション情報、HDDベンダー等で適用なHDDを選びます。

HDDを選択すると詳細情報が表示されますので、パス情報をコピペできるように覚えておきます。

SSHでデバイスの確認をしたい場合は下記コマンドを実行すると表示されます。

ls -l /vmfs/devices/disks

SSHの有効化

ESXiでSSH接続を有効にし、SSH接続を行います。
Web Clientの場合はアクション⇒サービスでSSH有効にできます。

vmdkの作成

RDMを行うためにはvmdkの作成が必要になりますので、SSHにログイン後、適当なデータストアにvmdkを作成します。
vmdkは後に仮想マシンに紐づけるため、データストア上(/vmfs/volumes/内で表示される場所)に作成します。
もちろん仮想マシンと同じディレクトリ内に作成もOK

vmkfstools -z 【/vmfs/devices/disks/naa.****】 【rdm_disk.vmdk】

【/vmfs/devices/disks/naa.****】はHDDディスクの選択にて取得したパスを指定し、適当なファイル名のvmdkを作成します。
これでRDMの作成準備は完了です。

【vmkfstools -z】・・・Physicalモード(物理互換モード:VMWareを介さずに直接HDDに書き込むモード)であり、通常はこちらを使うのですが、
【vmkfstools -r】・・・Virtualモード(仮想互換モード:VMWareを間にはさみHDDとやりとりするモード)もあるようです。
物理互換の場合、VMWareを介さないためスナップショットやバックアップには不向きなので使いたい場合は仮想互換モードを使うみたい。詳細はこちら

使用方法

仮想マシンに作成したvmdkを割り当てます。

Web Clientだと仮想マシンの設定より下記順に選択します。

  1. ハードディスクの追加
  2. 既存のハードディスク
  3. RDM作成時に作ったvmdk

これでRDMができるはずです。

総評

RDM作成方法がめんどくさいと思っていたのですが、思った以上に簡単だった。
また、vMotionを行う際にはマッピング用vmdkを共有のデータストアに保持しないと移行失敗したりする。(マッピングファイル扱いなので当然といえば当然か・・・)
ファイルサーバ用ディスクとして使ったりするには余分なオーバーヘッドがなくなっていいんじゃないかな。

-ESXi
-, , ,