読者です 読者をやめる 読者になる 読者になる

【第7回】VMwareを使いこなせ(1) ~擬似スナップショット~

迷い森 仮想化 VMware スナップショット

 皆さま,こんにちは. 迷子のエンリュです.

 今回は,VMware仮想マシンのバックアップを撮ったり前の時点に状態を戻したりする方法を実践していきます.仮想マシンの状態を保存したり復元したりする機能はスナップショットと呼ばれます.本来無料版ではスナップショット機能を利用できないVMwareで,まるでスナップショットを撮るような今回の手法を,擬似スナップショットと名付けちゃおうと思います.

 それでは早速やっていきましょう.よろしくお願いいたします.

### 仮想マシンのバックアップ

 まず行っていくのは仮想マシンの保存,すなわち擬似スナップショットの保存です.もしシステムに復旧不可能な変更を加えてしまっても,保存したマシンの状態から復元することができる,ということです.

 その方法はいたってシンプルです.仮想マシンのデータが入っているフォルダを丸ごとコピーしてしまおう!というものです.もちろん,サイズはかなり大きいです.本来のスナップショットは差分を取っていくので,省データな分たくさん保存しておくことができますが,こちらは何とも高燃費です.せいぜい1つ2つどうしても,というものを残せるくらいのものです.それでもバックアップがないよりはましです.また1からインストールするなんて,したくないですからね.

 この方法では,無駄なスナップショットは極力減らしていくことが大切になります.仮想マシンに変更を加え,新たなバックアップを作ったら,古いものはどんどん消していってしまいましょう.

CentOS 6.8のコピー

 それでは,簡単な初期設定を行った現在の仮想マシンのコピーを作成していきます.仮想マシンを作成したときに入力した"...\CentOS 6.8"フォルダのあるパスを開き,通常のフォルダのようにコピーしてしまいましょう.コピー方法はご自分のホストOSの操作方法で行ってください.コピーしたらフォルダ名をバックアップっぽい名前に変更しましょう.「CentOS 6.8 backup1」や「CentOS 6.8 2016-10-20」など,分かりやすいものなら何でもいいです.

コピーした仮想マシンの名前を変更

 コピーした仮想マシンは,そのままではVMwareで扱うことはできません.まずはライブラリに追加することが必要になります.VMware Playerを起動し,ホーム > 仮想マシンを開くをクリックします.先ほどコピーしたフォルダの中にCentOS 6.8.vmxと書かれたファイルがあるので,これを選びます.vmxファイル仮想マシンの設定を記述するファイルです.

f:id:LostEnryu:20161021072304p:plain

 開くとVMwareのトップ画面に「CentOS 6.8」がもう一つ追加されます.これではコピー元の仮想マシンと区別がつきません.こちらも名前を変更しましょう.

 CentOS 6.8 > 仮想マシンの設定をクリックします.仮想マシン設定ウィンドウが開いたら,オプションタブをクリック.

f:id:LostEnryu:20161021072335p:plain

 まず,ワーキングディレクトリがコピー先のフォルダ「...\CentOS 6.8 2016-10-20」になっていることを確認します.これがコピー元になっていた場合は「キャンセル」を押してもう一つの「CentOS 6.8」の設定を開きなおしましょう.

 仮想マシン名を「CentOS 6.8 2016-10-20」に変更して「OK」を押します.これで区別がつかなくなることはありません.

 また,仮想マシンの名前は先ほど開いた「vmxファイル」を書き換えることでも変更できます.「CentOS 6.8.vmx」のある場所を開いたら,プログラムを指定してファイルを開きます.開くプログラムはメモ帳などのテキストエディタでいいです.私はサクラエディタを愛用しているので,ここからの画面はサクラエディタのものになります.

f:id:LostEnryu:20161021072429p:plain

 名前をGUIで変更してからvmxファイルを見ると,43行目(環境によって違いあり)に「displayName」という変数があります.これがVMwareのトップ画面で表示される仮想マシンの名前です.これを直接編集することでも名前を変更できます.

コピーした仮想マシンを開く

 それではコピーした仮想マシンを起動してみましょう.すると最初にメッセージダイアログが出てきます.

f:id:LostEnryu:20161021072501p:plain

 ネットワークに接続するときのMACアドレスなどを振りなおすなど,いろいろ設定が必要になるので,コピーした場合はVMwareに必要な変更を行ってもらうことができます.「コピーしました」をクリックしましょう.

 あとはいつものように起動して仮想マシンが立ち上がります.今回はこちらのマシンには書き込みを行わないので,このままシャットダウンしましょう.

