7.4. テンプレートとしてのデプロイに備えた仮想マシンのシーリング
7.4.1. テンプレートとしてデプロイする Linux 仮想マシンのシーリング
sys-unconfig
コマンドを使用する 2 つの主要な方法があります。Linux 仮想マシンを手動でシーリングするには、次回仮想マシンを起動する際にさまざまな設定タスクを開始するフラグの役割を果たすファイルを、仮想マシンに作成する必要があります。sys-unconfig
コマンドを使用する場合は、このプロセスを自動化できます。ただし、いずれの手法でも、シーリングする仮想マシンに固有のファイルや、その仮想マシンをベースにして作成したテンプレートを使用して作成された仮想マシンの間で競合発生の原因となる可能性があるファイルを手動で削除する必要があります。したがって、これらの手法は、Linux 仮想マシンをシーリングする手法としていずれも有効で、同じ結果が得られます。
7.4.1.1. テンプレートとしてデプロイする Linux 仮想マシンの手動シーリング
手順7.9 Linux 仮想マシンのシーリング
- 仮想マシンにログインします。
- システムを再設定するためのフラグを付けます。
# touch /.unconfigured
- ssh ホストキーを削除します。
# rm -rf /etc/ssh/ssh_host_*
/etc/sysconfig/network
でHOSTNAME=localhost.localdomain
を設定します。/etc/udev/rules.d/70-*
を削除します。# rm -rf /etc/udev/rules.d/70-*
/etc/sysconfig/network-scripts/ifcfg-eth*
からHWADDR
とUUID
の行を削除します。- 任意で
/var/log
から全ログを削除し、/root
からのログを作成します。 - 仮想マシンをシャットダウンします。
# poweroff
7.4.1.2. テンプレートとしてデプロイする Linux 仮想マシンを sys-unconfig でシーリングする手順
手順7.10 sys-unconfig を使用した Linux 仮想マシンのシーリング
- 仮想マシンにログインします。
- ssh ホストキーを削除します。
# rm -rf /etc/ssh/ssh_host_*
/etc/sysconfig/network
でHOSTNAME=localhost.localdomain
を設定します。/etc/sysconfig/network-scripts/ifcfg-eth*
からHWADDR
とUUID
の行を削除します。- 任意で
/var/log
から全ログを削除し、/root
からのログを作成します。 - 次のコマンドを実行します。
# sys-unconfig
7.4.2. テンプレートとしてデプロイする Windows 仮想マシンのシーリング
重要
- Windows Sysprep パラメーターが正しく定義されていること。正しく定義されていない場合には、仮想マシンの オペレーティングシステム および ドメイン のフィールドに必要な情報を入力します。をクリックして、
- Manager の
/etc/ovirt-engine/osinfo.conf.d/10-productkeys.properties
オーバーライドファイルに、正しいプロダクトキーが定義されていること。正しく定義されていない場合には、/etc/ovirt-engine/osinfo.conf.d/00-defaults.properties
から Windows オペレーティングシステム用のデフォルト値をオーバーライドファイルにコピーし、productKey.value
およびsysprepPath.value
のフィールドに適切な値を入力します。例7.1 Windows 7 のデフォルト設定値
# Windows7(11, OsType.Windows, false),false os.windows_7.id.value = 11 os.windows_7.name.value = Windows 7 os.windows_7.derivedFrom.value = windows_xp os.windows_7.sysprepPath.value = ${ENGINE_USR}/conf/sysprep/sysprep.w7 os.windows_7.productKey.value = os.windows_7.devices.audio.value = ich6 os.windows_7.devices.diskInterfaces.value.3.3 = IDE, VirtIO_SCSI, VirtIO os.windows_7.devices.diskInterfaces.value.3.4 = IDE, VirtIO_SCSI, VirtIO os.windows_7.devices.diskInterfaces.value.3.5 = IDE, VirtIO_SCSI, VirtIO os.windows_7.isTimezoneTypeInteger.value = false
7.4.2.1. Windows 7 または Windows 2008 テンプレートのシーリング手順
手順7.11 Windows 7 または Windows 2008 テンプレートのシーリング手順
C:\Windows\System32\sysprep\sysprep.exe
から Sysprep を起動します。- 以下の情報を Sysprep ツールに入力します。
- システムクリーンアップアクション 下で、システムの OOBE (Out-of-Box-Experience) に入る を選択します。
- コンピューターのシステム識別番号 (SID) を変更する必要がある場合には、一般化する チェックボックスにチェックを入れます。
- シャットダウンオプション で、シャットダウン を選択します。
7.4.3. Cloud-Init を使用した仮想マシンの設定の自動化
7.4.3.1. Cloud-Init のユースケースシナリオ
- テンプレートをベースとして作成された仮想マシン
- 1 回実行 ウィンドウの 初期起動 のセクションの Clund-Init オプションを使用して、テンプレートをベースに作成された仮想マシンを初期化することができます。これにより、仮想マシンの初回起動時の設定をカスタマイズすることができます。
- 仮想マシンのテンプレート
- 新規テンプレート および テンプレートの編集 ウィンドウの 初回起動 タブで Cloud-Init/Sysprep を使用 のオプションを使用して、そのテンプレートをベースに作成される仮想マシンをカスタマイズするオプションを指定することができます。
- 仮想マシンプール
- 新規プール ウィンドウの 初回起動 タブで、Cloud-Init/Sysprep を使用 オプションを使用して、仮想マシンプールから取得する仮想マシンをカスタマイズするオプションを指定することができます。これにより、仮想マシンプールから仮想マシンが取得される度に適用される標準の設定項目一式を指定することができます。仮想マシンのベースとなるテンプレートに指定されているオプションは、継承または上書きしたり、仮想マシンプール自体にオプションを指定したりすることができます。
7.4.3.2. Cloud-Init のインストール
手順7.12 Cloud-Init のインストール
- 仮想マシンにログオンします。
- 必要なリポジトリーを有効にします。
- Red Hat Enterprise Linux 6 の場合:
# subscription-manager repos --enable=rhel-6-server-rpms # subscription-manager repos --enable=rhel-6-server-rh-common-rpms
- Red Hat Enterprise Linux 7 の場合:
# subscription-manager repos --enable=rhel-7-server-rpms # subscription-manager repos --enable=rhel-7-server-rh-common-rpms
- cloud-init パッケージと依存関係をインストールします。
# yum install cloud-init
7.4.3.3. Cloud-Init を使用したテンプレートの準備
注記
手順7.13 Cloud-Init を使用したテンプレートの準備
- 仮想マシン タブをクリックして、仮想マシンを 1 つ選択します。
- 初期起動 タブをクリックし Cloud-Init/Sysprep を使用 のチェックボックスを選択します。
- 仮想マシンのホスト名 のテキストフィールドにホスト名を入力します。
- タイムゾーンを設定 のチェックボックスを選択し、タイムゾーン のドロップダウンリストからタイムゾーンを選択します。
- 認証 のセクションを展開し、設定済みのパスワードを使用 のチェックボックスを選択して既存の認証情報を使用するか、チェックを外して パスワード と パスワードを確認 のテキストフィールドに root のパスワードを入力して新しい root パスワードを指定します。
- SSH 認証キー のテキストフィールドに 仮想マシン上の承認済みホストのファイルに追加する SSH キーを入力します。
- SSH キーを再生成 のチェックボックスを選択して仮想マシン用の SSH キーを再生成します。
- ネットワーク のセクションを展開し、DNS サーバー のテキストフィールドに任意の DNS サーバーを入力します。
- DNS 検索ドメイン のテキストフィールドに任意の DNS 検索ドメインを入力します。
- ネットワーク のチェックボックスを選択して および のボタンを使用して仮想マシンにネットワークインターフェースを追加または削除します。
- カスタムスクリプト のセクションを展開し、カスタムスクリプト のテキストフィールドに任意のカスタムスクリプトを入力します。
7.4.3.4. Cloud-Init を使用した仮想マシンの設定の初期化
手順7.14 Cloud-Init を使用した仮想マシンの設定の初期化
- 仮想マシン タブをクリックして、仮想マシンを 1 つ選択します。
- 初期起動 セクションを展開し、Cloud-Init チェックボックスを選択します。
- 仮想マシンのホスト名 のテキストフィールドにホスト名を入力します。
- タイムゾーンを設定 のチェックボックスを選択し、タイムゾーン のドロップダウンメニューからタイムゾーンを選択します。
- 設定済みのパスワードを使用 のチェックボックスを選択して既存の認証情報を使用するか、チェックを外して パスワード と パスワードを確認 のテキストフィールドに root のパスワードを入力し、新しい root パスワードを指定します。
- SSH 認証キー のテキストフィールドに 仮想マシン上の承認済みホストのファイルに追加する SSH キーを入力します。
- SSH キーを再生成 のチェックボックスを選択して仮想マシン用の SSH キーを再生成します。
- DNS サーバー のテキストフィールドに任意の DNS サーバーを入力します。
- DNS 検索ドメイン のテキストフィールドに任意の DNS 検索ドメインを入力します。
- ネットワーク のチェックボックスを選択して + および - のボタンを使用して仮想マシンにネットワークインターフェースを追加または削除します。
- カスタムスクリプト のテキストフィールドに任意のカスタムスクリプトを入力します。スクリプトで指定した値が適切であることを確認します。適切でない場合にはアクションが失敗します。
注記