VMware ESXi (vSphere) で VMFS データストアの容量を拡張する方法

VMFSデータストアの容量不足への対処は、特に高負荷な環境の場合、よくある悩みの種です。場合によっては、オンザフライで拡張したり、既存の未割り当て領域を使用したりすることで、手間をかけずにサイズを増やすだけで済むこともあります。このガイドでは、vSphere Web Client(通常は簡単ですが、行き詰まる可能性があります)または、より複雑な場合はESXiホストのコマンドラインを使用して、データストアを拡張する方法について説明します。目標は、ストレージ制限によるクラッシュやデータ損失を回避し、VMをスムーズに稼働させることです。

VMFS データストアを拡張する方法 – GUI とコマンドラインの両方のアプローチ

vSphere Web Client を使用してデータストアを拡張する

  • vSphere Clientのストレージセクションに移動します。通常はメニュー → ストレージ の下にあります。データストアを右クリックし、データストア容量の増加 を選択します。簡単ですよね?
  • 拡張したいLUNを選択します。Expandable列を確認してください。 「はい」と表示されているはずです。「いいえ」と表示されている場合は、GUIからの拡張はできません。コマンドラインを使用するか、エクステントを追加してデータストアを拡張する必要があります。
  • 次に、追加したい容量を選択します。ウィザードでは、利用可能な空き容量をすべて使用する設定がデフォルトになっている場合が多く、これは便利ですが、複数のエクステントを個別に保持する場合は注意が必要です。既存のエクステントを拡張するとボリュームが拡張されるという警告が表示されます。そうでない場合は、新しいエクステント(エクステント)が作成されます。
  • 「次へ」をクリックすると、増加量と新しいサイズの概要が表示されます。問題がなければ、拡張が完了するまで待ちます。設定によっては、ストレージが正しく構成されていない場合やブートデバイスの場合、拡張が少し複雑になったり、失敗することがあります。その場合は「VMFSデータストアの拡張に失敗しました」のようなエラーが表示されます。
  • このような場合、特にデータストアがブートディスク上やGUIでは拡張できないVMFSボリューム上にある場合は、コマンドを使って拡張を行う必要があります。コマンドラインを使う時が来ました。

ESXi コマンドラインによるデータストアの拡張

  • ESXiホストにSSHで接続します。確かに少し手間がかかりますが、問題なく動作します。SSHが有効になっていない場合は、「ホスト」→「アクション」→「サービス」→「SSHを有効にする」に進みます。
  • ストレージ アダプタを再スキャンして、新しい LUN サイズを取得します: esxcli storage core adapter rescan --all。運が良ければ、追加されたスペースに気付くのに十分であることがよくあります。
  • VMFSボリュームのディスクデバイスを特定します。「YourDatastoreName」を実際の名前に置き換えるか、「ls /vmfs/volumes/」を使用してすべてのデバイスを一覧表示します。デバイスパス(例: /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1fvmkfstools -P /vmfs/volumes/YourDatastoreName )を探します。
  • ディスクのパーティションテーブルを確認してくださいpartedUtil get /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f。現在のセクターが表示されます。サイズ変更を計画する際には、最初と最後のセクターに注目してください。
  • GPTエラーが発生した場合、またはバックアップGPTが末尾にないことに気付いた場合は、ディスクに対して「partedUtil fixGpt」を実行してください。少し奇妙ですが、特にディスクのサイズ変更後やVMware外でストレージを拡張した場合、GPTテーブルのアライメントがずれることがあります。
  • GPTを修正したら、使用可能なセクターを再度確認してくださいpartedUtil getUsableSectors /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f。これにより、パーティションが拡張できる新しい最大セクターがわかります。
  • 次に、パーティションを拡張しますpartedUtil resize /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f 1 start_sector end_sector。先ほどのコマンドの最初のセクターと最後のセクターを使用します。
  • 最後に、VMFSファイルシステム自体を拡張しますvmkfstools --growfs /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f:1 /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f:1。この手順により、ボリュームは実際に増加したサイズを認識します。
  • サイズが実際に増加したdf -hか、vSphereのデータストアプロパティで確認してください。更新が必要になる場合もありますが、追加された容量は表示されるはずです。

このアプローチは、より冗長でやや技術的な側面はありますが、GUIがうまく動作しない場合や、ルートボリュームの拡張などの制限に達した場合に非常に役立ちます。より低レベルの処理ですが、一部のシステムでは、ダウンタイムやVMのシャットダウンなしで作業を完了できる唯一の方法です。

まとめ

  • まず GUI 拡張を試してください。これはより高速ですが、特にブート ディスクや厳しく制限された LUN では必ずしも機能するとは限りません。
  • GUI が機能しない場合は、SSH と CLI コマンド (再スキャン、デバイス情報の確認、必要に応じて GPT の修正、サイズ変更) を使用します。
  • 拡張後は、必ず `df -h` またはデータストアのプロパティで新しいサイズを再確認してください。

まとめ

VMFSデータストアの拡張は、特にブートディスクや特定の種類のストレージの場合、必ずしもスムーズに進むとは限りません。しかし、忍耐強く適切なコマンドを使用すれば、多くの場合、即座に実行できます。VMを停止する必要はありません。ただし、GPTの修正とサイズ変更のコマンドには注意してください。間違えるとデータ損失につながる可能性があります。この記事が、誰かの時間を節約したり、少なくとも頑固なストレージの問題への正しい道筋を示してくれることを願っています。