既存のvServer (pwtest
など)からサーバー・テンプレートを作成するには、次の手順を実行します。
「vServerの停止」の説明に従って、vServerを停止します。
OVMMのWebインタフェースにroot
ユーザーとしてログインして、次の手順を実行します。
注意:
この手順では、vServerのクローニングと起動にOVMMを使用します。この付録のように特に記載のないかぎり、vServerの作成やvServer上でのライフサイクル操作の実行には、OVMMを使用しないでください。vServerの管理にはExalogic Controlのみを使用してください。
ここで説明する手順のステップは、Exalogic Elastic Cloud Software 2.0.6.x.xに同梱されているOracle VMリリース3.2のOVMM Webインタフェースのものです。Exalogic Elastic Cloud Software 2.0.4 (またはそれ以前のリリース)を使用している場合は、対応するOracle VMリリースは3.0.3です。また、OVMM Webインタフェースはここでの説明とは異なる場合があります。
「Servers and VMs」タブを選択します。
左側のナビゲーション・ペインで「Server Pools」を開き、そこに表示されるサーバー・プールを選択します。
メイン表示ペインのツール・バーで、「Perspective」を「Virtual Machines」に変更します。
すべてのVMのリストが表示されます。
ステップ1で停止したvServerを探します。VMのステータスは「Stopped」になっています。
VM上で右クリックして、表示されるコンテキスト・メニューから「Clone or Move」を選択します。
仮想マシンのクローニングまたは移動ウィザードが起動します。
「Create a clone of this VM」オプションが選択されたままにして、「Next」をクリックします。
次の画面で、次の手順を実行します。
i.「Clone to a Virtual Machine」オプションが選択されたままにします。
ii.「Clone Count」の値を1のままにします。
iii.クローンの名前(pw-test2
など)と説明を入力します。
iv.「OK」をクリックします。
OVMMジョブが終了するまで待機します。クローニングされるVMの仮想ディスクのサイズによっては、ジョブに数分かかることがあります。
OVMMは新しいvServer (pw-test2
)をプール内の使用可能なサーバーの1つに割り当てます。
新しいVMを選択してから右クリックし、「Start」を選択します。
最初の列をダブルクリックして、新しいVMに対応する行を開きます。
表示されるペインでID (0004fb000006000030c6ec27dd5a2327
など)を探します。これは、VMのUUIDです。後で使用するため、このUUIDをメモしておきます。
注意:
この手順では、このIDをVM_CLONE_UUID
と表記します。
クローンのVM (pw-test2
)が起動した後、VMをホストしているOracle VMサーバーのノード(この例ではslce02cn02
)に、root
としてログインします。
次のコマンドを実行して、ノード上で実行されているVMのリストを表示します。
[root@slce02cn02 ~]#xm list
このコマンドにより、次の例のような出力が表示されます。
Name ID Mem VCPUs State Time(s) 0004fb00000600009c75583293d01d04 1 4096 2 -b---- 139169.3 0004fb000006000030c6ec27dd5a2327 24 4096 1 -b---- 36.8 Domain-0 0 2002 24 r----- 115451.5
xm console <ID>
コマンドを使用してVM (pw-test2
)にログインします。この<ID>
は、<VM_CLONE_UUID>
という名前のVMのIDです。たとえば、slce02cn02
でxm console 24
コマンドを実行します。このコマンドにより、次の例のような出力が表示されます。
Oracle Linux Server release 5.6 Kernel 2.6.32-200.21.2.el5uek on an x86_64 pw-test login: root Password: Last login: Thu May 24 12:35:35 on ttyS0 [root@pw-test ~]#
注意:
出力では、ホスト名は元のVM (pw-test
)と同じものになります。これはクローンの名前(pw-test2
)ではありません。また、/etc/sysconfig/network-scripts/ifcfg-bond*
で初期化されたネットワーク・インタフェースも、元のVMと同じものになります。次のステップではVMの構成を解除するため、これをテンプレートの作成に使用できます。vServerがこのテンプレートで作成されたとき、Exalogic Controlがホスト名およびネットワーク・スクリプトを構成します。
次に示すように、クローンのVM (pw-test2
)の構成を解除して、このVMを停止します。
/etc/sysconfig/ovmd
ファイルを編集して、INITIAL_CONFIG=no
パラメータをINITIAL_CONFIG=yes
に変更します。この変更を行ってから、ファイルを保存します。
次のコマンドを実行して、DNS情報を削除します。
cd /etc
sed -i '/.*/d' resolv.conf
次のコマンドを実行して、SSH情報を削除します。
rm -f /root/.ssh/*
rm -f /etc/ssh/ssh_host*
次のコマンドを実行して、/etc/sysconfig/network
ファイルをクリーンアップします。
cd /etc/sysconfig
sed -i '/^GATEWAY/d' network
次のコマンドを実行して、hosts
ファイルをクリーンアップします。
cd /etc
sed -i '/localhost/!d' hosts
cd /etc/sysconfig/networking/profiles/default
sed -i '/localhost/!d' hosts
次のコマンドを実行して、ネットワーク・スクリプトを削除します。
cd /etc/sysconfig/network-scripts
rm -f ifcfg-*eth*
rm -f ifcfg-ib*
rm -f ifcfg-bond*
次のコマンドを実行して、新しいvServerに伝播する必要のない情報を含むログ・ファイルを削除します。
cd /var/log
rm -f messages*
rm -f ovm-template-config.log
rm -f ovm-network.log
rm -f boot.log*
rm -f cron*
rm -f maillog*
rm -f messages*
rm -f rpmpkgs*
rm -f secure*
rm -f spooler*
rm -f yum.log*
次のコマンドを実行して、カーネル・メッセージを削除します。
cd /var/log
rm -f dmesg
dmesg -c
> ovm-network.log
/etc/modprobe.conf
ファイルを編集して、次に示す行(および、alias bond
で始まる他の行)を削除します。
options bonding max_bonds=11 alias bond0 bonding alias bond1 bonding
これらの変更を行ってから、ファイルを保存します。
/etc/sysconfig/hwconf
ファイルを編集して、driver: mlx4_en
エントリをdriver: mlx4_core
に変更します。この変更を行ってから、ファイルを保存します。
次のコマンドを実行して、Exalogic構成ファイルを削除します。
rm -f /etc/exalogic.conf
次のコマンドを実行して、bashの履歴を削除します。
rm -f /root/.bash_history
history -c
これを最後に実行して、クリーンアップのコマンドが記録されないようにします。
注意:
手順を進める前に、次の点について検討してください。
ベースのVM (pw-test
)にアタッチされた記憶域ボリュームは、そのボリュームのすべてのコンテンツを含めて、クローンのVM (pw-test2
)にクローニングされます。これは、次のステップで作成するテンプレートと、このテンプレートで作成するvServerにも当てはまります。テンプレートの作成を進める前に、不要なファイルを削除しているか、記憶域ボリュームをドロップしていることを確認してください。
vServerの作成時、アタッチされている記憶域ボリュームのうち「Server Type」での記憶域サイズよりも小さいものは、指定されている記憶域サイズにExalogic Controlによってリサイズされます。たとえば、サイズが2 GBのボリュームをアタッチしていても、記憶域サイズが4 GBの「Server Type」を選択すると、新しくアタッチされるボリュームのサイズは4 GBになります。そのボリュームのファイル・システムが変更されることはありません。
Exalogic Controlにアップロードするために、次に示すように、テンプレートをパッケージ化します。
任意のOracle VMサーバー・ノード(たとえば、slce02cn01
)に、root
ユーザーとしてログインします。
Sun ZFSストレージ・アプライアンス(Exalogicマシンに組込済)に作業領域を作成します。
次に示す例では、/export/common/images
共有内のディレクトリを使用します。
[root@slce02cn01 ~]# mkdir -p /u01/common/images [root@slce02cn01 ~]# mount -t nfs slce02sn01:/export/common/images /u01/common/images [root@slce02cn01 ~]# mkdir /u01/common/images/pw-template
ディレクトリを、VMクローン用のOracle VMサーバー(OVS)リポジトリに変更して、正しいディレクトリに移動していることを確認します。
[root@slce02cn01 ~]# cd /OVS/Repositories/*/VirtualMachines/<VM_CLONE_UUID> [root@slce02cn02 0004fb000006000030c6ec27dd5a2327]# grep simple_name vm.cfgOVM_simple_name = 'pw-test2'
構成ファイルを、Sun ZFSストレージ・アプライアンスの作業領域にコピーします。
[root@slce02cn01 0004fb000006000030c6ec27dd5a2327]# cp vm.cfg /u01/common/images/pw-template
クローニングしたVMで使用するディスクを表示します。
[root@slce02cn01 0004fb000006000030c6ec27dd5a2327]# grep disk vm.cfg disk = ['file:/OVS/Repositories/0004fb0000030000169d06eb2fdfcc6f/VirtualDisks/0004fb00001200004e5b424a5f5965bf.img,hda,w', 'file:/OVS/Repositories/0004fb0000030000169d06eb2fdfcc6f/VirtualDisks/0004fb00001200008d2bc3496683e1c4.img,xvdb,w']
前述の手順で表示されたファイル名を使用して、Sun ZFSストレージ・アプライアンスの作業領域にディスクをコピーします。
[root@slce02cn01 0004fb000006000030c6ec27dd5a2327]# cp /OVS/Repositories/0004fb0000030000169d06eb2fdfcc6f/VirtualDisks/0004fb00001200004e5b424a5f5965bf.img /u01/common/images/pw-template/ [root@slce02cn01 0004fb000006000030c6ec27dd5a2327]# cp /OVS/Repositories/0004fb0000030000169d06eb2fdfcc6f/VirtualDisks/0004fb00001200008d2bc3496683e1c4.img /u01/common/images/pw-template/
次に示すように、テンプレート構成とディスクを含む圧縮tarファイルを作成します。
[root@slce02cn01 0004fb000006000030c6ec27dd5a2327]# cd /u01/common/images/pw-template [root@slce02cn01 pw-template]# tar zcvf pw-template.tgz * 0004fb00001200004e5b424a5f5965bf.img 0004fb00001200008d2bc3496683e1c4.img vm.cfg
この結果ファイルは、Exalogic Controlにアップロードできる状態のサーバー・テンプレートになります。
不要になったVMクローンを削除します。OVMMで、VMのクローン上で右クリックしてから「Delete」を選択します。「Delete Confirmation」画面で、このVMで使用される仮想ディスクを選択して「OK」をクリックます。
作業領域にアクセスするためのHTTPプロトコルが、Sun ZFSストレージ・アプライアンス側で有効化されていない場合は、次のステップを完了します。
SSHを使用してストレージ・ノード(たとえば、slce02sn01
)にログインし、HTTPサービスを有効にします。次に例を示します。
slce02sn01:> configuration services http slce02sn01:configuration services http> enable slce02sn01:configuration services http> show Properties: <status> = online require_login = false protocols = http/https listen_port = 80 https_port = 443
テンプレート・パッケージを含む作業領域に、HTTPでアクセスできることを確認します。
slce02sn01:configuration services http> cd / slce02sn01:> shares slce02sn01:shares> select common slce02sn01:shares common> get sharedav sharedav = off slce02sn01:shares common> set sharedav=ro sharedav = ro (uncommitted)slce02sn01:shares common> commit slce02sn01:shares common> select images slce02sn01:shares common/images> get sharedav sharedav = off slce02sn01:shares common/images> set sharedav=ro sharedav = ro (uncommitted) slce02sn01:shares common/images> commit
sharedav
プロパティがrw
またはro
に設定されている場合は、このプロパティを変更する必要はありません。
Sun ZFSストレージ・アプライアンスからログアウトします。
slce02sn01: shares common/images> exit Connection to slce02sn01 closed.
Exalogic Controlを使用して、次に示すように、新しいサーバー・テンプレートをアカウントにアップロードします。
Exalogic ControlのWebインタフェースに、Cloud Admin
またはCloud User
としてログインします。
左側のナビゲーション・ペインで、「vDC Management」をクリックします。「vDC Accounts」で、アカウントの名前をクリックします。vDCアカウントのダッシュボードが表示されます。
上部のナビゲーション・バーで「Server Templates」をクリックします。アカウントで使用可能なサーバー・テンプレートがリストされます。
「Server Templates」で、「Upload Server Template」アイコンをクリックします。または、「Actions」ペインの「Operate」で「Upload Server Template」をクリックします。図G-1に示すように、サーバー・テンプレートのアップロード・ウィザードが表示されます。
「Identify Server Template」画面で、アップロードするサーバー・テンプレートの名前と説明を入力します。たとえば、「Name」フィールドにTemplate1
と入力します。「Description」フィールドに、簡単な説明を入力します。後で識別および検索するために、タグを追加できます。
「Next」をクリックします。図G-2に示すように、「Specify Server Template Details」画面が表示されます。
「Image SubType」オプションを選択して、「Template」を選択します。
「Upload Source」として、「URL」を選択します。URLを指定するには、「Server Template URL」フィールドに、ステップ6で作成したテンプレート・パッケージのHTTP URLを入力します。
このドキュメントの説明と同じ作業領域を使用している場合、このURLは次のようになります。
http://<zfssa-host>/shares/export/common/images/<workspace>/<template>.tgz
「Next」をクリックします。
サマリーを確認し、「Upload」をクリックするとサーバー・テンプレートがアップロードされます。
上部のナビゲーション・バーで「Server Templates」をクリックします。新しくアップロードされたサーバー・テンプレートがリストされているはずです。このサーバー・テンプレートを基にして、vServerの作成を開始できます。