*

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

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

by kumagai(@kumagai19o) 2013/5/20
前回から2ヶ月も空いてしまい申し訳ありません。
今回はvi javaによる仮想マシンのデバイス追加をご紹介します。
■過去の記事一覧はこちら
前回の仮想デバイス変更で取り扱ったのはCPU,メモリ
ハードディスク(以下、HDD)、ネットワークカード(以下、NIC)、といった外部デバイス
これらを扱う処理をご紹介します。

vi java ではVirtualMachineDeviceManagerというクラスが用意されており
これを使用することで仮想デバイスの追加、削除を行います。
このプログラムはvSphereClientでの仮想デバイスの操作を知っていれば
説明が要らないのではないかと思えるほどに単純です。
  Folder rootFolder = serviceInstance.getRootFolder();
InventoryNavigator rootNavi = new InventoryNavigator(rootFolder);

//対象の仮想マシンを取得する
VirtualMachine targetVm =
(VirtualMachine) rootNavi.searchManagedEntity("VirtualMachine", "newVM");


//VirtualMachineDeviceManagerへ仮想マシンをセット
VirtualMachineDeviceManager vmdm = new VirtualMachineDeviceManager(targetVm);


//①新規ネットワークアダプタの作成
vmdm.createNetworkAdapter(
VirtualNetworkAdapterType.VirtualVmxnet3, //ネットワークアダプタのタイプ
"blogPortGroup", //接続するVirtualNetworkの名称
null, //MACアドレス(Nullの場合自動生成)
false, //パワーオン時に接続
false //接続中
);

//②新規仮想HDDの作成
vmdm.createHardDisk(
500, //HDDサイズ(単位はMB)
VirtualDiskType.thin, //HDDタイプ(シック/シン)
VirtualDiskMode.persistent //HDDモード(デフォルトはpersistent)
);

//③仮想HDD追加時に既存のディスクを使用する
vmdm.addHardDisk(
"[Strage193] newVM/newVM_exists.vmdk", //仮想HDDファイルのパス
VirtualDiskMode.persistent //HDDモード(デフォルトはpersistent)
);

上記プログラムにて丸数字をつけた箇所をvSphereClientの画面と比較してみましょう。

①新規ネットワークアダプタの作成

 下記の太字の箇所がAPIで指定するパラメータです。
 接続中の指定はデバイス追加時点での接続状態で下記の
 ウィザードでは選択肢が無く、追加すると常に接続中です。

 ①-1. 仮想マシンのプロパティからデバイスの追加を押下

 ①-2. イーサネットアダプタを選択し「次へ(>)」を押下

 ①-3. アダプタタイプネットワークラベルパワーオン時に接続のチェックを
  選択し「次へ(>)」を押下 

 ①-4 終了を押下

 ①-5 仮想マシンのプロパティ画面でOKを押下

②新規仮想HDDの作成

 下記4,5の太字の箇所がAPIで指定するパラメータです。
 太字でない設定項目はAPIの場合デフォルト状態で追加されます。
②-1 仮想マシンのプロパティからデバイスの追加を押下
②-2 「ハードディスク」を選択し、「次へ(>)」を押下
②-3 「新規仮想ディスクを作成」を選択し、「次へ(>)」を押下


②-4 ディスクサイズディスクプロビジョニング、場所を選択し、「次へ(>)」を押下



②-5 仮想デバイスノード、モードを指定し、「次へ(>)」を押下


②-6 終了を押下
②-7 仮想マシンのプロパティ画面でOKを押下

③仮想HDD追加時に既存のディスクを使用する

手順2までは②と同じです。
③-3 「既存の仮想ディスクを使用」を選択し、「次へ(>)」を押下
③-4 「ディスクファイルのパス」を選択し、「次へ(>)」を押下
    このとき指定するファイルパスは「 [データストア名称] データストア内のファイルパス」
    という形となり、APIで指定する場合も同様です。


③-5 仮想デバイスノード、モードを指定し、「次へ(>)」を押下
    ※画面は②-5と同様です。
③-6 終了を押下

③-7 仮想マシンのプロパティ画面でOKを押下


このようにvSphereClientとほぼ同じ感覚でAPIからのデバイス操作が可能となります。
VirtualMachineDeviceManagerではCDドライブやフロッピードライブの
追加操作も同様に行えますので、試してみてください。

次回は、仮想スイッチの追加操作を取り上げてみたいと思います。

関連記事

img-000001

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

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

記事を読む

WS000093

VMware vSphere PowerCLIの導入

2014年10月27日 by ymaeda PowerCLIとは PowerCLIは、Wind

記事を読む

DSC_0584

vForum 2012

by kumagai 2012/11/7初めまして。ビットアイル総研の熊谷です。今日は11月6日、7

記事を読む

img-0000011

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

by kumagai(@kumagai19o) 2013/7/9 今回は仮想マシンをクローンし各設定

記事を読む

img-000001

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

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

記事を読む

img-000003

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

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

記事を読む

blog-000007

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

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

記事を読む

img-000001

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

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

記事を読む

img-000002

仮想マシンへのISOイメージのマウント ~vijava programming tips(12)

by kumagai(@kumagai19o) 2013/8/30 今回は仮想マシンにデータス

記事を読む

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 ↑