Skip to main content

Fujitsu

Japan

まっちーの仮想化講座
第9回:ゲストドメインのクローン作成

2012年2月7日


 

仮想化機能を使っていると、ゲストOSのクローンやコピーを作りたいケースが多くあると思います。残念ながらOracle VM Server for SPARCにはゲストドメインのクローンやコピーを作る機能はないのですが、ZFSを使えば仮想ディスクのクローンは作成することができます。
今回はZFSなどOSの標準機能を使って、ゲストドメインのクローンを作成する方法をご紹介したいと思います。

まずは現在のドメイン構成を確認します。1つのゲストドメインldom1が構成されていますので、これをマスターとしてクローンを作成します。

SPARC Enterprise T5120# ldm ls
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      8     3968M    0.2%  2d 23h 5m
ldom1            active     -n----  5000    8     2G       0.1%  2d 23h 2m

仮想ディスクのクローン作成

第7回で、仮想ディスクのスナップショットを取っていますので、これを元にクローンを作成します。
ここでは、ldom1のブートディスクであるvdisk0のクローンをvdisk1という名前で作成します。

SPARC Enterprise T5120# zfs list
NAME                             USED  AVAIL  REFER  MOUNTPOINT
rpool                           32.1G   102G    97K  /rpool
rpool/ROOT                      8.41G   102G    21K  legacy
rpool/ROOT/s10s_u9wos_14a       8.41G   102G  8.06G  /
rpool/ROOT/s10s_u9wos_14a/var    244M   102G   244M  /var
rpool/dump                      4.00G   102G  4.00G  -
rpool/export                    15.5G   102G  48.5K  /export
rpool/export/home                 30K   102G    30K  /export/home
rpool/export/vdisk0             15.5G   112G  5.23G  -
rpool/export/vdisk0@snap        2.03M      -  5.21G  -
rpool/swap                      4.13G   106G    16K  -
SPARC Enterprise T5120# zfs clone rpool/export/vdisk0@snap rpool/export/vdisk1
SPARC Enterprise T5120# zfs list

NAME                             USED  AVAIL  REFER  MOUNTPOINT
rpool                           32.1G   102G    97K  /rpool
rpool/ROOT                      8.41G   102G    21K  legacy
rpool/ROOT/s10s_u9wos_14a       8.41G   102G  8.06G  /
rpool/ROOT/s10s_u9wos_14a/var    245M   102G   245M  /var
rpool/dump                      4.00G   102G  4.00G  -
rpool/export                    15.6G   102G  48.5K  /export
rpool/export/home                 30K   102G    30K  /export/home
rpool/export/vdisk0             15.5G   112G  5.25G  -
rpool/export/vdisk0@snap        28.7M      -  5.21G  -
rpool/export/vdisk1                 0   112G  5.25G  -
rpool/swap                      4.13G   106G    16K  -

ゲストドメインの作成

次に作成した仮想ディスクのクローンを使用する新しいゲストドメインを作成します。残念ながらドメインの構成をコピーする方法はありませんので、ここは一からドメインを作成する必要があります。
ゲストドメインの作成方法の詳細は第3回を参照してください。

SPARC Enterprise T5120# ldm add-domain ldom2
SPARC Enterprise T5120# ldm add-vcpu 8 ldom2
SPARC Enterprise T5120# ldm add-mem 2g ldom2
SPARC Enterprise T5120# ldm add-vnet vnet0 primary-vsw0 ldom2
SPARC Enterprise T5120# ldm add-vdsdev /dev/zvol/dsk/rpool/export/vdisk1 vol1@primary-vds0
SPARC Enterprise T5120# ldm add-vdisk vdisk0 vol1@primary-vds0 ldom2
SPARC Enterprise T5120# ldm set-var auto-boot\?=true ldom2
SPARC Enterprise T5120# ldm set-var boot-device=vdisk0 ldom2

作成が終わったら、状態を確認しましょう。

SPARC Enterprise T5120# ldm ls
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      8     3968M    0.1%  2d 23h 12m
ldom1            active     -n----  5000    8     2G       0.1%  2d 23h 9m
ldom2            inactive   ------          8     2G

ドメインの再設定

あとは作成したldom2を起動すればいいのですが、このままではldom1とldom2には同一のIPアドレスやホスト名などが設定されています。これでは困りますので、ldom2のIPアドレスなどをsys-unconfig(1M)コマンドを実行して、再設定します。

まずは、ldom1を停止してからldom2を起動します。

SPARC Enterprise T5120# ldm stop ldom1
LDom ldom1 stopped
SPARC Enterprise T5120# ldm bind ldom2
SPARC Enterprise T5120# ldm start ldom2

LDom ldom2 started
SPARC Enterprise T5120# ldm ls
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      8     3968M    1.3%  15m
ldom1            bound      ------  5000    8     2G
ldom2            active     -n----  5001    8     2G        12%  30s

起動したらldom2のコンソールに接続しましょう。rootパスワードはldom1で設定した値と同じです。ログインしたら、ホスト名やIPアドレスなどを確認してみてください。ldom1で設定した値と同じになっています。

SPARC Enterprise T5120# telnet localhost 5001
Trying ::1...
telnet: connect to address ::1: Network is unreachable
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Connecting to console "ldom2" in group "ldom2" ....
Press ~? for control options ..

t5120-ldom1 console login:root
Password:

では、ログインしたらsys-unconfig(1M)で再設定しましょう。

# sys-unconfig
                        警告

このプログラムは、システムの構成を解除します。つまり、
名前がなく、他のシステムやネットワークを認識しない "初期" 状態の
システムに戻してしまいます。

このプログラムは、システムの停止も行います。

継続してよろしいですか (y/n) ?y
・・・省略・・・

ldom2の再設定が終わったら再起動してきますので、起動後にldom1も起動させて、同時に動作できることを確認してください。

SPARC Enterprise T5120# ldm start ldom1
LDom ldom1 started
SPARC Enterprise T5120# ldm ls
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      8     3968M    0.4%  21m
ldom1            active     -n----  5000    8     2G        34%  2m
ldom2            active     -n----  5001    8     2G       0.4%  3m

いかがでしたでしょうか。コマンド一発でクローンを作れるわけではないので多少面倒に思われるかも知れませんが、OSをインストールする時間分は短縮することができます。いずれldm clone-domainなんてコマンドができて、もっと簡単にできないかなぁと期待しています。
また、仮想ディスクをZFSのクローンで作ることによって、ディスク容量が節約できるメリットもあるんですよ。ZFSのクローンの仕組みはどこかでご紹介したいと思います。


応援メッセージはtwitterにて、ハッシュタグ #fjsparcOpen a new window までお願いします。