バックアップマシンの復元

 バックアップを復元するときは,今までの操作と逆にバックアップしたものの名前を元に戻していきます.まずVMwareのトップ画面でコピー元の仮想マシンを右クリックします.すると,下の方に「ライブラリから削除」と「ディスクから削除」の二つがあります.「ライブラリから削除」は,トップ画面には表示されなくなりますがデータの入ったフォルダは残るということです.バックアップを復元するときは「ディスクから削除」で完全に消してしまいましょう.

 次にバックアップフォルダの名前を元に戻し,その中のvmxファイルをテキストエディタで開いて「displayName」を元に戻します.

 これでバックアップの復元は完了です.

 もちろんこのバックアップを残しておいて,コピーして復元してもいいです.同様に名前を変更し,起動時に「コピーしました」をクリックしましょう.

仮想マシンへの変更のキャンセル

 バックアップマシンをコピーしてバックアップをとるのは,いざというときのための処置でした.今度は,変更をしないことが確定している場合に変更をキャンセルする方法をお教えしましょう.これは,仮想マシンを起動する前にディスクへの書き込みをしない設定を追加してしまう方法です.もちろん,反映したい変更をした場合も保存されないので,変更したい場合はこの設定をキャンセルする必要があります.

 仮想マシンの設定ファイル「CentOS 6.8.vmx」をテキストエディタで開きます.「ide0:0.fileName = "CentOS 6.8.vmdk"」または「scsi0:0.fileName = "CentOS 6.8.vmdk"」という記述を探しましょう.数字などは環境によって異なる場合があります.大事なのは"CentOS 6.8.vmdk"の方です.vmdkはVMwareの仮想ディスクファイルです.すなわち,その前についている「ide0:0」「scsi0:0」が仮想マシンでのHDDを表す変数だということです.

f:id:LostEnryu:20161021072602p:plain

 次に,ハードディスクの設定を追加していきます.ここでは「scsi0:0」の場合で説明していきます.先ほど見つけた「scsi:0.0」の下に,以下の行を追加しましょう.

scsi0:0.mode = "independent-nonpersistent"

f:id:LostEnryu:20161021072637p:plain

 この設定をすると仮想マシンnon-persistentモードで起動するようになります.仮想マシンの変更はREDOディスクに書き込まれ,VMDKファイルには書き込まれなくなります.REDOディスクは再起動やサスペンドでは残りますが,シャットダウンをすると消去されます.よって,シャットダウンをすると仮想マシンに行った変更がすべてキャンセルされるのです.

 例えばアプリケーションの動作確認を行う場合などは,このnon-persistentモードで十分でしょう.また,サーバとして動かすときなどもファイルへの書き込みなどは行いません.non-persistentモードの方が動作が早いらしいので,この設定が推奨されることもあるようです.

VMwareのチューニング7ポイント

non-persistentモード×共有フォルダ

 non-persistentモードはファイルへの書き込みができません.よってそのままでは普段から使うことはできません.しかし,VMwareには共有フォルダという機能があります.共有フォルダ設定でゲストOSとホストOSのフォルダを共有させることで,ゲストOSからホストOSのフォルダにアクセスできるようになります.

 普段のプログラミングなど,仮想マシンの設定は変えずにファイルを編集していくだけなら,共有フォルダ内で作業を行えばいいのです.この演習ではこれを活用していきたいと思います.

 環境構築のためにパッケージをインストールしたり,ゲストOSの設定を変更したりすることはできませんので注意してください.

 共有フォルダ設定に関してはまた後日記事にいたします.楽しみにしていてください.

NHMによるスナップショット機能の追加(Windows限定)

 さて,これまで説明してきたものは,スナップショット機能と同様に以前の状態を復元することを目的とした,擬似スナップショット機能の説明でした.しかし,少し作業が面倒くさいのが難点です.

 ところが,「NHM」というソフトウェアを使えば,もっと簡単にスナップショット機能を実現することができるのです.残念ながらこれはWindows限定のソフトウェアなのですが,新規スナップショットの作成や変更の適用が簡単な操作で実現でき,非常に便利です.

 ここでは記事にしませんが,Windowsの方は下の記事を参考にして導入してみてもよいでしょう.

「NHM」VMware Playerを使っていてもスナップショットを作成出来るソフトウェア!

次回

 それではバックアップも取ったところで,次回はいよいよsudoersの管理をやっていきたいところですが,その前にユーザーやグループの管理をやっていきたいと思います.

 今回はここまでです.ありがとうございました.

 次回以降設定が反映されないことのないよう,忘れないうちに「CentOS 6.8」のnon-persistentモードは解除しておいてください.

 また次回もよろしくお願いいたします.

Linuxコマンドのファイル操作編,書きました

Qiita:Linuxコマンド入門(2) ~ファイル操作~
Previous | Top | Next

Prev: 【第6回】Linuxコマンド入門(1)

Next: 【第8回】CentOSの歩き方 GNOME編(2) ~ユーザー・グループの管理~

Index
Journey