あまりにも間違ったことを書いていたので、全面的に書き換えました。
もし古い記事を読んだ方がいたら見なおしておいてください。
ほんとすいませんでしたorz
VMware Player ユーザのみなさん大好き、揮発モード(non-persistent) の VirutalBox 版について。
VMware 版
.vmx
ファイルを直接編集し、ドライブ指定してモードを記述することで設定できますね。
ide0:0.mode = "independent-nonpersistent"
ちなみに GUI から設定できるかどうかは不明です。
VirutalBox 版
参考手順
もうそのものずばりな記事がありました。
http://srikeshs.wordpress.com/2014/04/29/how-to-make-a-virtual-disk-non-persistent-or-immutable/
超訳抜粋
- 対象のディスクを、VM 設定のストレージ割り当てから除去
- メニュー → ファイル(または Ctrl+D)から「仮想メディアマネージャー」を起動
- ハードドライブタブから、対象ディスク(*.vdi) を選択、「変更不可」に設定
- VM 設定からストレージ追加しなおし
- VM 起動
公式の解説
よく見ると、「Immutable」と「write-through」だけじゃなくて「Shareable hard disks」「multiattach mode」もありました
normal
- 普通のディスク
write-through
- スナップショットを完全に無視
- このモード時にスナップショット作成しても、そもそも差分ディスクに派生しない。
- 派生しないので、過去のスナップショットに復元させてもディスクは変更しない
- スナップショット以外の挙動は、normal と同じ?
Shareable hard disks
- 基本 write-through と同じ
- 複数 VM 同時にアタッチして共有できる点が違う
- ただし、同時書き込みによりデータ破損の可能性があるので素人にはおすすめできないらしい
こええ・・・
Immutable
- 本来のディスクイメージは読み取り専用に
- 起動中のゲストOSによる書き込みは分離された別ファイルに書き込まれ、ゲスト終了とともに破棄
実際動かしてみた
- 挙動が完全にスナップショット
- VM 配下のディレクトリに Snapshots フォルダが作成され、差分ディスクに起動中の書き込みが行われる。
- reboot してる限りは差分ディスクは残る
- shutdown すると、差分ディスクが一旦クリアされ(サイズ 0 に)、再利用されてる
つまるところ、電源切れる度に自動で巻き戻されるスナップショットです。
multiattach mode
- 複数 VM 同時にアタッチして共有可能
- 初期の共有箇所は Immutable、各 VM 個別にスナップショット同様の差分ディスクを持つイメージ
- 安全&共有部分のストレージ容量節約できる
派生
こんな感じでしょうか?
write-through - Shareable hard disks
/
normal
\
Immutable - multiattach mode
スナップショットの影響を受けない上向き派生
元ディスクに書き込みさせない下向き派生
複数 VM で共有できる右向き派生
・・・と。
現実的な選択として
- 普通は normal
- スナップショットで巻き戻したくない場合 write-through (今のところ使いドコロが思いつかない・・・)
- 複数 VM 共有で容量節約なら multiattach mode
少なくとも自分の使用用途なら、試行錯誤はスナップショットだけで十分実現できると思われます