4.7. ベアメタルインスタンスの ISO ブートを有効にする
デフォルトのデプロイインターフェイスは直接デプロイであり、ベアメタルノード上のディスクにディスクイメージを直接書き込みます。PXE、iPXE、または仮想メディアを使用してインスタンスを起動し、メモリーをローカルストレージとして使用する場合は、RAM ディスクまたは ISO イメージからベアメタルインスタンスを起動することもできます。これは、ローカルストレージにイメージを書き込む必要がない、または望ましくない高度な科学的ワークロードや一時的なワークロードに役立ちます。
-
ISO ブートは、Compute サービス (nova) を通じてはサポートされません。したがって、
openstack server create
コマンドを使用してインスタンスを作成するときに ISO ブートを使用することはできません。ISO ブートは、openstack baremetal node deploy <uuid>
コマンドを使用してマシンがベアメタルノードとして直接プロビジョニングされている場合にのみサポートされます。 - ベアメタルノードの自動クリーニングが引き続き実行されるため、デプロイメント間でローカルストレージの内容が消去されます。
ISO ブートの制限
- 設定ドライブはネットワークブートではサポートされておらず、Redfish 仮想メディアでのみサポートされます。
- ディスクイメージの内容はベアメタルノードに書き込まれません。
- 必要なすべての設定を備えたカスタム RAM ディスクイメージを作成する権限が必要です。
- iPXE ブートを使用する場合、ベアメタルノードは iPXE ネットワークリソースへのネットワークアクセスを継続的に維持する必要があります。これは、このアクセスがプロビジョニングおよびクリーニングネットワークに制限されている、ほとんどのテナントネットワーク対応設定とは対照的です。
-
iPXE ブートインターフェイスで ISO ブートを使用する場合は、提供された ISO ファイルからのみカーネルと RAM ディスクをブートできます。追加の RAM ディスクコンテンツやインストーラーパッケージファイルなどの追加コンテンツは、OS の起動後には利用できなくなります。したがって、OS インストールに ISO ブートを使用するには、標準の
ramdisk
デプロイインターフェイスと、instance_info
パラメーターおよびkernel_append_params
パラメーターを使用して、データをロードする初期 RAM ディスクのミラー URL などの任意の設定を渡す必要があります。これは、iPXE と、iPXE によって割り当てられたメモリーが解放されるオペレーティングシステムの全体的なブートプロセスの制限です。
手順
-
アンダークラウドホストに
stack
ユーザーとしてログインします。 stackrc
アンダークラウド認証情報ファイルを入手します。$ source ~/stackrc
-
IronicEnabledDeployInterfaces
パラメーターを設定する環境ファイルを開くか、または、有効なデプロイインターフェイスを設定するための新しい環境ファイル (例:deploy_interfaces.yaml
) を作成します。 RAM ディスクと ISO ブートを有効にするには、デプロイインターフェイスとして
ramdisk
を追加します。parameter_defaults: IronicEnabledDeployInterfaces: direct,ramdisk
任意: デフォルトでは、各ノードの Bare Metal Provisioning サービス (ironic) エージェントは、HTTP リンクを通じて Object Storage サービス (swift) に保管されているイメージを取得します。あるいは、Bare Metal Provisioning サービスは、
ironic-conductor
HTTP サーバーを介してこのイメージをノードに直接ストリーミングすることもできます。イメージを提供するサービスを変更するには、イメージのダウンロードソースをhttp
に設定します。parameter_defaults: IronicEnabledDeployInterfaces: direct,ramdisk IronicImageDownloadSource: http
デプロイインターフェイス環境ファイルを他の環境ファイルとともにスタックに追加し、オーバークラウドをデプロイします。
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/deploy_interface.yaml
- デプロイメントが完了するまで待ちます。
検証
オーバークラウド認証情報ファイルを入手します。
$ source ~/<credentials_file>
-
<credentials_file>
を認証情報ファイルの名前 (overcloudrc
など) に置き換えます。
-
ISO イメージから起動するベアメタルインスタンスのデプロイインターフェイスとして
ramdisk
を指定します。$ openstack baremetal node set --deploy-interface ramdisk
ヒントベアメタルインスタンスを作成するときに、
openstack baremetal node create
コマンドに--deploy-interface ramdisk
を追加することで、デプロイインターフェイスを設定できます。ベアメタルインスタンスを作成する方法は、ベアメタルノードを手動で登録する を参照してください。ISO イメージを起動するには、ベアメタルノードを更新します。
$ openstack baremetal node set <node_UUID> \ --instance-info boot_iso=<boot_iso_url>
-
<node_UUID>
を、ISO イメージから起動するベアメタルノードの UUID に置き換えます。 <boot_iso_url>
をブート ISO ファイルの URL に置き換えます。次のいずれかの方法を使用して、ブート ISO ファイルの URL を指定できます。- HTTP または HTTPS URL
- ファイルパス URL
- イメージサービス (glance) オブジェクト UUID
-
ベアメタルノードを ISO イメージとしてデプロイします。
$ openstack baremetal node deploy <node_UUID>