*

仮想マシンのクローン作成&カスタマイズ(Linux) ~vijava programming tips(7)

公開日: 最終更新日:2014/07/23  |  By  |  VMware, vSphereAPI

by kumagai(@kumagai19o) 2013/7/9

今回は仮想マシンをクローンし各設定のカスタマイズを行います。
カスタマイズの方法はLinux/Windowsで異なりますので、今回と次回に分けてご紹介したいと思います。

■過去の記事一覧はこちら

ではLinuxでのクローン作成です。まずはvSphereClientでの操作を見てみます。

①クローン元を選択しクローン開始
②仮想マシン名③フォルダを選択
④クラスタを選択
⑤リソースプールを選択
⑥データストアを選択
カスタマイズを選択
⑦ホスト名と⑧ドメイン設定
⑨タイムゾーンと⑩HWクロックを指定
⑪ネットワーク設定
⑫DNS設定
カスタマイズ設定の確認
クローン設定の確認

上記の説明に丸数字をつけた設定がAPIからの実行でも必要となるパラメータです。
vijavaのソースでこれらのパラメータを指定と下記のようなプログラムになります。

使用するメソッドはcloneVM_Taskです。パラメータとして
フォルダ、仮想マシン名、CloneSpecを受け取ります。

105      Task cloneTask = sourceVM.cloneVM_Task(
106 targetFolder,
107 instanceName,
108 cloneSpec);


その他のパラメータはCloneSpecに下記のオブジェクトから設定します。

・配置先情報(RelocateSpec)
  – ④クラスタ
  – ⑤リソースプール

  – ⑥データストア
 35       VirtualMachineRelocateSpec relocationSpec    = 
new VirtualMachineRelocateSpec();
36
37 //④⑤ クラスター/リソースプール : DEV-CLUSTER2
38 ClusterComputeResource tgtPool=
(ClusterComputeResource)rootNavi.searchManagedEntity(
"ClusterComputeResource",
"DEV-CLUSTER2");
39 relocationSpec.setPool(tgtPool.getResourcePool().getMOR());
40
41 //⑥ データストア : blogDSCluster
42 StoragePod targetStore =
(StoragePod)rootNavi.searchManagedEntity(
"StoragePod",
"blogDSCluster");
43 relocationSpec.setDatastore(targetStore.getChildEntity()[0].getMOR());
44
45 cloneSpec.setLocation(relocationSpec);

・カスタマイズ設定(CustomizationSpec)
  – ⑦ホスト名の設定方法
  – ⑧ドメイン

  – ⑨タイムゾーン
  – ⑩HW時計設定
  – ⑪ネットワーク設定
  – ⑫DNS設定
51        CustomizationSpec customSpec = new CustomizationSpec();
52
53 //Linux のカスタマイズ設定
54 CustomizationLinuxPrep customPrep = new CustomizationLinuxPrep();
55
56 //⑦ コンピュータ名 : 仮想マシン名を使用
57 CustomizationVirtualMachineName hostName =
new CustomizationVirtualMachineName();
58 customPrep.setHostName(hostName);
59
60 //⑧ ドメイン : blog
61 customPrep.setDomain("blog");
62
63 //⑨ タイムゾーン : アジア / 東京
64 customPrep.setTimeZone("Asia/Tokyo");
65
66 //⑩ ハードウェア時計設定 : ローカル(非UTC)
67 customPrep.setHwClockUTC(false);
68
69 //⑪ このゲストOSで使用するネットワーク設定 : 標準設定(DHCP)
70 { CustomizationAdapterMapping[] customAdMp =
new CustomizationAdapterMapping[1];
71 CustomizationAdapterMapping adapterMap =
new CustomizationAdapterMapping();
72 CustomizationIPSettings ipSetting = new CustomizationIPSettings();
73 CustomizationDhcpIpGenerator ipGenerator =
new CustomizationDhcpIpGenerator();
74 ipSetting.setIp(ipGenerator);
75 adapterMap.setAdapter(ipSetting);
76 customAdMp[0] = adapterMap;
77 customSpec.setNicSettingMap(customAdMp);
78 } // --End ⑪ このゲストOSで使用するネットワーク設定
79
80 //⑫ DNS設定
81 { CustomizationGlobalIPSettings globalIp =
new CustomizationGlobalIPSettings();
82 globalIp.setDnsServerList(new String[]{"8.8.8.8"});
83 customSpec.setGlobalIPSettings(globalIp);
84 } //--End ⑫ DNS設定
85
86 customSpec.setIdentity(customPrep);
87
88 cloneSpec.setCustomization(customSpec);


