1.4. ベアメタルプロビジョニング用のコンピュートノードの設定


以下の手順では、Bare Metal Provisioning サービスも実行しているコンピュートノードに のみ 適用されます。これらの手順は、コンピュートノードで root ユーザーとして実行する必要があります。

コンピュートノードに、Bare Metal Provisioning NIC (例: eth6 )がある。この手順の目的は次のとおりです。

  1. Bare Metal Provisioning NIC (この例では eth6 )を Open vSwitch に接続するには、以下を入力します。
  2. この接続で IP アドレスをベアメタルサーバーとして割り当てるには、iPXE プロセスの一部としてベアメタルノードからブートイメージをプルダウンする必要があります。

eth6 の Open vSwitch への接続

  1. 「Bare Metal Provisioning サービス用コントローラーノードの設定」 のコントローラーノードと同様に、Bare Metal Provisioning サービスを実行しているコンピュートノード上の Open vSwitch 内のブリッジを作成します。

    # ovs-vsctl add-br br-ironic
    # ovs-vsctl add-port br-ironic IRONIC_PROVISIONING_NIC
    Copy to Clipboard Toggle word wrap

    ここでは、br-ironic はブリッジの名前であり、IRONIC_PROVISIONING NIC はベアメタルプロビジョニングネットワーク(例: eth6 )に接続された NIC です。

    注記

    この点と 「Bare Metal Provisioning サービス用コントローラーノードの設定」 の唯一の違いは、コンピュートノードで OpenStack Networking サービスを再起動しないことです。

    これにより、Open vSwitch にブリッジおよびポートが追加され、ovs-vsctl show コマンドを使用して確認できます。ただし、OpenStack で使用するために統合ブリッジ(br-int)に接続されません。

  2. 接続を作成するには、以下のように OpenStack Networking プラグインファイルを更新する必要があります。

    1. 以下のように ML2 設定ファイル /etc/neutron/plugins/ml2/ml2_conf.ini を更新します。

      • type_drivers パラメーターについては、ドライバー間で flat がリストされていることを確認します(例: type_drivers = vxlan,vlan,flat,gre )。これはコンマ区切りのリストです。
      • mechanism_drivers パラメーターについては、mechanism_drivers = openvswitch など、ドライバー間で openvswitch オプションが表示されていることを確認します。これはコンマ区切りのリストです。
      • flat_networks パラメーターについては、Bare Metal Provisioning ネットワークを参照する名前を作成します(例: ironicnet )。flat_networks =datacentre,ironicnet など、この名前が一覧表示されている flat_networks にリストされていることを確認します。これはコンマ区切りのリストです。
      • Bare Metal Provisioning ネットワークに VLAN を使用している場合は、ironicnet:VLAN_START:VLAN_END の形式で network_vlan_ranges パラメーターを追加します(例: network_vlan_ranges =datacentre:1:1000 )。これはコンマ区切りのリストです。
      • enable_security_group パラメーターはすでに有効になっているはずです。ただし、設定されていない場合は、値を True に変更します(例: enable_security_group = True )。
    2. /etc/neutron/plugins/ml2/openvswitch_agent.ini ファイルで bridge_mappings パラメーターを見つけ、以下のように更新します。

      bridge_mappings =datacentre:br-ex,ironicnet:br-ironic
      Copy to Clipboard Toggle word wrap

      このコンマ区切りのキーと値のペアの値は、Bare Metal Provisioning ネットワークの名前を、ネットワークに接続されている物理デバイスにマッピングします。

  3. OpenStack Networking Open vSwitch Agent サービスを再起動します。

    # systemctl restart neutron-openvswitch-agent.service
    Copy to Clipboard Toggle word wrap

これで、この手順で最初の目標を達成しました。次に、br-ironic ブリッジに IP アドレスを割り当て、再起動後も維持する必要があります。

