1.4. 베어 메탈 프로비저닝에 대한 컴퓨팅 노드 구성


여기에서는 베어 메탈 프로비저닝 서비스를 실행하는 컴퓨팅 노드에 적용됩니다. 컴퓨팅 노드에서 root 사용자로 다음 단계를 수행해야 합니다.

컴퓨팅 노드에는 베어 메탈 프로비저닝 NIC(예: eth6 )가 있습니다. 이 절차의 목표는 다음과 같습니다.

  1. 베어 메탈 프로비저닝 NIC를 연결하려면 이 예제의 eth6 을 Open vSwitch에 연결합니다.
  2. 이 연결에서 IP 주소를 할당하려면 베어 메탈 노드에서 iPXE 프로세스의 일부로 부팅 이미지를 가져와야 합니다.

eth6 을 Open vSwitch에 연결

  1. 1.3절. “베어 메탈 프로비저닝 서비스에 대한 컨트롤러 노드 구성” 의 컨트롤러 노드와 마찬가지로 베어 메탈 프로비저닝 서비스를 실행하는 컴퓨팅 노드의 Open vSwitch 내에 브릿지를 생성합니다.

    # ovs-vsctl add-br br-ironic
    # ovs-vsctl add-port br-ironic IRONIC_PROVISIONING_NIC

    여기에서 br-ironic 은 브리지의 이름이며, IRONIC_PROVISIONING NIC 는 베어 메탈 프로비저닝 네트워크에 연결된 NIC입니다(예: eth6 ).

    참고

    이 노드와 1.3절. “베어 메탈 프로비저닝 서비스에 대한 컨트롤러 노드 구성” 의 유일한 차이점은 컴퓨팅 노드에서 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 매개변수의 경우 openvswitch 옵션이 드라이버(예: mechanism_drivers =openvswitch )에 나열되어 있는지 확인합니다. 쉼표로 구분된 목록입니다.
      • flat_networks 매개변수의 경우 이름을 생성하여 베어 메탈 프로비저닝 네트워크(예: ironicnet )를 참조합니다. 이 이름이 나열된 flat_networks 에 나열되어 있는지 확인합니다(예: flat_networks =datacentre,ironicnet ). 쉼표로 구분된 목록입니다.
      • 베어 메탈 프로비저닝 네트워크에 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

      쉼표로 구분된 이 키-값 쌍의 값은 베어 메탈 프로비저닝 네트워크의 이름을 네트워크에 연결된 물리적 장치에 매핑합니다.

  3. OpenStack Networking Open vSwitch 에이전트 서비스를 다시 시작합니다.

    # systemctl restart neutron-openvswitch-agent.service

이제 이 절차를 통해 첫 번째 목표를 달성했습니다. 다음으로 br-ironic 브리지에 IP 주소를 할당하고 재부팅 후에도 유지되는지 확인해야 합니다.

베어 메탈 서버에 IP 주소 할당

  1. /etc/sysconfig/network-scripts 위치에 표준 구성 파일을 만듭니다. 테넌트 네트워크에서 이미 사용 가능한 ifcfg* 파일을 복사하고 br-ironiceth6장치,ipaddr,ovs_bridge, 브리지 이름MAC 주소 값을 편집할 수 있습니다. 새 파일 업데이트를 완료한 경우 다음과 같은 값이 있어야 합니다.

    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"

    ifcfg-eth6

    DEVICE=eth6
    ONBOOT=yes
    HOTPLUG=no
    NM_CONTROLLED=no
    PEERDNS=no
    DEVICETYPE=ovs
    TYPE=OVSPort
    OVS_BRIDGE=br-ironic
    BOOTPROTO=none
  2. 네트워크 브리지를 다시 시작하여 IP 주소를 ping할 수 있도록 합니다.

    # ifup br-ironic
    참고

    네트워크 서비스를 다시 시작할 때 노드에서 연결을 끊으면 서버를 재부팅합니다.

1.4.1. 필수 채널에 가입

베어 메탈 프로비저닝 패키지를 설치하려면 Red Hat Subscription Manager에 서버 또는 서버를 등록하고 필요한 채널을 구독해야 합니다. 컴퓨팅 노드에 Bare Metal Provisioning을 설치하는 경우 서버가 이미 적절하게 서브스크립션될 수 있습니다. yum repolist 를 실행하여 아래 절차의 채널이 활성화되었는지 확인합니다.

