Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
VMwareスナップショットは仮想マシンの状態を特定時点で切り取ったデータで、障害発生時に戻れる復元ポイントとして活用できます。
スナップショット作成時、VMwareは元の仮想ディスクを読み取り専用に固定し、新規書き込みデータはすべてデルタディスク(-delta.vmdkファイル)に転送されます。仮想マシンがデータを生成するたび、このファイルのサイズは増加し続けます。またVMwareはVMの状態メタデータを保存する.vmsnファイルを作成し、これにより作成時点の状態に完全復元可能となります。
保存される3種類の状態
VMwareスナップショットは仮想マシンの3層の状態を記録可能です。
スナップショットとバックアップの違い
スナップショットは短期的な取り消しボタンと考えてください。パッチ適用や設定変更前に便利ですが、災害復旧の代替手段にはなりません。
VMwareスナップショットの自動定期実行にはvSphere標準GUIまたはPowerCLIスクリプトの2種類の手段があります。環境規模や必要な柔軟性に応じて適切な手法を選択してください。
GUI操作を好む管理者に最も簡易な手段で、単一VMの定期実行や単純な繰り返しタスクに適しています。
事前条件
手順(vSphere 6.5 / 6.7 / 7.x / 8.x共通)
既存定期タスクの編集・削除方法
定期タスクの編集・削除は配下の仮想マシンに影響を与えません。定期タスク画面で各タスクの実行履歴(開始時間・終了時間・実行ステータス)を確認し、随時設定変更が可能です。タスクにより作成済みのスナップショットは影響を受けません。
GUIの制限事項
vCenterの定期実行機能は簡易的な用途に便利ですが制限が存在します。条件分岐ロジックに対応せず、古いスナップショットの自動削除機能が標準搭載されておらず、タスク実行失敗時の通知機能も標準で備わっていません。
数十台~数百台のVMを管理する場合、vCenter GUIでは作業効率が低下します。PowerCLIを使用すると全環境のVMに対し一括でスナップショット作成を自動化でき、条件分岐や古いスナップの自動クリーンアップに対応します。
PowerCLIを使用する場面
複数VM環境で統一された命名ルールや一括処理が必要な場合に適しています。またvCenter GUIにはないスナップショット自動削除の標準手段として唯一の選択肢となります。
事前条件
スクリプト実行前にVMware PowerCLIモジュールをインストールし、vCenter Serverに接続してください。
Install-Module -Name VMware.PowerCLI
Connect-VIServer -Server "vcenter_server_name"
単一VMのスナップショット作成
下記コマンドは日付付き名称のスナップショットを作成します。-QuiesceオプションはVMware Toolsを介しファイルシステムをフリーズし、アプリケーション整合性の取れたスナップショットを生成します。-Memoryオプションは稼働中のRAM状態を保存します。
New-Snapshot -VM "VM_Name" -Name "Pre-Patch-$(Get-Date -Format yyyyMMdd)" -Quiesce -Memory -RunAsync
-Quiesceを使用するにはゲストOSにVMware Toolsがインストール・起動している必要があります。Toolsが存在しない、またはOSがファイル凍結に対応していない場合、オプションは無視されるかコマンド実行が失敗します。-RunAsync:タスクをバックグラウンド実行に切り替え、PowerShellコンソールを即時利用可能にします。
起動中VMの一括スナップショット作成
全ての起動済みVMに一括でスナップショットを作成する場合は電源状態でフィルタリング後、スナップショットコマンドに渡します。
Get-VM | Where-Object {$_.PowerState -eq "PoweredOn"} | New-Snapshot -Name "DailySafety" -RunAsync
古いスナップショットの自動削除
放置されたスナップショットはファイルサイズが膨張し続け、データストアの容量を圧迫する「スナップショットスプロール」という問題が発生します。下記スクリプトで指定期間を超過したスナップショットを削除可能です。
# 3日以上経過したスナップショットを削除
Get-VM | Get-Snapshot | Where-Object {$_.Created -lt (Get-Date).AddDays(-3)} | Remove-Snapshot -Confirm:$false
Windowsタスクスケジューラーに本スクリプトを毎日実行登録することで、スナップショット容量圧迫の問題を解消できます。
スナップショットは短期的なロールバックに有用ですが、本格的なバックアップ戦略の代替にはなりません。データストア障害やスナップショットチェーン破損が発生した場合、復元手段が失われます。
本番環境では独立したストレージへの定期バックアップが必須であり、専用バックアップソフトi2Backupがこの課題に対応します。
スナップショットは瞬間の状態を切り取るだけ、バックアップはデータと業務を守ります。データ損失が許容されない環境ではVMware定期スナップショットとi2Backupの自動バックアップを併用し、短期ロールバック機能と長期災害復旧対策を両立できます。
スナップショット自動化は手間を削減する反面、問題が静かに蓄積されやすくなります。下記運用ルールでストレージトラブルを事前に回避し、安定したスナップショット運用を実現します。
VMが新規データを書き込むたびにスナップショットのデルタファイルは肥大化し続けます。VMwareは保管期間を72時間以内に抑えることを推奨しており、これを超過するとファイル巨大化によるデータストア容量枯渇、VMパフォーマンス低下が発生します。
VMwareは1チェーン最大32個のスナップショットに対応していますが、上限に達する前からパフォーマンスが低下します。運用中のチェーンは最大2~3個に抑えてください。
DBサーバーなど書き込み負荷の高い業務はデータ変更が高速に発生するため、スナップショットによる容量消費が想定以上に速く進み、アプリレイテンシや障害を引き起こす恐れがあります。
スナップショットはベースディスクに紐付いた一時的なデルタファイルです。ベースディスク損失またはデータストア障害時、スナップショットも同時に失われます。長期的な災害復旧対策にはInfo2softのi2Backupなど専用バックアップ製品を使用してください。
スナップショットの保管期間・ファイルサイズが閾値を超過した際に通知するアラームを設定しましょう。アラームをトリガーに自動クリーンアップを実行することで、定期スクリプトに加え二重の安全対策となります。
自動化を導入しても不具合は発生します。VMware定期スナップショット運用で管理者が頻繁に遭遇する問題と対処法を記載します。
事象1:定期タスクは存在するがスナップショットが実行されない
最も多い原因はvCenter Serverと操作端末のタイムゾーン不整合です。
vCenterのシステム時計を確認し、タスク実行時間が大幅にずれていないか確認してください。またタスク実行用サービスアカウントに「仮想マシン:スナップショット管理」権限が残存しているか確認します。アカウント変更・ロール更新後に権限が失われるケースがあります。
事象2:定期スナップショット後にVMパフォーマンスが低下する
スナップショットの保管期間が長くなるほどデルタファイルが肥大化し、ホストはベースディスクとデルタファイルの読み取り整合処理に多くのI/Oリソースを消費します。
スナップショット作成後にレイテンシ悪化が確認された場合、巨大または古いデルタファイルが存在しないか確認し、速やかに【統合】処理を実行しベースディスクにマージしてください。
事象3:GUIから削除不可能な破損したスナップショットチェーン
vSphere Clientでスナップショット削除に失敗し「CID不一致」エラーが出力される場合、ESXiコマンドラインのvmkfstoolsまたはPowerCLIを使用し強制統合を実行してください。チェーンの破損が深刻で修復不可能な場合は最新のバックアップからVMを復元します。
事象4:独立ディスクを搭載した起動中VMでスナップショット作成が失敗する
VMwareは【独立永続型】または【独立非永続型】に設定されたディスクを持つ起動中VMのスナップショット作成に対応していません。
ディスク関連エラーで定期タスクが失敗する場合は、スナップショット実行前にVMを停止するか、VM設定内のディスクモードを【依存型】に変更してください。
事象5:スナップショット肥大化によるデータストア容量アラーム発報
スナップショットの作成速度が削除速度を上回ると最終的にストレージ容量が枯渇し、データストアが満杯になると配下の全VMが一時停止します。アラームが発報した場合は直ちにPowerCLIクリーンアップスクリプトを実行し、古いスナップショットを早期削除するよう保存ポリシーを強化してください。
vCenter定期タスクまたはPowerCLIによるVMwareスナップショット定期実行は手作業の負担を軽減し、パッチ適用・更新・設定変更前のVM保護に役立ちます。しかし自動化だけでは万全ではありません。
ストレージ容量枯渇を防ぐため、スナップショット定期実行と自動削除スクリプト、vCenterアラームを併用してください。長期的なデータ保護においてはスナップショットを短期的なツールと位置づけ、i2Backupなど専用バックアップソフトによる災害復旧対策を活用します。この組み合わせにより、柔軟性と耐障害性を両立できます。