4.2. ベアメタルノードのクリーニング
Bare Metal Provisioning サービスは、ノードをクリーニングして、プロビジョニングの準備をします。次のいずれかの方法を使用して、ベアメタルノードをクリーニングできます。
- 自動: ノードをプロビジョニング解除する際、ノードクリーニングを自動的に実行するように、オーバークラウドを設定できます。
- 手動: 必要に応じて、個別のノードを手動でクリーニングできます。
4.2.1. 自動ノードクリーニングの設定
自動ベアメタルノードクリーニングは、ノードを登録した後、ノードがプロビジョニング状態 available
に達する前に、実行されます。ノードがプロビジョニング解除されるたびに、自動クリーニングが実行されます。
デフォルトでは、Bare Metal Provisioning サービスは、ノードのクリーニングに provisioning
という名前のネットワークを使用します。ただし、Networking サービス (neutron) では、ネットワーク名は一意ではないため、プロジェクトが同じ名前のネットワークを作成する可能性があり、Bare Metal Provisioning サービスとの競合が発生します。競合を回避するには、ネットワーク UUID を使用して、ノードクリーニングネットワークを設定します。
手順
- アンダークラウドのホストにログインします。
オーバークラウド認証情報ファイルを入手します。
$ source ~/<credentials_file>
-
<credentials_file>
を認証情報ファイルの名前 (overcloudrc
など) に置き換えます。
-
Bare Metal Provisioning サービスをホスティングするプロバイダーネットワークの UUID を取得します。
(overcloud)$ openstack network show <network_name> -f value -c id
-
<network_name>
をベアメタルノードのクリーニングネットワークに使用するネットワークの名前に置き換えます。
-
-
デプロイメント用の Bare Metal Provisioning サービスを設定するローカル環境ファイル (例:
ironic-overrides.yaml
) を開きます。 ノードクリーニングネットワークとして使用するネットワークを設定します。
parameter_defaults: IronicCleaningNetwork: <network_uuid>
-
<network_uuid>
を手順 3 で取得したプロバイダーネットワークの UUID に置き換えます。
-
stackrc
アンダークラウド認証情報ファイルを入手します。$ source ~/stackrc
ノードクリーニングネットワーク設定を適用するには、Bare Metal Provisioning 環境ファイルを他の環境ファイルとともにスタックに追加し、オーバークラウドをデプロイします。
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/node-info.yaml \ -r /home/stack/templates/roles_data.yaml \ -e /usr/share/openstack-tripleo-heat-templates/network-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/<default_ironic_template> \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml \ -e /home/stack/templates/network_environment_overrides.yaml \ -n /home/stack/templates/network_data.yaml \ -e /home/stack/templates/ironic-overrides.yaml
-
デプロイメントのネットワークサービスメカニズムドライバーに応じて、
<default_ironic_template>
をironic.yaml
またはironic-overcloud.yaml
のいずれかに置き換えます。
-
デプロイメントのネットワークサービスメカニズムドライバーに応じて、
4.2.2. ノードの手動によるクリーニング
必要に応じて、特定のノードを手動でクリーニングできます。ノードのクリーニングには 2 つのモードがあります。
- メタデータのみのクリーニング: ノード上の全ディスクからパーティションを削除します。メタデータのみのクリーニングモードは、完全なクリーニングより高速ですが、パーティションテーブルのみを消去するため、セキュリティは低くなります。このモードは、信頼済みのテナント環境でのみ使用してください。
- 完全なクリーニング: ATA のセキュア消去を使用するか、細断処理を行って、全ディスクから全データを削除します。完全なクリーニングが完了するまでは、数時間かかる場合があります。
手順
オーバークラウド認証情報ファイルを入手します。
$ source ~/<credentials_file>
-
<credentials_file>
を認証情報ファイルの名前 (overcloudrc
など) に置き換えます。
-
ノードの現在の状態を確認します。
$ openstack baremetal node show \ -f value -c provision_state <node>
-
<node>
をクリーニングするノードの名前または UUID に置き換えます。
-
ノードが
manageable
状態ではない場合は、manageable
に設定します。$ openstack baremetal node manage <node>
ノードをクリーニングします。
$ openstack baremetal node clean <node> \ --clean-steps '[{"interface": "deploy", "step": "<clean_mode>"}]'
-
<node>
をクリーニングするノードの名前または UUID に置き換えます。 <clean_mode>
をノードで実行するクリーニングのタイプに置き換えます。-
erase_devices
: 完全なクリーンを実行します。 -
erase_devices_metadata
: メタデータのみを消去します。
-
-
クリーニングが完了するまで待ってから、ノードのステータスを確認します。
-
manageable
: クリーニングが成功し、ノードをプロビジョニングする準備ができました。 -
clean failed
: クリーンは失敗しました。失敗の原因については、last_error
フィールドを調べてください。
-