ベアメタルサーバーへの IP アドレスの割り当て

  1. /etc/sysconfig/network-scripts の場所に標準の設定ファイルを作成します。テナントネットワークですでに利用可能な ifcfg* ファイルをコピーして、deviceipaddrovs_bridge、ブリッジbr-ironic および eth6MAC アドレス の値を編集します。新しいファイルの更新が完了したら、以下の値が必要になります。

    ifcfg-br-ironic

    DEVICE=br-ironic
    ONBOOT=yes
    HOTPLUG=no
    NM_CONTROLLED=no
    PEERDNS=no
    DEVICETYPE=ovs
    TYPE=OVSBridge
    BOOTPROTO=static
    IPADDR=BARE_METAL_PROVISIONING_IP
    NETMASK=255.255.255.0
    OVS_EXTRA="set bridge br-ironic other-config:hwaddr=MAC_ADDRESS"
    Copy to Clipboard Toggle word wrap

    ifcfg-eth6

    DEVICE=eth6
    ONBOOT=yes
    HOTPLUG=no
    NM_CONTROLLED=no
    PEERDNS=no
    DEVICETYPE=ovs
    TYPE=OVSPort
    OVS_BRIDGE=br-ironic
    BOOTPROTO=none
    Copy to Clipboard Toggle word wrap
  2. ネットワークブリッジを再起動して、IP アドレスの ping を可能にします。

    # ifup br-ironic
    Copy to Clipboard Toggle word wrap
    注記

    ネットワークサービスの再起動時にノードから切断された場合は、サーバーを再起動します。

1.4.1. 必要なチャンネルのサブスクライブ

Bare Metal Provisioning パッケージをインストールするには、サーバーを Red Hat Subscription Manager に登録し、必要なチャンネルをサブスクライブする必要があります。コンピュートノードに Bare Metal Provisioning をインストールする場合は、サーバーがすでに適切にサブスクライブされている可能性があります。yum repolist を実行して、以下の手順のチャンネルが有効になっているかどうかを確認します。

必要なチャネルのサブスクライブ

  1. コンテンツ配信ネットワークにシステムを登録します。プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力します。

    # subscription-manager register
    Copy to Clipboard Toggle word wrap
  2. Bare Metal Provisioning のインストールに必要なチャネルが含まれるエンタイトルメントプールを見つけます。

    # subscription-manager list --available | grep -A13 "Red Hat Enterprise Linux Server"
    # subscription-manager list --available | grep -A13 "Red Hat OpenStack Platform"
    Copy to Clipboard Toggle word wrap
  3. 先の手順で特定したプール ID を使用して、Red Hat Enterprise Linux 7 Server および Red Hat OpenStack Platform のエンタイトルメントをアタッチします。

    # subscription-manager attach --pool=POOL_ID
    Copy to Clipboard Toggle word wrap
  4. 必要なチャンネルを有効にします。

    # subscription-manager repos --enable=rhel-7-server-rpms \
    --enable=rhel-7-server-openstack-8-rpms \
    --enable=rhel-7-server-rh-common-rpms --enable=rhel-7-server-optional-rpms \
    --enable=rhel-7-server-openstack-8-optools-rpms
    Copy to Clipboard Toggle word wrap

1.4.2. Bare Metal Provisioning パッケージのインストール

Bare Metal Provisioning には、以下のパッケージが必要です。

openstack-ironic-api

Bare Metal Provisioning API サービスを提供します。

openstack-ironic-conductor

Bare Metal Provisioning コンダクターサービスを提供します。コンダクターを使用すると、ノードの追加、編集、および削除、IPMI または SSH を使用したノードの電源オフ、およびベアメタルノードのプロビジョニング、使用解除が可能です。

python-ironicclient

Bare Metal Provisioning サービスと対話するためのコマンドラインインターフェイスを提供します。

パッケージをインストールします。

# yum install openstack-ironic-api openstack-ironic-conductor python-ironicclient ipxe-bootimgs
Copy to Clipboard Toggle word wrap

