前回「5分でわかる!VirtualBox の使い方」の記事で VirtualBox に仮想マシンを作成してCentOS7をインストールする手順をご紹介いたしました。これ以外にも VirtualBox には覚えておくと便利な機能がたくさんあり、知っておくと効率的に作業を行うことができます。そこで今回は、VirtualBox の特に便利な機能を使い方も含め5つご紹介したいと思います。
スナップショット
仮想マシンのスナップショット機能を使うと、OSの状態をスナップショットを取った時点に一瞬で戻すことができます。
例えば、新しいミドルウェアを試す時にインストールで四苦八苦して設定ファイルやライブラリなどがごちゃごちゃになってしまい、どうにもならなくなることがよくあります(^^;) 物理マシンの場合は、OSをまた1からインストールしなければなりませんが、仮装マシンならボタンひとつで元の状態に戻すことができます。
スナップショットの取り方
スナップショットを取りたい仮想マシンを選択して「スナップショット」をクリックします。(スナップショットは仮想マシンを起動した状態でも取ることができます)
カメラアイコンをクリックします。
適当なスナップショットの名前と説明を入力し「OK」をクリックします。
数秒でスナップショットが作成されます。
このスナップショットを元にして新しい仮想マシンを作成(これを仮想マシンのクローンと言います)することもできますので、設定の区切りのいいところでスナップショットを取っておくことをオススメします。
スナップショットの状態に復元
スナップショットを取った時点の状態に戻すには仮想マシンをOFFにする必要がありますので、一度OSをシャットダウンします。
復元したい状態のスナップショットを選択し、矢印がついたカメラアイコンをクリックします。
復元すると消えてしまうデータもありますので、確認画面が表示されます。問題がなければ「復元」をクリックします。(確認画面にあるようにスナップショットを取っておくことをオススメします)
以上で仮想マシンがスナップショットを取った時点の状態に復元されました。
クローン
スナップショットを作成するところで少しふれましたが、スナップショットを元に新しい仮想マシンを作成することができます。例えばMySQLのレプリケーションやZabbixの検証などサーバーが複数台必要な時に、この仮想マシンのクローン機能が活躍します。
仮想マシンを起動したままでもクローンはできますが、IPアドレスが重複してしまうので、コピー元の仮想マシンをOFFにしておきます。
コピー元の仮想マシンを選択し、右上の「スナップショット」をクリック、コピーしたいスナップショットを選択して「羊」アイコンをクリックします。(クローン羊のドリーのことだと思います)
「エキスパートモード」をクリックします。(こちらのモードの方が手順が少なく済みます)
新しいマシン名に適当な名前を入力し、「すべてのネットワークカードのMACアドレスを再初期化」に必ずチェックを入れて「クローン」をクリックします。
仮想マシンのクローンがはじまります。ホストマシンの性能にもよりますが1〜2分で、新しい仮想マシンが作成されます。
仮想マシンのIPアドレスとホスト名の変更
ホストオンリーアダプターを設定している場合は、コピー元の仮想マシンとIPアドレスが重複してしまうので、クローンで新たに作成した仮想マシンのIPアドレスを変更します。
クローンで新たに作成した仮想マシンを起動します。
仮想マシンにSSHログインします。この時点ではIPアドレスはコピー元の仮想マシンと同じです。(ユーザ名、IPアドレスはご自分の環境に読替えてください)
IPアドレスを変更します。(デバイス名「enp0s8」は環境によって異なります。エラーになる場合は、コマンド「nmcli dev s」でデバイス名を確認してください)
ホスト名を変更します。
OSを再起動してIPアドレスとホスト名の変更を反映します。
以上でコピー元の仮想マシンと、クローンした仮想マシンのIPアドレスが重複しなくなるので、同時に起動することができます。
(補足)CentOS7.1(1503)以降のバージョンから、上のようにクローンした仮想マシンのネットワーク関連の設定が簡単になりました。お使いのOSが CentOS6 や CentOS7.0 の場合は、MACアドレスの書換えも必要になります。その場合は以下の記事をご参照ください。
CentOS7.0「VirtualBox 仮想マシンのクローンとネットワークアダプターの再設定(CentOS7)」
CentOS6系「VirtualBox 仮想マシンのクローン手順メモ」
仮想マシンのショートカット
仮想マシンを右クリック(Macの場合はコントロール+クリック)してエイリアスを作成することができます。ちょっとした機能ですが、毎日使う仮想マシンはショートカットを作っておくと便利です。
ホストマシン以外から仮想マシンへのWEBアクセス
ホストマシンと同じ物理ネットワークに接続しているパソコンやスマートフォンから、仮想マシン上のWEBサイトを表示することもできます。
WEBサーバーが動いている仮想マシンを選択して「設定」をクリックします。
「ネットワーク」>「アダプター1」を選択し「高度」をクリックします。
「ポートフォワーディング」をクリックします。
「+」ボタンをクリックし、以下を入力して「OK」をクリックします。
- ホストIP:<ホストマシンの物理IPアドレス>
- ホストポート:8080(1024〜65534の任意のポートを指定)
- ゲストIP:10.0.2.15
- ゲストポート:80
「OK」をクリックします。
ホストマシン以外から「http://ホストマシンの物理IPアドレス:8080/」で、仮想マシン上のWEBサイトに接続できます。もし接続できない場合は、ホストマシンのファイアウォールの設定を確認してみてください。
ハードディスクの容量を増やす
仮想マシンのハードディスクが足りなくなった場合は、後から増やすこともできます。
ハードディスクの追加
現状の仮想マシンに接続されているハードディスクのデバイス名を調べます。(これをメモしておきます)
/dev/sda /dev/sda1 /dev/sda2
仮想マシンを一度OFFにします。(ONの状態でハードディスクの追加はできません)
仮想マシンを選択し「設定」をクリックします。
「ストレージ」を選択し、「コントローラー:SATA」のハードディスク追加ボタンをクリックします。
「新規ディスクの作成」をクリックします。
「エキスパートモード」をクリックします。
追加するハードディスクの容量を入力し「作成」をクリックします。
ハードディスクが追加されたことを確認し「OK」をクリックします。
追加したハードディスクの初期化などが必要ですので、仮装マシンを起動してSSHログインしてください。
ハードディスクの初期化
追加したハードディスクのデバイス名を調べます。先ほど同様のコマンドを実行した時には無かった「/dev/sdb」が、追加したハードディスクのデバイス名です。
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb
追加したハードディスクを初期化してパーテーションを作成します。(青文字が入力部分です)
(略)
コマンド (m でヘルプ): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
パーティション番号 (1-4, default 1): <空エンター>
最初 sector (2048-20971519, 初期値 2048): <空エンター>
初期値 2048 を使います
Last sector, +sectors or +size{K,M,G} (2048-20971519, 初期値 20971519): <空エンター>
初期値 20971519 を使います
Partition 1 of type Linux and of size 10 GiB is set
パーティションタイプをLVMに変更します。(LVMは複数のハードディスクをひとまとめにして扱える便利な仕組みです)
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
ここまでの設定を反映します。(fdisk が終了します)
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
作成したパーテーションは「/dev/sdb1」になります。
/dev/sdb /dev/sdb1
LVMの設定
追加したハードディスクを、ボリュームグループ「/dev/mapper/cl-root」に追加します。現在のハードディスク容量は「6.2GB」です。
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/cl-root 6.2G 1016M 5.2G 17% /
(略)
先ほど作成したパーテーションからLVM物理ボリュームを作成します。
LVMボリュームグループ名を確認します。下の表示の場合ボリュームグループ名は「cl」になります。
--- Volume group ---
VG Name cl
System ID
(略)
ボリュームグループに物理ボリュームを追加します。
論理ボリューム「/dev/mapper/cl-root」の容量を増やします。
最後にファイルシステムの容量を拡張します。(CentOS6の場合は「resize2fs」コマンドを使います)
ハードディスク容量が「6.2GB」から「17GB」に拡張されたことが確認できます。
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/cl-root 17G 1016M 16G 7% /
(略)
(番外)無料で使える Windows 仮想マシン
VirtualBox の機能ではありませんが、IE や Microsoft Edge の検証用にマイクロソフトが無料でWindowsの仮想マシンイメージを配布しています。
下のダウンロードページから、Windows7からWindows10の仮想マシンイメージをダウンロードすることができます。
https://developer.microsoft.com/ja-jp/windows/downloads/virtual-machines/
ダウンロードしたZIPファイルを解凍してダブルクリックすれば VirtualBox に Windowsの仮想マシンが追加されます。
また、ダウンロードページにも書かれていますが、この仮想マシンの Windows ライセンスは90日で切れてしまうので、仮想マシンを追加した直後のスナップショットを取っておきましょう。ライセンスが切れたらこのスナップショットの時点に戻すことで Windows のライセンスを維持することができます。
おわりに
私もよく VirtualBox を使っているのですが、ミドルウェアの検証などで仮想マシンをいくつも作ってスナップショットを取まくります。そうなるとホストマシン(MacBookAir SSD128GB)のディスク容量ではぜんぜん足りません(^^;) もしパソコンを新調するのであれば、ディスク容量は大きめにしておくことをオススメします。
コメント