3.3. Whole Windows イメージの作成
この手順では、Windows Server 2012 の展開イメージを作成します。Red Hat Enterprise Linux システムで以下の手順を実行します。
virtio-win ドライバーをダウンロードします。必要な手順 については、Red Hat カスタマーポータル を参照してください。
これにより、virtio-win .iso ファイルが /usr/share/virtio-win/ にダウンロードされます。例: /usr/share/virtio-win/virtio-win-1.8.0.iso
virt-manager を使用して Windows Server 2012 テンプレート仮想マシンを作成します。
- Windows テンプレートの仮想ハードウェア要件を決定します。この例では、1 x CPU、4GB RAM、10GB HDD、2 x NIC、および 2 x 仮想 CD-ROM ドライブを使用します。
- qcow2 ファイルとしてディスクを作成します。
-
仮想 HDD ドライバーと NIC ドライバーの両方を
virtio
に設定します。 - Windows Server 2012 R2 .iso ファイルにマウントされた 2x 仮想 CD-ROM ドライブと virtio-win-1.8.0.iso ファイルをアタッチします。Windows のインストールプロセス中に virtio-win ドライバーをインストールするには、2 つの仮想 CD-ROM が必要です。
ISO イメージから Windows を手動でインストールします。
- Windows Server 2012 R2 の評価版の .iso イメージから Windows のインストールを開始します。
- HDD ドライバーを選択する機会がある場合は、virtio-win-1.8.0.iso ファイルを含む 2 番目の仮想 CD-ROM からドライバーを選択します。
インストール後の Windows チェックを実行します。
デバイス マネージャーを 開き、すべてのデバイスが適切に認識され、疑問符 の警告が表示されていないことを確認します。特に、NIC、serial、および balloon ドライバーが VirtIO ドライバーを使用していることを確認します。デバイスが正しく認識されない場合は、virtio-win ドライバーディスクからドライバーを適用します。
sysprep を実行します。
Sysprep により、Windows インストールが汎用的になり、以前に実行した 1 つのインストールに固有のインストール情報が削除されます。これにより、仮想マシンの仮想ハードディスクを、他のシステムへの複数のインストール用のテンプレートとして使用できます。
- C:\Windows\System32\sysprep\sysprep.exeからの Sysprep の起動
Sysprep ツールに以下の情報を入力します。
- System Cleanup Action の場合は、Enter System Out-of-Box-Experience (OOBE) を選択します。
- Generalize チェックボックスを選択します。
- Shutdown Options セクションで Shutdown を選択します。
- OK をクリックして sysprep プロセスを完了します。完了したら、仮想マシンは自動的にシャットダウンします。
Image サービス(glance)に Windows イメージを登録します。この手順では、Windows インストールの qcow2 HDD を glance に登録します。この例では、ディスクファイル
/root/win2012r2.qcow2
を使用しています。glance image-create --file /root/win2012r2.qcow2 --disk-format qcow2 --container-format bare --name win2012r2 --is-public True --progress
$ glance image-create --file /root/win2012r2.qcow2 --disk-format qcow2 --container-format bare --name win2012r2 --is-public True --progress [=============================>] 100%
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.1. Windows の物理サーバーへのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
ハードウェアコンポーネントを指定して、ironic に物理ノードを登録します。以下に例を示します。
ironic node-create -d fake_pxe -p cpus=1 -p memory_mb=1024 -p local_gb=15 -p cpu_arch=amd64
# ironic node-create -d fake_pxe -p cpus=1 -p memory_mb=1024 -p local_gb=15 -p cpu_arch=amd64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいノードの UUID を取得します。
ironic node-list
# ironic node-list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 物理 Windows ノードの MAC アドレスに一致するノードのポートを作成します。
ironic port-create -n [NODE_UUID] -a [NIC_MAC]
# ironic port-create -n [NODE_UUID] -a [NIC_MAC]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
ironic port-create -n 3b3d3fd4-4621-427f-a78d-054a1ef17a0a -a 52:54:00:85:76:53
# ironic port-create -n 3b3d3fd4-4621-427f-a78d-054a1ef17a0a -a 52:54:00:85:76:53
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノードをメンテナンスモードに切り替えます。
ironic node-set-maintenance [NODE_UUID] true ironic node-set-provision-state [NODE_UUID] manage
# ironic node-set-maintenance [NODE_UUID] true # ironic node-set-provision-state [NODE_UUID] manage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいノードのイントロスペクションを実行します。
openstack baremetal introspection start [NODE_UUID] --discoverd-url http://[KEYSTONE_URL]:5050
# openstack baremetal introspection start [NODE_UUID] --discoverd-url http://[KEYSTONE_URL]:5050
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [KEYSTONE_URL]
を keystone サービスの IP アドレスに置き換えます。注記: FAKE_PXE ドライバーを使用している場合は、ironic ノードリストの状態が
wait-callback のデプロイ
に切り替わったら、手動でノード の電源をオンにします。
イントロスペクションが完了したら、メンテナンスモードをオフにします。
ironic node-set-maintenance [NODE UUID] false ironic node-set-provision-state [NODE UUID] provide
# ironic node-set-maintenance [NODE UUID] false # ironic node-set-provision-state [NODE UUID] provide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスへの認証用のキーペアを作成します。
nova keypair-add --pub_key ~/.ssh/id_rsa.pub [KEY_NAME]
# nova keypair-add --pub_key ~/.ssh/id_rsa.pub [KEY_NAME]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノードのローカルブートを有効にします。
ironic node-update [NODE_UUID] add properties/capabilities="boot_option:local"
# ironic node-update [NODE_UUID] add properties/capabilities="boot_option:local"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nova を使用してノードを起動します。
nova boot --nic net-id=[NETWORK_UUID] --flavor [FLAVOR_NAME] --image [IMAGE_UUID/IMAGE_NAME] --keyname [INSTANCE_NAME]
# nova boot --nic net-id=[NETWORK_UUID] --flavor [FLAVOR_NAME] --image [IMAGE_UUID/IMAGE_NAME] --keyname [INSTANCE_NAME]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えます。
-
[NETWORK_UUID]
は、ベアメタルプロビジョニングで使用するために作成されたネットワークの一意識別子に置き換えます。 -
[FLAVOR_NAME]
をノード用に作成されたフレーバーの名前に置き換えます。 -
[IMAGE_UUID]
を、Image サービスにアップロードされたディスクイメージの一意識別子に置き換えます。 -
[INSTANCE_NAME]
は、ベアメタルインスタンスの名前に置き換えます。
-
インスタンスのパスワードを取得します。
nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
# nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスのステータスを確認します。
nova list
# nova list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Dashboard のコンソールを使用してインスタンスにアクセスすることで、これをさらにテストすることができます。
3.3.2. リモートデスクトップアクセスの有効化 リンクのコピーリンクがクリップボードにコピーされました!
-
TCP/UDP 3389
で リモートデスクトップ トラフィックを許可するセキュリティーグループルールを追加します。 nova コマンドを使用してセキュリティーキーを取得します。
nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
# nova get-password [INSTANCE_NAME] /path/to/your/keypairs/private/key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
[INSTANCE_NAME]
は、ベアメタルインスタンスの名前に置き換えます。
-