필수 채널에 가입

  1. 메시지가 표시되면 시스템을 Content Delivery Network에 등록하고, 고객 포털 사용자 이름과 암호를 입력합니다.

    # subscription-manager register
  2. 베어 메탈 프로비저닝을 설치하는 데 필요한 채널이 포함된 인타이틀먼트 풀을 찾습니다.

    # subscription-manager list --available | grep -A13 "Red Hat Enterprise Linux Server"
    # subscription-manager list --available | grep -A13 "Red Hat OpenStack Platform"
  3. 이전 단계에 있는 풀 ID를 사용하여 Red Hat Enterprise Linux 7 ServerRed Hat OpenStack Platform 인타이틀먼트를 연결합니다.

    # subscription-manager attach --pool=POOL_ID
  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

1.4.2. 베어 메탈 프로비저닝 패키지 설치

베어 메탈 프로비저닝에는 다음 패키지가 필요합니다.

openstack-ironic-api

Bare Metal Provisioning API 서비스를 제공합니다.

openstack-ironic-conductor

Bare Metal Provisioning conductor 서비스를 제공합니다. 컨덕터를 사용하면 노드를 추가, 편집 및 삭제하고 IPMI 또는 SSH를 사용하여 노드의 전원을 켜거나 끄고 베어 메탈 노드를 프로비저닝, 배포 및 해제할 수 있습니다.

python-ironicclient

베어 메탈 프로비저닝 서비스와 상호 작용을 위한 명령줄 인터페이스를 제공합니다.

패키지를 설치합니다.

# yum install openstack-ironic-api openstack-ironic-conductor python-ironicclient ipxe-bootimgs

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
  2. 기본적으로 director에서 배포한 컴퓨팅 노드는 Enforcing 모드에서 SELinux를 실행합니다. iPXE 부팅을 시도할 때 권한 오류가 발생하지 않도록 하려면 이러한 디렉터리에 적절한 레이블을 설정해야 합니다. 이러한 레이블을 적용하려면 root 사용자로 다음 명령을 실행합니다.

    # semanage fcontext -a -t httpd_sys_content_t "/httpboot(/.*)?"
    # restorecon -Rv /httpboot
    # semanage fcontext -a -t tftpdir_t "/tftpboot(/.*)?"
    # restorecon -Rv /tftpboot
  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>

    위의 가상 호스트 구성은 포트 8088의 모든 주소에 나열되도록 HTTPD를 구성하고 모든 요청에 대한 문서 루트를 해당 포트로 설정하여 /httpboot 로 이동합니다.

  4. 이 파일을 저장하고 컴퓨팅 노드에서 HTTPD 서비스를 활성화하고 다시 시작합니다.

    # systemctl enable httpd.service
    # systemctl start httpd.service

1.4.4. 베어 메탈 프로비저닝 서비스 구성

이 섹션에서는 /etc/ironic/ironic.conf 파일을 필요한 변경합니다.

1.4.4.1. 데이터베이스 서버와 결합하도록 베어 메탈 프로비저닝 구성

연결 구성 키의 값을 설정합니다.

# openstack-config --set /etc/ironic/ironic.conf \
database connection mysql+pymysql://ironic:PASSWORD@IP/ironic

여기에서 PASSWORD 는 데이터베이스 서버의 암호이며 IP 는 데이터베이스 서버의 IP 주소 또는 호스트 이름입니다.

중요

연결 구성 키에 지정된 IP 주소 또는 호스트 이름은 베어 메탈 프로비저닝 데이터베이스 사용자에게 1.3.1절. “베어 메탈 프로비저닝 데이터베이스 생성” 에서 베어 메탈 프로비저닝 데이터베이스를 생성할 때 액세스 권한이 부여된 IP 주소 또는 호스트 이름과 일치해야 합니다. 또한 데이터베이스가 로컬로 호스팅되고 데이터베이스를 만들 때 localhost 에 대한 권한이 부여된 경우 localhost 를 입력해야 합니다.

1.4.4.2. 베어 메탈 프로비저닝 인증 구성