1.4.3. iPXE の設定

  1. iPXE に必要なディレクトリーを作成し、map-files を作成し、undionly.kpxe ブートイメージ、iPXE および map-file を所定の場所にコピーします。

    # mkdir /httpboot
    # mkdir /tftpboot
    # echo 'r ([/]) /tftpboot/\1' > /tftpboot/map-file
    # echo 'r ^(/tftpboot/) /tftpboot/\2' >> /tftpboot/map-file
    # cp /usr/share/ipxe/undionly.kpxe /tftpboot/
    # chown -R ironic:ironic /httpboot
    # chown -R ironic:ironic /tftpboot
    Copy to Clipboard Toggle word wrap
  2. デフォルトでは、director によってデプロイされたコンピュートノードは SELinux を Enforcing モードで実行します。iPXE ブートの試行時にパーミッションエラーを取得しないようにするには、これらのディレクトリーに適切なラベルを設定してください。これらのラベルを適用するには、root ユーザーとして以下のコマンドを実行します。

    # semanage fcontext -a -t httpd_sys_content_t "/httpboot(/.*)?"
    # restorecon -Rv /httpboot
    # semanage fcontext -a -t tftpdir_t "/tftpboot(/.*)?"
    # restorecon -Rv /tftpboot
    Copy to Clipboard Toggle word wrap
  3. イメージの要求に対応できるように HTTP を設定します。httpd パッケージはすでにインストールされているため、適切な仮想ホストエントリーを作成してサービスを開始することが重要です。

    注記

    /etc/httpd/conf.d には多数のファイルが含まれています。Red Hat はすべてのノードに単一のオーバークラウドフルイメージを活用するため、コントローラーノード上でのみ使用される場合でも、すべてのノードにこれらのファイルが含まれます。/etc/httpd/conf.d の内容を削除したり、使用されていないため、他の場所にコピーすることもできます。

    iPXE 設定用の新規ファイルを作成します。このファイルには任意の名前を付けることができ、それが .conf 形式であり、以下の内容が含まれることを確認します。

    # cat 10-ipxe_vhost.conf
    Listen 8088
    <VirtualHost *:8088>
        DocumentRoot "/httpboot"
        <Directory "/httpboot">
            Options Indexes FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow from all
            Require all granted
        </Directory>
    
        ## Logging
        ErrorLog "/var/log/httpd/ironic_error.log"
        ServerSignature Off
        CustomLog "/var/log/httpd/ironic_access.log" combined
    </VirtualHost>
    Copy to Clipboard Toggle word wrap

    上記の仮想ホスト設定は、ポート 8088 のすべてのアドレスに HTTPD を、そのポートへのすべてのリクエストのドキュメント root を /httpboot に移動するように設定します。

  4. このファイルを保存し、コンピュートノードで HTTPD サービスを有効化して再起動します。

    # systemctl enable httpd.service
    # systemctl start httpd.service
    Copy to Clipboard Toggle word wrap

1.4.4. Bare Metal Provisioning サービスの設定

このセクションでは、/etc/ironic/ironic.conf ファイルに必要な変更を加えます。

1.4.4.1. データベースサーバーと通信するためのベアメタルプロビジョニングの設定

接続設定キーの値を設定します。

# openstack-config --set /etc/ironic/ironic.conf \
database connection mysql+pymysql://ironic:PASSWORD@IP/ironic
Copy to Clipboard Toggle word wrap

ここでの PASSWORD は、データベースサーバーのパスワード、IP はデータベースサーバーの IP アドレスまたはホスト名です。

重要

接続設定キーで指定した IP アドレスまたはホスト名は、「ベアメタルプロビジョニングデータベースの作成」 での Bare Metal Provisioning データベースの作成時に、Bare Metal Provisioning データベースユーザーが付与された IP アドレスまたはホスト名と一致する必要があります。さらに、データベースがローカルでホストされ、データベースの作成時にローカルホストへのパーミッションが付与されている場合は、 localhost を入力する必要があります。

1.4.4.2. ベアメタルプロビジョニング認証の設定

認証に ID を使用するように Bare Metal Provisioning を設定します。この手順のすべてのステップは、root ユーザーとしてログインしている間、Bare Metal Provisioning をホストするサーバーで実行する必要があります。

Identity 経由で認証するためのベアメタルプロビジョニングの設定

  1. Bare Metal Provisioning が使用する必要のある Identity パブリックおよび admin エンドポイントを設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       keystone_authtoken auth_uri http://IP:5000/v2.0
    # openstack-config --set /etc/ironic/ironic.conf \
       keystone_authtoken identity_uri http://IP:35357/
    Copy to Clipboard Toggle word wrap

    IP を、Identity サーバーの IP アドレスまたはホスト名に置き換えます。

  2. サービス テナントとして認証するように Bare Metal Provisioning を設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       keystone_authtoken admin_tenant_name service
    Copy to Clipboard Toggle word wrap
  3. ironic 管理ユーザーアカウントを使用して認証するように、Bare Metal Provisioning を設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       keystone_authtoken admin_user ironic
    Copy to Clipboard Toggle word wrap
  4. 正しい ironic 管理ユーザーアカウントパスワードを使用するように、Bare Metal Provisioning を設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       keystone_authtoken admin_password PASSWORD
    Copy to Clipboard Toggle word wrap

    PASSWORD は、ironic ユーザーの作成時に設定されたパスワードに置き換えます。

1.4.4.3. ベアメタルプロビジョニング用の RabbitMQ メッセージブローカー設定の設定

RabbitMQ はデフォルトの(および推奨される)メッセージブローカーです。RabbitMQ メッセージングサービスは、rabbitmq-server パッケージによって提供されます。以下の手順はすべて、Bare Metal Provisioning をホストするコントローラーノードまたはコンピュートノード上で、root ユーザーとしてログインしている必要があります。

