仮想ディスク オプションを使用して、データストアに格納されている仮想ディスクの設定、移行、管理を行うことができます。これらのタスクのほとんどは、vSphere Client からも実行できます。

サポートされているディスク フォーマット

仮想ディスクを作成またはクローン作成する場合、-d|--diskformatサブオプションを使用して、ディスク フォーマットを指定できます。

次のフォーマットから選択します。

  • zeroedthick(デフォルト):仮想ディスクに必要な容量は、作成中に割り当てられます。物理デバイスに残っているあらゆるデータは、作成中には消去されませんが、仮想マシンへ初めて書き込みを行うときに必要に応じてゼロアウトされます。仮想マシンがディスクから古いデータを読み取ることはありません。
  • eagerzeroedthick:仮想ディスクに必要な容量は、作成時に割り当てられます。zeroedthickフォーマットの場合とは異なり、物理デバイスに残っているデータは、作成時に消去されます。ほかのタイプのディスクに比べて、ディスクの作成に非常に長い時間がかかることがあります。
  • thin:シン プロビジョニング仮想ディスクです。thickフォーマットの場合と異なり、仮想ディスクに必要な容量は作成時に割り当てられませんが、必要に応じて割り当てられ、消去されます。
  • rdm:device:仮想互換モードの Raw ディスク マッピングです。
  • rdmp:device:物理互換モード(パススルー)の Raw ディスク マッピングです。
  • 2gbsparse:最大エクステント サイズ 2 GB のスパース ディスクです。VMware Fusion などのホスト型 VMware 製品でこのフォーマットのディスクを使用できます。ただし、thickまたは thin などの互換性フォーマットで vmkfstools でディスクを最初に再インポートしない場合には、ESXi ホストでスパース ディスクをパワーオンにできません。

NFS データストアでのディスク フォーマット

NFS に使用できるディスク フォーマットは thinthickzeroedthick、および 2gbsparse のみです。

ESXiホストではなく NFS サーバが割り当てポリシーを決定するため、Thickzeroedthick、およびthin フォーマットは、通常、同様に動作します。ほとんどの NFS サーバのデフォルトの割り当てポリシーはthinです。ただし、 Storage APIs - Array Integration をサポートする NFS サーバで、仮想ディスクをzeroedthickフォーマットで作成できます。予約スペース操作により、NFS サーバはスペースを割り当てて保証することが可能となります。

アレイ統合 API の詳細については、vSphere のストレージ ハードウェア アクセラレーションを参照してください。

仮想ディスクの作成

仮想ディスクを作成するには、vmkfstoolsコマンドを使用します。

-c|--createvirtualdisk size[bB|sS|kK|mM|gG]
      -d|--diskformat [thin|zeroedthick|eagerzeroedthick]
      -W|--objecttype [file|vsan|vvol]
      --policyFile fileName

このオプションは、データストア上の指定したパスに仮想ディスクを作成します。仮想ディスクのサイズを指定します。サイズ の値を入力する際、末尾に k (キロバイト)、m (メガバイト)、またはg (ギガバイト) を追加すると、単位のタイプを指定できます。単位のタイプに大文字と小文字の区別はありません。vmkfstoolsは、kK のいずれも KB として認識します。単位のタイプを指定しない場合、vmkfstoolsではデフォルトでバイトに設定されます。

-cオプションとともに、次のサブオプションを指定できます。

  • -d|--diskformatは、ディスク フォーマットを指定します。
  • -W|--objecttypeは、仮想ディスクが VMFS 上または NFS データストア上のファイルであるか、または vSAN または Virtual Volumes データストア上のオブジェクトであるかを指定します。
  • --policyFile fileName はディスクの仮想マシン ストレージ ポリシーを指定します。

仮想ディスクを作成する例

この例は、disk.vmdk という名前の 2 GB の仮想ディスク ファイルの作成方法を示しています。myVMFSという名前の VMFS データストアにディスクを作成します。このディスク ファイルは、仮想マシンがアクセスできる空の仮想ディスクです。

vmkfstools -c 2048m /vmfs/volumes/myVMFS/disk.vmdk

仮想ディスクの初期化

仮想ディスクを初期化するには、vmkfstools コマンドを使用します。

-w|--writezeros
このオプションは、すべてのデータにゼロを書き込むことで、仮想ディスクをクリーンアップします。仮想ディスクのサイズおよびその仮想ディスクをホストするデバイスへの I/O バンド幅によっては、このコマンドの完了に時間がかかることがあります。
注: このコマンドは NFS データストアではサポートされていません。
注意: このコマンドを使用する場合、仮想ディスクにある既存のデータはすべて消失されます。

シン仮想ディスクの拡張

シン仮想ディスクを拡張するには、vmkfstools コマンドを使用します。

-j|--inflatedisk

このオプションは、すべての既存データを保持したまま、thin 仮想ディスクを eagerzeroedthick に変換します。このオプションは、まだ割り当てられていないブロックの割り当ておよび消去を行います。