인증에 ID를 사용하도록 베어 메탈 프로비저닝을 구성합니다. 이 절차의 모든 단계는 root 사용자로 로그인한 동안 Bare Metal Provisioning을 호스팅하는 서버 또는 서버에서 수행해야 합니다.

ID를 통해 인증하도록 베어 메탈 프로비저닝 구성

  1. Bare Metal Provisioning에서 사용해야 하는 ID 공용 및 관리자 끝점을 설정합니다.

    # 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/

    IP 를 ID 서버의 IP 주소 또는 호스트 이름으로 바꿉니다.

  2. 서비스 테넌트로 인증하도록 Bare Metal Provisioning을 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       keystone_authtoken admin_tenant_name service
  3. ironic 관리 사용자 계정을 사용하여 인증하도록 Bare Metal Provisioning을 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       keystone_authtoken admin_user ironic
  4. 올바른 ironic 관리 사용자 계정 암호를 사용하도록 Bare Metal Provisioning을 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       keystone_authtoken admin_password PASSWORD

    ironic 사용자를 생성할 때 PASSWORD 를 설정한 암호로 교체합니다.

1.4.4.3. 베어 메탈 프로비저닝에 대한 RabbitMQ 메시지 브로커 설정 구성

RabbitMQ는 기본(및 권장) 메시지 브로커입니다. RabbitMQ 메시징 서비스는 rabbitmq-server 패키지에서 제공합니다. 다음 절차의 모든 단계는 root 사용자로 로그인한 동안 Bare Metal Provisioning을 호스팅하는 컨트롤러 또는 컴퓨팅 노드에서 수행해야 합니다.

이 절차에서는 RabbitMQ 메시징 서비스가 설치 및 구성되었으며 메시징 서비스를 호스팅하는 서버에서 ironic 사용자 및 관련 암호가 생성되었다고 가정합니다.

RabbitMQ 메시지 브로커를 사용하도록 베어 메탈 프로비저닝 구성

  1. RabbitMQ를 RPC 백엔드로 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       DEFAULT rpc_backend ironic.openstack.common.rpc.impl_kombu
  2. RabbitMQ 호스트에 연결하도록 베어 메탈 프로비저닝을 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       oslo_messaging_rabbit rabbit_host RABBITMQ_HOST

    RA #159ITMQ_HOST 를 메시지 브로커를 호스팅하는 서버의 IP 주소 또는 호스트 이름으로 바꿉니다.

  3. 메시지 브로커 포트를 5672로 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       oslo_messaging_rabbit rabbit_port 5672
  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

    RA CryostatIT_GUEST_PASSWORD 를 guest 사용자의 RabbitMQ 암호로 바꿉니다.

  5. RabbitMQ가 시작되면 게스트 사용자에게 가상 호스트를 통해 모든 리소스에 대한 읽기 및 쓰기 권한이 부여되었습니다. 이 가상 호스트에 연결하도록 Bare Metal Provisioning을 구성합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       oslo_messaging_rabbit rabbit_virtual_host /

1.4.4.4. 베어 메탈 프로비저닝 드라이버 구성

베어 메탈 프로비저닝에서는 베어 메탈 서버를 배포하고 관리하기 위한 여러 드라이버를 지원합니다. 일부 드라이버에는 하드웨어 요구 사항이 있으며 추가 구성 또는 패키지 설치가 필요합니다. 자세한 드라이버 정보는 부록 A. Bare Metal 프로비저닝 드라이버 를 참조하십시오. 드라이버 이름의 처음 절반은 배포 방법(예: PXE)을 지정하고 두 번째 절반은 전원 관리 방법(예: IPMI)을 지정합니다.

베어 메탈 프로비저닝 드라이버 구성

  1. 베어 메탈 서버를 프로비저닝하는 데 사용할 드라이버 또는 드라이버를 지정합니다. 쉼표로 구분된 목록을 사용하여 여러 드라이버를 지정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       DEFAULT enabled_drivers DRIVER1,DRIVER2

    지원되는 드라이버는 다음과 같습니다.

    • 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

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
  2. tftp_server:을 사용하도록 Bare Metal Provisioning 서비스를 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
    pxe tftp_server BARE_METAL_PROVISIONING_NETWORK_IP
  3. PXE tftp_root:을 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
    pxe tftp_root /tftpboot
  4. PXE 부팅 파일 이름을 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
    pxe pxe_bootfile_name undionly.kpxe
  5. iPXE를 사용하도록 Bare Metal Provisioning 서비스를 활성화합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
    pxe ipxe_enabled true
  6. http 서버의 URL을 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf deploy http_url http://BARE_METAL_PROVISIONING_IP:8088
  7. Bare Metal conductor 서비스를 다시 시작합니다.

    # systemctl restart openstack-ironic-conductor.service