この手順では、RabbitMQ メッセージングサービスがインストールおよび設定済みで、メッセージングサービスをホストするサーバーに ironic ユーザーと関連するパスワードが作成されていることを前提としています。

RabbitMQ メッセージブローカーを使用するためのベアメタルプロビジョニングの設定

  1. RabbitMQ を RPC バックエンドとして設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       DEFAULT rpc_backend ironic.openstack.common.rpc.impl_kombu
    Copy to Clipboard Toggle word wrap
  2. RabbitMQ ホストに接続するように、Bare Metal Provisioning を設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       oslo_messaging_rabbit rabbit_host RABBITMQ_HOST
    Copy to Clipboard Toggle word wrap

    RABBITMQ_HOST を、メッセージブローカーをホストするサーバーの IP アドレスまたはホスト名に置き換えます。

  3. メッセージブローカーポートを 5672 に設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       oslo_messaging_rabbit rabbit_port 5672
    Copy to Clipboard Toggle word wrap
  4. RabbitMQ が設定された際に Bare Metal Provisioning 用に作成された RabbitMQ のユーザー名およびパスワードを設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       oslo_messaging_rabbit rabbit_userid guest
    # openstack-config --set /etc/ironic/ironic.conf \
       oslo_messaging_rabbit rabbit_password RABBIT_GUEST_PASSWORD
    Copy to Clipboard Toggle word wrap

    RABBIT_GUEST_PASSWORD をゲストユーザーの RabbitMQ パスワードに置き換えます。

  5. RabbitMQ の起動時に、ゲスト ユーザーには、全リソースに対する読み取りおよび書き込みパーミッションが付与されました(特に仮想ホストを介して)。この仮想ホストに接続するように Bare Metal Provisioning を設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       oslo_messaging_rabbit rabbit_virtual_host /
    Copy to Clipboard Toggle word wrap

1.4.4.4. Bare Metal Provisioning ドライバーの設定

Bare Metal Provisioning は、ベアメタルサーバーのデプロイと管理を行うための複数のドライバーをサポートします。一部のドライバーには、ハードウェア要件があり、追加の設定またはパッケージのインストールが必要です。詳細なドライバー情報は、付録A Bare Metal Provisioning のドライバー を参照してください。ドライバーの名前の最初の半分は、そのデプロイメント方法(PXE など)を指定し、2 つ目は電源管理方法(例:IPMI)を指定します。

Bare Metal Provisioning ドライバーの設定

  1. ベアメタルサーバーのプロビジョニングに使用するドライバーを指定します。コンマ区切りリストを使用して、複数のドライバーを指定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       DEFAULT enabled_drivers DRIVER1,DRIVER2
    Copy to Clipboard Toggle word wrap

    以下のドライバーがサポートされます。

    • PXE デプロイを伴う IPMI

      • pxe_ipmitool
    • PXE デプロイによる DRAC

      • pxe_drac
    • PXE デプロイを伴う iLO

      • pxe_ilo
    • PXE デプロイを伴う SSH

      • pxe_ssh
    • PXE を使用した iRMC

      • pxe_irmc
  2. Bare Metal Conductor サービスを再起動します。

    # systemctl restart openstack-ironic-conductor.service
    Copy to Clipboard Toggle word wrap

1.4.4.5. PXE を使用するように Bare Metal Provisioning サービスを設定する

  1. PXE テンプレートを使用するように Bare Metal Provisioning サービスを設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
    pxe pxe_config_template \$pybasedir/drivers/modules/ipxe_config.template
    Copy to Clipboard Toggle word wrap
  2. tftp_server を使用するように Bare Metal Provisioning サービスを設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
    pxe tftp_server BARE_METAL_PROVISIONING_NETWORK_IP
    Copy to Clipboard Toggle word wrap
  3. PXE tftp_root を設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
    pxe tftp_root /tftpboot
    Copy to Clipboard Toggle word wrap
  4. PXE ブートファイル名を設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
    pxe pxe_bootfile_name undionly.kpxe
    Copy to Clipboard Toggle word wrap
  5. Bare Metal Provisioning サービスが iPXE を使用できるようにします。

    # openstack-config --set /etc/ironic/ironic.conf \
    pxe ipxe_enabled true
    Copy to Clipboard Toggle word wrap
  6. http サーバーの URL を設定します。

    # openstack-config --set /etc/ironic/ironic.conf deploy http_url http://BARE_METAL_PROVISIONING_IP:8088
    Copy to Clipboard Toggle word wrap
  7. Bare Metal Conductor サービスを再起動します。

    # systemctl restart openstack-ironic-conductor.service
    Copy to Clipboard Toggle word wrap