Zeroedthick 仮想ディスクから Eagerzeroedthick ディスクへの変換

任意の zeroedthick 仮想ディスクを eagerzeroedthick ディスクに変換するには、vmkfstools コマンドを使用します。

-k|--eagerzero

変換の実行中に仮想ディスク上の任意のデータを保持します。

この例に従ってください。

vmkfstools --eagerzero /vmfs/volumes/myVMFS/VMName/disk.vmdk

ゼロクリアされたブロックの削除

vmkfstools コマンドを使用して、ゼロクリアされたブロックを削除します。

-K|--punchzero

このオプションは、ゼロクリアされたすべてのブロックの割り当てを解除し、割り当て済みで有効なデータを含むブロックだけを残します。処理後の仮想ディスクはシン フォーマットになります。

仮想ディスクの削除

vmkfstools コマンドを使用して、VMFS ボリューム上の指定されたパスで仮想ディスク ファイルを削除します。

次のオプションを使用します。

-U|--deletevirtualdisk

仮想ディスクの名前の変更

vmkfstools コマンドを使用して、VMFS ボリュームの指定されたパスにある仮想ディスク ファイルの名前を変更します。

元のファイル名またはファイル パスである oldName と、新しいファイル名またはファイル パスである newName を指定する必要があります。

-E|--renamevirtualdisk oldNamenewName

仮想ディスクまたは RDM のクローン作成または変換

vmkfstools コマンドを使用して、指定した仮想ディスクまたは Raw ディスクのコピーを作成します。

非 root ユーザーは、仮想ディスクまたは RDM にクローン作成できません。元のファイル名またはファイル パスである oldName と、新しいファイル名またはファイル パスである newName を指定する必要があります。

 -i|--clonevirtualdisk oldName newName
      -d|--diskformat [thin|zeroedthick|eagerzeroedthick|rdm:device|rdmp:device|2gbsparse]
      -W|--objecttype [file|vsan|vvol]
      --policyFile fileName
      -N|--avoidnativeclone

作成したコピーに対応するパラメータを変更するには、次のサブオプションを使用します。

  • -d|--diskformatは、ディスク フォーマットを指定します。
  • -W|--objecttypeは、仮想ディスクが VMFS 上または NFS データストア上のファイルであるか、または vSAN または Virtual Volumes データストア上のオブジェクトであるかを指定します。
  • --policyFile fileName はディスクの仮想マシン ストレージ ポリシーを指定します。

デフォルトでは、ESXiはネイティブの方法を使用してクローン作成操作を実行します。使用しているアレイでクローン作成テクノロジーがサポートされている場合は、操作をアレイにオフロードできます。ESXiネイティブ クローン作成を回避するには、-N|--avoidnativeclone オプションを指定します。

仮想ディスクのクローン作成または変換例

この例では、templatesリポジトリから、ファイル システム myVMFS にある myVMFS という名前の仮想ディスク ファイルに、マスタ仮想ディスクの内容のクローンを作成します。

vmkfstools -i /vmfs/volumes/myVMFS/templates/gold-master.vmdk /vmfs/volumes/myVMFS/myOS.vmdk

次の例のように、仮想マシンの構成ファイルに数行追加すると、この仮想ディスクを使用するように仮想マシンを構成できます。

scsi0:0.present = TRUE 
scsi0:0.fileName = /vmfs/volumes/myVMFS/myOS.vmdk

ディスクのフォーマットを変更する場合は、-d|--diskformatサブオプションを使用します。

このサブオプションは、ESXiと互換性のないフォーマット(2gbsparse フォーマットなど)で仮想ディスクをインポートする際に役立ちます。ディスクの変換後、ESXiに作成した新しい仮想マシンにこのディスクを接続できます。

例:
vmkfstools -i /vmfs/volumes/myVMFS/templates/gold-master.vmdk /vmfs/volumes/myVMFS/myOS.vmdk  -d thin

仮想ディスクの拡張

仮想マシン作成後、vmkfstools コマンドを使用して、仮想マシンに割り当てられたディスクのサイズを拡張できます。

-X|--extendvirtualdisk newSize[bBsSkKmMgGtT]

newSize パラメータを指定し、末尾に適切な単位を追加します。単位のタイプに大文字と小文字の区別はありません。vmkfstools は、kK のいずれも KB として認識します。単位のタイプを指定しない場合、vmkfstools ではデフォルトで KB に設定されます。

newSize パラメータは、ディスクに追加するサイズではなく、新しいサイズ全体を定義します。

たとえば、4 g の仮想ディスクを 1 g 分拡張するには、次のように入力します。vmkfstools -X 5gdisk name

-d eagerzeroedthick オプションを使用することによって、仮想ディスクを eagerzeroedthick フォーマットに拡張できます。