베어 메탈 프로비저닝에서는 DHCP 및 네트워크 구성에 OpenStack Networking을 사용하고 물리적 시스템을 부팅하는 데 사용되는 이미지를 관리하는 데 이미지 서비스를 사용합니다. OpenStack Networking 및 이미지 서비스에 연결하고 통신하도록 베어 메탈 프로비저닝을 구성합니다. 이 절차의 모든 단계는 root 사용자로 로그인한 동안 Bare Metal Provisioning을 호스팅하는 서버에서 수행해야 합니다.

OpenStack Networking 및 OpenStack Image와 결합하도록 베어 메탈 프로비저닝 구성

  1. OpenStack Networking 엔드포인트를 사용하도록 Bare Metal Provisioning을 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       neutron url http://NEUTRON_IP:9696

    NEUTRON_IP 를 OpenStack Networking을 호스팅하는 서버의 IP 주소 또는 호스트 이름으로 바꿉니다.

  2. 이미지 서비스와 통신하도록 베어 메탈 프로비저닝을 설정합니다.

    # openstack-config --set /etc/ironic/ironic.conf \
       glance glance_host GLANCE_IP

    GLANCE_IP 를 이미지 서비스를 호스팅하는 서버의 IP 주소 또는 호스트 이름으로 바꿉니다.

  3. Bare Metal Provisioning API 서비스를 시작하고 부팅 시 시작되도록 구성합니다.

    # systemctl start openstack-ironic-api.service
    # systemctl enable openstack-ironic-api.service
  4. 베어 메탈 프로비저닝 데이터베이스 테이블을 생성합니다.

    # ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema
  5. Bare Metal Provisioning conductor 서비스를 시작하고 부팅 시 시작되도록 구성합니다.

    # systemctl restart openstack-ironic-conductor.service
    # systemctl enable openstack-ironic-conductor.service

1.4.5. 베어 메탈 프로비저닝 서비스를 사용하도록 OpenStack Compute 구성

이 섹션에서는 베어 메탈 프로비저닝 서비스를 사용하도록 Compute 서비스를 구성하도록 /etc/nova/nova.conf 파일을 업데이트합니다.

베어 메탈 프로비저닝을 사용하도록 OpenStack Compute 구성

  1. 클러스터형 컴퓨팅 관리자를 사용하도록 Compute를 설정합니다.

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT compute_manager ironic.nova.compute.manager.ClusteredComputeManager
  2. 가상 RAM을 물리적 RAM 할당 비율로 설정합니다.

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT ram_allocation_ratio 1.0
  3. 호스트에 예약할 디스크 공간을 MB로 설정합니다.

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT reserved_host_memory_mb 0
  4. Bare Metal Provisioning 드라이버를 사용하도록 Compute를 설정합니다.

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT compute_driver nova.virt.ironic.IronicDriver
  5. 베어 메탈 프로비저닝에 대한 올바른 인증 세부 정보를 사용하도록 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

    다음 값을 바꿉니다.

    • Bare Metal Provisioning에서 Identity로 인증하는 데 사용하는 암호로 PASSWORD 를 바꿉니다.
    • IDENTITY_IP 를 ID를 호스팅하는 서버의 IP 주소 또는 호스트 이름으로 교체합니다.
    • IRONIC_API_IP 를 Bare Metal Provisioning API 서비스를 호스팅하는 서버의 IP 주소 또는 호스트 이름으로 교체합니다.
  6. 컴퓨팅 컨트롤러 노드에서 Compute 스케줄러 서비스를 다시 시작합니다.

    # systemctl restart openstack-nova-scheduler.service
  7. 컴퓨팅 노드에서 compute 서비스를 다시 시작합니다.

    # systemctl restart openstack-nova-compute.service
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동