1.3. 베어 메탈 프로비저닝 서비스에 대한 컨트롤러 노드 구성


베어 메탈 프로비저닝 데이터베이스 생성 섹션을 제외하고 Red Hat OpenStack Platform 배포의 모든 컨트롤러 노드에서 root 사용자로 다음 단계를 수행해야 합니다. 한 컨트롤러에서 모두 데이터베이스를 공유하므로 이 절차를 수행해야 합니다.

컨트롤러 노드에서는 OpenStack 배포가 연결할 수 있도록 Bare Metal Provisioning 네트워크가 Open vSwitch에 연결되어 있는지 확인해야 합니다.

  1. Open vSwitch에 브리지를 추가합니다.

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

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

    ovs-vsctl show 명령을 사용하면 연결된 포트를 사용하여 새 브릿지가 생성되는 것을 확인할 수 있지만 br-int 통합 브릿지에 새 브릿지에 대한 패치가 없다는 것을 알 수 있습니다.

  2. 통합 브리지에 새 브릿지를 추가하려면 다음 플러그인 파일을 업데이트해야 합니다.

    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. neutron-openvswitch-agent.service 를 다시 시작하여 br-ironic 브리지를 통합 브리지의 일부로 확인합니다.

    # systemctl restart neutron-openvswitch-agent.service
  4. 새 연결을 감지하도록 neutron-server.service 를 다시 시작하십시오.

    # systemctl restart neutron-server.service
    참고

    이 단계를 수행하지 않으면 OpenStack Networking 서비스 내에서 Bare Metal Provisioning 네트워크를 생성하려고 하면 요청된 플랫 네트워크가 존재하지 않는다는 메시지와 함께 실패합니다.

1.3.1. 베어 메탈 프로비저닝 데이터베이스 생성

베어 메탈 프로비저닝에서 사용하는 데이터베이스 및 데이터베이스 사용자를 만듭니다. 이 절차의 모든 단계는 root 사용자로 로그인한 동안 데이터베이스 서버에서 수행해야 합니다.

베어 메탈 프로비저닝 데이터베이스 생성

  1. 데이터베이스 서비스에 연결합니다.

    # mysql -u root
  2. ironic 데이터베이스를 생성합니다.

    mysql> CREATE DATABASE ironic CHARACTER SET utf8;
  3. ironic 데이터베이스 사용자를 생성하고 ironic 데이터베이스에 대한 액세스 권한을 부여합니다.

    mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'%' IDENTIFIED BY 'PASSWORD';
    mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'localhost' IDENTIFIED BY 'PASSWORD';

    이 사용자로 데이터베이스 서버로 인증하는 데 사용할 보안 암호로 PASSWORD 를 바꿉니다.

  4. 데이터베이스 권한을 플러시하여 즉시 적용되도록 합니다.

    mysql> FLUSH PRIVILEGES;
  5. mysql 클라이언트를 종료합니다.

    mysql> quit

1.3.2. 베어 메탈 프로비저닝을 위해 OpenStack Compute Services 구성

베어 메탈 프로비저닝 드라이버에 대한 Compute 서비스를 구성합니다. 이 드라이버를 사용하면 Compute에서 가상 머신을 프로비저닝하는 데 사용되는 동일한 API를 사용하여 물리적 시스템을 프로비저닝할 수 있습니다. 각 openstack-nova-compute 노드에 대해 하나의 드라이버만 지정할 수 있습니다. Bare Metal Provisioning 드라이버가 있는 노드는 물리적 시스템만 프로비저닝할 수 있습니다. 베어 메탈 프로비저닝 드라이버를 사용하여 모든 베어 메탈 노드를 프로비저닝하도록 단일 openstack-nova-compute 노드를 할당하는 것이 좋습니다. 다음 절차의 모든 단계는 root 사용자로 로그인한 동안 선택한 컴퓨팅 노드에서 수행해야 합니다.

베어 메탈 프로비저닝을 위한 OpenStack Compute 구성

  1. Bare Metal Provisioning 스케줄러 호스트 관리자를 사용하도록 Compute를 설정합니다.

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT scheduler_host_manager nova.scheduler.ironic_host_manager.IronicHostManager
  2. 인스턴스의 변경 사항을 추적하지 못하도록 Compute 스케줄러를 비활성화합니다.

    # openstack-config --set /etc/nova/nova.conf DEFAULT scheduler_tracks_instance_changes false
  3. 다음과 같이 기본 필터를 설정합니다.

    # openstack-config --set /etc/nova/nova.conf DEFAULT baremetal_scheduler_default_filters AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter
  4. 기본 Bare Metal Provisioning 스케줄링 필터를 사용하도록 Compute를 설정합니다.

    # openstack-config --set /etc/nova/nova.conf \
       DEFAULT scheduler_use_baremetal_filters True
  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. ironic 컴퓨팅 노드에서 nova 데이터베이스 인증 정보를 설정합니다.

    # openstack-config --set /etc/nova/nova.conf database connection "mysql+pymysql://nova:NOVA_DB_PASSWORD@DB_IP/nova"
  7. 컴퓨팅 컨트롤러 노드에서 Compute 스케줄러 서비스를 다시 시작합니다.

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

    # systemctl restart openstack-nova-compute.service

1.3.3. iPXE 요청을 태그하도록 OpenStack Networking DHCP 에이전트를 구성

iPXE의 OpenStack Networking DHCP 요청에는 ipxe 라는 DHCP 태그가 있어야 DHCP 서버에 boot.ipxe 스크립트를 가져오기 위해 클라이언트가 HTTP 작업을 수행해야 함을 알립니다. OpenStack Networking DHCP 에이전트 서비스에서 사용하는 dnsmasq 구성 파일에 dhcp-userclass 항목을 추가하여 이 작업을 수행할 수 있습니다.

  1. 오버클라우드 컨트롤러에서 DHCP 에이전트가 사용 중인 dnsmasq 파일을 확인합니다.

    # grep ^dnsmasq_config_file /etc/neutron/dhcp_agent.ini
    
    dnsmasq_config_file =/etc/neutron/dnsmasq-neutron.conf
  2. 이 파일을 편집하고 파일 끝에 다음 행을 추가합니다.

    # Create the "ipxe" tag if request comes from iPXE user class
    
    dhcp-userclass=set:ipxe,iPXE
  3. 파일을 저장하고 OpenStack Networking DHCP 에이전트 서비스를 다시 시작합니다.

    # systemctl restart neutron-dhcp-agent.service
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.