仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)

本記事では、vSphere Web Client(vSphere Client)のGUI操作、またはVMware ESXiのコマンドライン(SSH)を使用してVMFSデータストアの容量を拡張する方法について詳しく解説します。

VMFSデータストアの空き容量を確認したところ、あるデータストアの空き領域が不足していることに気づいたとします。このような場合、ストレージ領域を追加することでVMFSデータストアのサイズを増やしたいはずです。

前提条件:ストレージ側でLUNを拡張する

まず最初に行うべきは、ストレージデバイス側でLUNのサイズを拡張することです。具体的な手順はストレージベンダーによって異なります。例えばWindows ServerのiSCSI LUNを使用している場合は、サーバーマネージャーの「ファイルサービスと記憶域サービス」→「iSCSI」から対象ディスクを選択し、「iSCSI仮想ディスクの拡張」を実行することでVHDXを拡張できます。本記事の例では、LUNのサイズを100GBから105GBへ拡張しています。

なお、VMware ESXiにはVMFSデータストアを拡張する方法が2つあります。

  • 同一LUN内の未使用領域を使って拡張する方法(本記事で解説する方法)
  • 別のLUNを追加する方法(エクステント/extent)

VMFSエクステントとは、複数のLUNにまたがるパーティションのようなものです。データはまず1つ目のLUNに書き込まれ、いっぱいになると2つ目のLUNに書き込まれる、という仕組みになります。

vSphere Web Clientを使ってVMFSデータストアを拡張する手順

  1. vSphere Client画面で「ストレージ(Storage)」を選択します。
  2. 対象のデータストアを右クリックし、「データストア容量の増加(Increase Datastore Capacity)」を選択します。
    【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)
  3. 拡張したいディスク(LUN)を選択します。このとき「Expandable(拡張可能)」列の値を確認してください。「Yes」と表示されていれば、そのVMFSデータストアは拡張可能です。「No」と表示されている場合は、VMFSエクステントとして別LUNを追加する形でしか容量を増やせません。【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)
  4. 次の画面で、どれだけストレージサイズを増やすかを指定します。デフォルトでは利用可能な空き領域すべてを使う設定(Use Free space 5Gb to expand the datastore)が提案されます。現在のパーティションを空き領域で拡張する旨の警告も表示されます。
    【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)
    The datastore already occupies one or more extents on this device. Selecting free space adjacent to an extent in the datastore will expand that extent. Selecting any other option will add a new extent to the datastore.
  5. 内容に問題がなければ「次へ」をクリックします。サマリー画面で、VMFSデータストアがどれだけ増えるか(Increase Datastore Size by)と、新しい合計サイズ(Future Datastore Size)を確認できます。
    【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)

VMFS6におけるVMFSデータストアの最大サイズは64TBです。ストレージ構成は単一のLUNでも構いませんし、合計64TBまでの最大32個のエクステントで構成することも可能です。

vSphere Clientから拡張できない場合の対処法

場合によっては、vSphere ClientのグラフィカルインターフェースからVMFSデータストアを拡張できないことがあります。最も多いのは、ブートディスクデバイス上のVMFSストレージを拡張しようとしたケースです。その場合、以下のようなエラーが表示されます。

Failed to expand VMFS datastore VMFSstore - Cannot change the host configuration.

【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)

このようなケースでは、ESXiホストのコマンドラインからデータストアを拡張する必要があります。

