2025/01/15
こんにちは。リーダーの角張です。
今回は、うっかりやりがちなVMware ESXiで使用可能なスナップショットを放置した状態でディスク領域が
解放できなくなった場合の対応方法をご紹介いたします。
テスト環境を用意して試してみましょう。
VMware ESXi 7.0.0でテストしております。
「TEST」サーバは以下のディスク構成にしてみました。
C;\ 30GB
E:\ 10GB
テスト環境へファイルコピーし、「スナップショット」を削除してみました。
結果、「仮想マシンでディスク統合が必要です。」と表示されるようになりました。
「TEST-000001.vmdk」や「TEST_1-000001.vmdk」が生成されております。
スナップショットで生成されたファイルが残存しております。
さて、これで起動はできてもファイルの書き込みができないという状況となっております。
ここからの復旧方法を記載します。
1.データストアの保存領域を拡張し、「ディスクの統合」ができるようにする。(vCenter Server Appliance、VMware ESXiで使用可能)
データストアを作成したディスク領域が余っているようであれば、対象のデータストアを拡張することで、
「ディスクの統合」が可能となります。
しかし、「データストア」のディスク領域が拡張できない場合、No.2以降を検討する必要があります。
2. vCenter Server ApplianceへVMware ESXiホストを登録し、「クローニング」を使用して、別のデータストアにファイルを移す。(vCenter Server Applianceで使用可能)
VMware vSphereを導入している環境であれば、vCenter Server Applianceを使用して、対象サーバを別のデータストアに対して
「クローニング」するのが一番簡単な解決方法です。
今回のような、「OS用の領域」と「データ保存領域」を別のデータストアに保存している場合、
「クローニング」により1か所のデータストアに集まってしまうため、この作業以外に別に対応が必要となります。
No.4に詳細を記載いたします。
なお、vCenter Server Applianceが利用できない場合は使用できないため、解説は省略いたします。
3.サーバイメージのエクスポート、インポートを行う(vCenter Server Appliance、VMware ESXiで使用可能)
サーバイメージをエクスポートし、再度インポートし直せるだけのデータストア領域を別途確保したうえで、
サーバイメージをインポートし直すことで、他データストアへ復旧可能となります。
今回のような、「OS用の領域」と「データ保存領域」を別のデータストアに保存している場合、
「サーバイメージのインポート」により1か所のデータストアに集まってしまうため、この作業以外に別に対応が必要となります。
No.4に詳細を記載いたします。
まずは、サーバイメージのエクスポート、インポート中にタイムアウトにならないよう、
「ホスト」>「管理」>「システムタブ」>「詳細設定」>「UserVars.HostClientSessionTimeout」の値を「900」から「0」に変更し、
900秒でログアウトするところを、ログアウトしない設定へ変更する。
次に、サーバイメージのエクスポートを実施します。
作業端末にサーバイメージのダウンロードが終わったら、今度は元のdatastoreと別の場所にサーバイメージのインポートを実施します。
サーバイメージのインポートが完了後、サーバが起動します。
4.VMware vCenter Converter Standaloneを使用したデータストアの再配置
No.2,3でVMware ESXi内へクローニング、作業端末内へサーバイメージのエクスポートを実施、ovfからvmx形式に変更後、
VMware vCenter Converter Standaloneへの変換作業を実施することで、データストアへの複数展開も可能となります。
以下、説明を行います。
作業端末で「VMware vCenter Converter Standalone」をインストールし、起動させます。
以下のリンクよりマニュアルの参照、ソフトウェアのダウンロード可能です。(要VMwareアカウントログイン)
https://www.vmware.com/jp/support/support-resources/pubs/converter_pubs.html
左上の「Convert machine」をクリックします。
「Source System」画面より、「VMware Infrastructure virtual machine」を選択し、
「Specify server connection information」へサーバIPアドレス、ユーザ名、パスワードを入力、「Next」をクリックします。
「Source Machine」画面が表示されるため、移行元のサーバを選択し、「Next」をクリックします。
「Destination System」画面より、移行先サーバを選択する。
今回の場合、同じサーバの他データストア領域へ移行するため、「VMware Infrastructure server details」へ、
「Source System」と同じ情報を入力し、「Next」をクリックします。
「Destination Virtual Machine」画面より、展開するサーバ名を「Name」へ入力し、「Next」をクリックします。
「Destination Location」で、登録先のDatastoreを選択し、「Next」をクリックします。
なお、この画面では1Datastoreしか選択できないが、次の画面「Options」にて変更可能です。
「Options」画面より、「Data to copy」を選択し、それぞれの「VirtualDisk1」「VirtualDisk2」の「Type」より「Thick」か「Thin」を選択し、
「Destination datastore」にて、展開先のデータストアを選択して、「Next」を選択します。
「Summary」より、設定内容を確認の上、「Finish」をクリックします。
サーバの移行が始まるため、完了まで待機します。
今回の場合、30GBのシステム領域、10GBのデータ領域の移行で30分程度かかりました。
「TEST-CLONE2」が展開されたことを確認できました。
起動していることを確認できました。
データストア「TEST」へ展開できていることを確認できます。
データストアがいっぱいになってしまった際でも対応ができる方法はあるため、
今回紹介した方法を活用いただければと思います。