-X オプションを使用する場合は、次の考慮事項が適用されます。

  • スナップショットが関連付けられている仮想マシンの基本ディスクを拡張しないでください。拡張すると、スナップショットのコミットや、ベース ディスクの元のサイズへの復元ができなくなります。
  • ディスクの拡張後、ディスクのファイル システムの更新が必要な場合があります。その結果、ゲスト OS はディスクの新しいサイズを認識し、使用できるようになります。

仮想ディスクのアップグレード

このオプションは、指定した仮想ディスク ファイルを ESX Server 2 フォーマットから ESXi フォーマットに変換します。

タイプが LEGACYSPARSE、LEGACYPLAIN、LEGACYVMFS、LEGACYVMFS_SPARSE、LEGACYVMFS_RDM の仮想ディスクを変換するにはこのオプションを使用します。

-M|--migratevirtualdisk

仮想互換モードの Raw デバイス マッピングの作成

vmkfstools コマンドを使用して、VMFS ボリューム上で Raw デバイス マッピング (RDM) ファイルを作成し、Raw LUN をこのファイルにマッピングします。このマッピングが完了すると、通常の VMFS 仮想ディスクにアクセスする場合と同じように LUN にアクセスできます。マッピングするファイルの長さは、参照する Raw LUN のサイズと同じです。

-r|--createrdm device

device パラメータを指定する場合は、次の形式を使用してください。

/vmfs/devices/disks/disk_ID:P

仮想互換モードの RDM を作成する例

この例では、my_rdm.vmdk という名前の RDM ファイルを作成し、そのファイルに disk_ID Raw ディスクをマッピングします。

vmkfstools -r /vmfs/devices/disks/disk_ID my_rdm.vmdk

仮想マシンの構成ファイルに次の行を追加すると、my_rdm.vmdk マッピング ファイルを使用するように仮想マシンを構成できます。

scsi0:0.present = TRUE 
scsi0:0.fileName = /vmfs/volumes/myVMFS/my_rdm.vmdk

物理互換モードの Raw デバイス マッピングの作成

vmkfstools コマンドを使用して、パススルー Raw デバイスを VMFS ボリューム上のファイルにマッピングします。このマッピングによって、仮想マシンが仮想ディスクにアクセスするときに、ESXi SCSI コマンド フィルタリングをバイパスできます。このタイプのマッピングは、仮想マシンが企業独自の SCSI コマンドを送信する必要がある場合に役に立ちます。たとえば、SAN 対応のソフトウェアを仮想マシンで実行する場合などです。

-z|--createrdmpassthru deviceexample.vmdk

このタイプのマッピングが完了すると、それを使用して、他の VMFS 仮想ディスクにアクセスする場合と同じように Raw ディスクにアクセスできます。

device パスを指定する場合は、次の形式を使用してください。

/vmfs/devices/disks/device_ID

.vmdk 名に、この形式を使用します。コマンドを使用する前にデータストアを作成することを確認してください。

/vmfs/volumes/datastore_name/example.vmdk
次に例を示します。
vmkfstools -z /vmfs/devices/disks/naa.600a0000000000000... /vmfs/volumes/datastore1/mydisk.vmdk

RDM の属性の一覧表示

vmkfstools コマンドを使用して、Raw ディスク マッピングの属性を一覧表示します。これらの属性は、RDM ファイルがマップするストレージ デバイスを識別するのに役立ちます。

-q|--queryrdm my_rdm.vmdk

このオプションは、Raw ディスク RDM の名前を出力します。このオプションは、その Raw ディスクに関するほかの識別名情報 (ディスク ID など) も出力します。

RDM 属性の一覧表示の例

# vmkfstools -q /vmfs/volumes/VMFS/my_vm/my_rdm.vmdk 

Disk /vmfs/volumes/VMFS/my_vm/my_rdm.vmdk is a Passthrough Raw Device Mapping 

Maps to: vml.020000000060050768019002077000000000000005323134352020 

仮想ディスク構造の表示

vmkfstools コマンドを使用して、仮想ディスクの構造に関する情報を取得します。

-g|--geometry

出力形式は、Geometry information C/H/S です。 ここで C はシリンダ数、H はヘッド数、S はセクタ数を表します。

注: ホストされた VMware 製品から仮想ディスクを ESXi ホストにインポートすると、ディスク構造の不整合を示すエラー メッセージが表示される場合があります。ディスク構造の不整合によって、ゲスト OS をロードしたり新規作成された仮想マシンを実行したりすると、問題が発生する場合があります。

仮想ディスクの確認と修復

vmkfstools コマンドを使用して仮想ディスクをチェックし、仮想ディスクが破損している場合は修復します。

-x|--fix [check|repair]

次に例を示します。

vmkfstools -x check /vmfs/volumes/my_datastore/my_disk.vmdk

整合性のためのディスク チェーンのチェック

vmkfstools コマンドを使用して、スナップショット チェーン全体を確認します。チェーン内のリンクが壊れているかどうか、または無効な親子関係が存在するかどうかを判断できます。

-e|--chainConsistent