コマンドライン(SSH)からVMFSデータストアを拡張する手順

  1. SSH経由でESXiホストに接続します(Windowsであれば標準搭載のSSHクライアントを利用できます)。
  2. ストレージアダプタを再スキャンします。esxcli storage core adapter rescan --all
  3. VMFSデータストアが配置されているディスク(LUN)を特定します。vmkfstools -P /vmfs/volumes/DCx2VMFS1 本例では、ディスクは /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f.:1 と表示され、VMFSデータストアがディスクの第1パーティションにあることを意味します。
    【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)
  4. ディスクのパーティションテーブルを確認します。partedUtil get /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f
    13706 255 63 220200960
    1 2048 209713152 0 0

    本例では、第1パーティションの開始セクタは 2048、終了セクタは 209713152 です。

  5. 次に、使用可能な最終セクタ番号(VMFSパーティションを拡張できる上限のセクタ)を取得します。partedUtil getUsableSectors /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f
  6. 筆者の環境では、以下のようなエラーが返されました。
    Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?
    
    Warning: Not all of the space available to /dev/disks/naa.6000f3fdc1175dacd86b623db26e4d1f appears to be used, you can fix the GPT to use all of the space (an extra 10485760 blocks) or continue with the current setting? This will also move the backup table at the end if is not at the end already. diskSize (220200960) AlternateLBA (209715199) LastUsableLBA (209715166) NewLastUsableLBA (220200926)
    

    【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)

  7. GPTテーブルのエラーを修復するには、以下のコマンドを実行します。partedUtil fixGpt /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f
    FixGpt tries to fix any problems detected in GPT table.
    Please ensure that you don't run this on any RDM (Raw Device Mapping) disk.
    Are you sure you want to continue (Y/N): Exiting ...
    gpt
    13706 255 63 220200960
    1 2048 209713152 AA31E02A400F11DB9590000C2911D1B8 vmfs 0

    ※fixGptコマンドはRDM(Raw Device Mapping)ディスクに対しては実行しないよう注意してください。

  8. 改めて最終利用可能セクタ番号(NewLastUsableLBA)を表示します。partedUtil getUsableSectors /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f 本例では、パーティションをセクタ 220200926 まで拡張できることがわかります。
    【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)
  9. これでパーティションの開始セクタ(2048)と終了セクタ(220200926)が判明しました。パーティションを拡張します。partedUtil resize /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f 1 2048 220200926
  10. 続いてVMFSファイルシステムを拡張(グロウ)します。vmkfstools --growfs /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f:1 /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f:1
  11. VMFSデータストアの一覧を更新します。vmkfstools –V
  12. ローカルデータストアのサイズを確認します。df –h
    【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)

ご覧のとおり、VMFSデータストアは正常に5GB拡張されました。この作業はオンラインで実施でき、データストアをアンマウントしたり仮想マシンを停止したりする必要はありません。

まとめ

VMFSデータストアの拡張は、基本的にはvSphere ClientのGUIから数クリックで完了します。ただし、ブートディスクなど特殊なケースではGUIからの拡張に失敗することがあり、その場合はSSH接続してpartedUtilとvmkfstoolsコマンドでパーティションとファイルシステムを拡張すれば解決できます。いずれの方法でも仮想マシンの停止なしにオンラインで作業できるため、運用中の環境でも安心して実行できます。

あわせて、VMware仮想マシンのディスクファイル(vmdk)を縮小する方法についてのガイドも参考になるでしょう。

  1. 【完全ガイド】VMware Workstation PlayerにvSphere ESXi 6.7をインストールする方法

    本チュートリアルでは、VMware Workstation Player上に「VMware vSphere Hypervisor(ESXi)6.7」をインストールする手順を、ステップバイステップで詳しく解説します。Workstation上にESXiを構築することで、物理サーバーを用意しなくてもvSphere ESXiサーバーの各種機能を自由にテスト・検証できるようになります。 関連記事: 物理サーバー(ベアメタル)にvSphere ESXi 6.7をインストールする方法 インストール前の準備①:ハードウェア要件 CPU: ホストマシンのCPUは最低2コア以上が必要で、ハードウェア仮想化機能

  2. VMware ESXiで仮想マシンのクローンを作成する手順を徹底解説

    本チュートリアルは、一般の家庭ユーザーにはあまり馴染みがないかもしれません。しかし、何らかの理由で環境にVMware ESXiを採用している方にとっては、きっと役立つ内容となるはずです。VMware ESXiは無料で提供されているベアメタル型ハイパーバイザーです。より多機能な有償製品「ESX Server」への購入を促すための、いわば導入版的な位置づけにあります。ESX Serverはあらゆる機能を備えている一方、価格も桁違いに高額です。ESXiは、ベアメタル仮想化における「低コストな選択肢」と言えるでしょう。そのため、上位製品にはある当たり前の機能がいくつか欠けており、クローン作成機能もその