・設定情報(ConfigSpec
  – 今回画面からは設定していませんが、クローン設定の確認画面で
  仮想ハードウェアを編集(試験的サポート)のチェックをつけると
  クローン開始前に仮想マシンの設定が編集できます。
  これと同等のことがConfigSpecの設定で可能です。

以上です。カスタマイズ設定の部分について、今回はLinuxサーバなので
LinuxPrepというオブジェクトから設定しました。
Windowsではこの部分がSysprepの設定オブジェクトになります。

次回はこの部分を中心にご紹介したいと思います。

関連記事

img-000001

仮想スイッチの追加 ~vijava programming tips(6)

by kumagai(@kumagai19o) 2013/5/27前回までで仮想マシン側の作成、設定

記事を読む

blog-000051

仮想デバイス設定の変更 ~vijava programming tips(4)

by kumagai(@kumagai19o) 2013/3/11 vijavaによるvSph

記事を読む

img-000001

仮想デバイスの追加 ~vijava programming tips(5)

by kumagai(@kumagai19o) 2013/5/20 前回から2ヶ月も空いてしまい申し

記事を読む

img-000001

仮想マシンの電源操作 と状態判別~vijava programming tips(9)

by kumagai(@kumagai19o) 2013/8/5 今回は少し戻って基本的な仮想

記事を読む

blog-000007

インベントリから操作対象のManagedEntityを取り出す ~vijava programming tips(2)

by kumagai 2013/2/8 vijavaによるvSphereAPIプログラミングt

記事を読む

blog-000018

仮想マシンの作成 ~vijava programming tips(3)

by kumagai(@kumagai19o) 2013/2/21 vijavaによるvSph

記事を読む

img-000001

仮想マシンのクローン作成(Windows) ~vijava programming tips(8)

by kumagai(@kumagai19o) 2013/7/18 今回はWindow

記事を読む

file001

vSphereAPI をJavaでプログラミングする ~vijava programming tips

by kumagai 2013/02/01 VMwareの提供する仮想化プラットフォーム、vS

記事を読む

img-000003

データストア操作 ~vijava programming tips(11)

by kumagai(@kumagai19o) 2013/8/26 今回はデータストアの操作を

記事を読む

img-000004

仮想マシンのパフォーマンスチャートの取得 ~vijava programming tips(10)

by kumagai(@kumagai19o) 2013/8/8 今回は仮想マシンのパフォーマ

記事を読む

no image

ビットアイル総合研究所は、クラウド技術に関する調査&研究を通して、社会と会社に寄与していくことを目的に、ビットアイル・エクイニクスの企業内研究所として2011年8月に設立されました。

openstack-figure1-2x
COHO DataStream のCinder連携

OpenStack Cinder のストレージバックエンドとしてはCe

blog-ocata
Jujuで Ocataを含む様々なバージョンのOpenStack をデプロイする方法

祝OpenStack Ocata リリース!! ということで、早速デプ

newton
Juju Manual Cloud で OpenStack 環境構築

本当にご無沙汰しております。 この投稿はOpenStack Adve

top
HACK! THE Juju/MAAS

6/8~6/10まで幕張メッセで開催されたInterop 2016。皆

dpdk
OpenStack OVS VXLAN ネットワークの高速化

少し前の話になりますが、3月2日に開催された 日本仮想化技術株式会社様

→もっと見る

PAGE TOP ↑