1.4.4.6. OpenStack Networking と OpenStack イメージと通信するための Bare Metal Provisioning の設定

Bare Metal Provisioning は、DHCP とネットワーク設定に OpenStack Networking を使用し、Image サービスを使用して物理マシンの起動に使用するイメージを管理します。OpenStack Networking および Image サービスに接続し、通信するように Bare Metal Provisioning を設定します。この手順のすべての手順は、root ユーザーとしてログインしている間に Bare Metal Provisioning をホストするサーバーで実行する必要があります。

OpenStack Networking と OpenStack イメージと通信するための Bare Metal Provisioning の設定

  1. OpenStack Networking エンドポイントを使用するように Bare Metal Provisioning を設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       neutron url http://NEUTRON_IP:9696
    Copy to Clipboard Toggle word wrap

    NEUTRON_IP は、OpenStack Networking をホストしているサーバーの IP アドレスまたはホスト名に置き換えます。

  2. Image サービスと通信するように Bare Metal Provisioning を設定します。

    # openstack-config --set /etc/ironic/ironic.conf \
       glance glance_host GLANCE_IP
    Copy to Clipboard Toggle word wrap

    GLANCE_IP は、Image サービスをホストしているサーバーの IP アドレスまたはホスト名に置き換えます。

  3. Bare Metal Provisioning API サービスを起動し、ブート時に開始するように設定します。

    # systemctl start openstack-ironic-api.service
    # systemctl enable openstack-ironic-api.service
    Copy to Clipboard Toggle word wrap
  4. Bare Metal Provisioning データベーステーブルを作成します。

    # ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema
    Copy to Clipboard Toggle word wrap
  5. Bare Metal Provisioning コンダクターサービスを起動し、ブート時に開始するように設定します。

    # systemctl restart openstack-ironic-conductor.service
    # systemctl enable openstack-ironic-conductor.service
    Copy to Clipboard Toggle word wrap

1.4.5. Bare Metal Provisioning サービスを使用するための OpenStack Compute の設定

本セクションでは、/etc/nova/nova.conf ファイルを更新して、Compute サービスが Bare Metal Provisioning サービスを使用するように設定します。

Bare Metal Provisioning を使用するための OpenStack Compute の設定

  1. クラスター化されたコンピュートマネージャーを使用するように Compute を設定します。

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT compute_manager ironic.nova.compute.manager.ClusteredComputeManager
    Copy to Clipboard Toggle word wrap
  2. 仮想 RAM を物理 RAM の割り当て比率に設定します。

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT ram_allocation_ratio 1.0
    Copy to Clipboard Toggle word wrap
  3. ホスト用に予約するディスク容量を MB 単位で設定します。

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT reserved_host_memory_mb 0
    Copy to Clipboard Toggle word wrap
  4. Bare Metal Provisioning ドライバーを使用するように Compute を設定します。

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT compute_driver nova.virt.ironic.IronicDriver
    Copy to Clipboard Toggle word wrap
  5. Bare Metal Provisioning に正しい認証情報を使用するように Compute を設定します。

    # openstack-config --set /etc/nova/nova.conf \
       ironic admin_username ironic
    # openstack-config --set /etc/nova/nova.conf \
       ironic admin_password PASSWORD
    # openstack-config --set /etc/nova/nova.conf \
       ironic admin_url http://IDENTITY_IP:35357/v2.0
    # openstack-config --set /etc/nova/nova.conf \
       ironic admin_tenant_name service
    # openstack-config --set /etc/nova/nova.conf \
       ironic api_endpoint http://IRONIC_API_IP:6385/v1
    Copy to Clipboard Toggle word wrap

    以下の値を置き換えます。

    • PASSWORD を、Bare Metal Provisioning が Identity での認証に使用するパスワードに置き換えます。
    • IDENTITY_IP は、ID をホストするサーバーの IP アドレスまたはホスト名に置き換えます。
    • IRONIC_API_IP は、Bare Metal Provisioning API サービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。
  6. コンピュートコントローラーノードで Compute スケジューラーサービスを再起動します。

    # systemctl restart openstack-nova-scheduler.service
    Copy to Clipboard Toggle word wrap
  7. コンピュートノードでコンピュートサービスを再起動します。

    # systemctl restart openstack-nova-compute.service
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat