Virtual Machine Operations Standard
Status: Active Version: v1.0 Updated: 2026-01-23
本標準は、仮想マシン(VM)の運用における状態保存・スナップショットの取り扱いを定め、安定した運用を確保することを目的とします。VirtualBox、VMware、Hyper-V、KVM/QEMU、クラウドVM等、すべての仮想化環境に適用します。
規範語(RFC 2119)
MUST / MUST NOT / SHOULD / SHOULD NOT / MAY を規範語として用います。
背景と根拠
状態保存(サスペンド)の問題
VMの状態保存機能は、メモリの状態を凍結して後で再開する仕組みですが、以下の理由により信頼性が低いです:
- 時刻同期の不整合: ゲストOSの時刻がずれ、ライセンス認証・証明書検証・タイムアウト処理が誤動作する
- ネットワーク接続の破綻: TCP接続がタイムアウト済みとなり、VPN/SSH接続が再接続不可になる
- デバイス状態の不整合: USB機器やシリアルポートの状態が不正になる
- アプリケーションの誤動作: データベースのロック、Dockerコンテナの停止、長時間プロセスの失敗が発生する
動作中スナップショットの問題
動作中のVMでスナップショットを取得すると、メモリ状態も保存されるため、状態保存と同等の問題が発生します。加えて以下のリスクがあります:
- ディスクI/Oの不整合: スナップショット取得中もゲストOSが書き込みを続けるため、ファイルシステムの整合性が崩れる可能性がある
- データベースの破損: トランザクション中のスナップショットでデータ不整合が発生する
- 取得時間の増大: メモリサイズが大きいほど時間がかかり、その間に不整合が広がる
運用ルール
状態保存(サスペンド)
- 状態保存(サスペンド)機能を使用してはならない(MUST NOT)
- VMの作業終了時は、ゲストOSを正常にシャットダウンしなければならない(MUST)
- VMウィンドウを閉じる際、「状態を保存」ではなく「シャットダウン」または「電源オフ」を選択しなければならない(MUST)
スナップショット
- スナップショットは、VMが電源オフの状態で取得しなければならない(MUST)
- 動作中のVMでスナップショットを取得してはならない(MUST NOT)
- 例外として、短時間で復元する前提の一時的なスナップショットは動作中に取得してもよい(MAY)。ただし、長期保存用には使用してはならない(MUST NOT)
スナップショットの命名
- スナップショット名には日付を含めるべきである(SHOULD)
- 例:
2026-01-23_clean-install
- 例:
- スナップショットの説明には、その時点の状態(インストール済みソフトウェア、設定内容等)を記載すべきである(SHOULD)
スナップショットの管理
- スナップショットの数は3〜5個程度に抑えるべきである(SHOULD)
- 不要になったスナップショットは削除すべきである(SHOULD)
- 以下のタイミングでスナップショットを取得すべきである(SHOULD):
- OSインストール直後
- 基本設定完了後
- 主要ソフトウェア導入後
- 大きな変更を行う前
日常運用フロー
1. 作業開始: VMを起動
2. 作業中: 通常どおり使用
3. 作業終了: ゲストOSをシャットダウン(状態保存は使用しない)
4. 必要に応じて: シャットダウン後にスナップショットを作成
5. 問題発生時: スナップショットに復元 → 起動
操作手順
正常なシャットダウン
# Linux
sudo shutdown -h now
# Windows
# スタートメニュー → シャットダウン
スナップショットの作成(電源オフ状態で)
VirtualBox(コマンドライン):
VBoxManage snapshot "VM名" take "スナップショット名" --description "説明文"
GUI:
- 各仮想化ソフトウェアのスナップショット機能を使用する
スナップショットからの復元
コマンドライン(VirtualBox):
VBoxManage snapshot "VM名" restore "スナップショット名"
GUI:
- 各仮想化ソフトウェアのスナップショット復元機能を使用する
クラウドVMへの適用
クラウドVM(AWS、Azure、GCP等)にも本標準を適用します。
| 操作 | 許可 |
|---|---|
| インスタンス停止→起動 | ○ 許可 |
| ハイバネーション | ✗ 禁止(MUST NOT) |
| ディスクスナップショット(停止状態) | ○ 許可 |
| ディスクスナップショット(動作中) | △ 一時的な用途のみ(MAY) |
例外事項
以下の場合に限り、動作中スナップショットを取得してもよい(MAY):
- デバッグ目的で、直後に復元することが前提の場合
- 緊急時のバックアップとして、他に手段がない場合
ただし、これらのスナップショットを長期保存用として使用してはならない(MUST NOT)。
適用対象の仮想化ソフトウェア
| 仮想化ソフト | 状態保存機能名 | 本標準の適用 |
|---|---|---|
| VirtualBox | サスペンド / 状態を保存 | 適用 |
| VMware Workstation/Fusion | サスペンド | 適用 |
| Hyper-V | 保存 (Save) | 適用 |
| Parallels Desktop | サスペンド | 適用 |
| KVM/QEMU | virsh save | 適用 |
| UTM (macOS) | 状態保存 | 適用 |
| AWS EC2 | ハイバネーション | 適用 |
| Azure VM | - | 適用 |
| GCP Compute Engine | - | 適用 |
参考
- VirtualBox User Manual - Snapshots - VirtualBoxスナップショットの公式ドキュメント
- VMware Workstation Documentation - VMware公式ドキュメント
- Hyper-V Checkpoints - Hyper-Vチェックポイントの公式ドキュメント
- RFC 2119 - 規範語の定義(MUST, SHOULD, MAY等)