vSphere의 가상 시스템을 VMware Integrated OpenStack 배포 환경으로 가져와서 OpenStack 인스턴스처럼 관리할 수 있습니다.

이 절차는 VDS 또는 NSX Data Center for vSphere 네트워킹을 통한 배포에 적용됩니다. NSX-T Data Center 배포의 경우 NSX-T Data Center를 사용하여 VMware Integrated OpenStack으로 가상 시스템 가져오기 항목을 참조하십시오.

가져온 가상 시스템은 OpenStack 인스턴스가 되지만 별도로 유지됩니다.

  • 가상 시스템에 여러 개의 디스크가 있으면 디스크를 Cinder 볼륨으로 가져옵니다.

  • 기존 네트워크는 portgroup 유형의 제공자 네트워크로 가져오고 지정된 테넌트로만 액세스가 제한됩니다.

  • 특정 네트워크 백업이 포함된 가상 시스템을 가져온 후에는 동일한 네트워크를 다른 프로젝트로 가져올 수 없습니다.

  • Neutron 서브넷은 DHCP가 비활성화된 상태로 자동으로 생성됩니다.

  • Neutron 포트는 가상 시스템에 있는 NIC(네트워크 인터페이스 카드)의 IP 및 MAC 주소를 기반으로 자동 생성됩니다.

참고:

리스 갱신 시 DHCP 서버가 동일한 IP 주소를 유지하지 못하면 OpenStack의 인스턴스 정보에 잘못된 IP 주소가 표시됩니다. 이 문제를 방지하려면 기존 DHCP 서버에서 정적 DHCP 바인딩을 사용하고 가져온 네트워크에서 새 OpenStack 인스턴스를 실행하지 마십시오.

VM은 OpenStack 관리 서버에서 DCLI(Data Center Command-Line Interface)를 사용하여 가져옵니다.

사전 요구 사항

가져오려는 가상 시스템이 동일한 vCenter Server 인스턴스에 있는지 확인합니다.

프로시저

  1. vSphere에서 원하는 가상 시스템이 포함된 클러스터를 VMware Integrated OpenStack 배포의 계산 클러스터로 추가합니다. 지침은 OpenStack 배포에 계산 클러스터 추가 항목을 참조하십시오.
  2. OpenStack 관리 서버viouser로 로그인합니다.
  3. 가져온 가상 시스템이 재배치되거나 이름이 변경되는 것을 방지하려면 배포 구성을 업데이트합니다.
    1. 배포에 custom.yml 파일을 사용하지 않는 경우에는 /opt/vmware/vio/custom 디렉토리에 템플릿 custom.yml 파일을 복사합니다.
      sudo mkdir -p /opt/vmware/vio/custom
      sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
    2. 텍스트 편집기에서 /opt/vmware/vio/custom/custom.yml 파일을 엽니다.
    3. nova_import_vm_relocate 매개 변수의 주석 처리를 제거하고 해당 값을 false로 설정합니다.
    4. 업데이트된 구성을 배포합니다.
      sudo viocli deployment configure

      구성을 배포하면 OpenStack 서비스가 일시적으로 중단됩니다.

  4. VMware Integrated OpenStack vAPI 끝점에 연결합니다.
    dcli +server https://mgmt-server-ip:9449/api +i

    서버에 연결할 수 없는 경우에는 DCLI에서 서버에 연결할 수 없음 항목을 참조하십시오.

  5. 관리되지 않는 가상 시스템을 VMware Integrated OpenStack으로 가져옵니다.
    참고:

    명령을 실행하면 DCLI에서 vCenter Server 인스턴스에 대한 관리자 자격 증명을 입력하라는 메시지가 표시됩니다. 이 자격 증명을 저장하면 사용자 이름과 암호를 매번 입력하지 않아도 됩니다.

    • 다음 명령을 실행하여 관리되지 않는 모든 가상 시스템을 가져옵니다.

      com vmware vio vm unmanaged importall --cluster cluster-name [--tenant-mapping {FOLDER | RESOURCE_POOL} [--root-folder root-folder | --root-resource-pool root-resource-pool]]

      옵션

      설명

      --cluster

      가져오려는 가상 시스템이 포함된 계산 클러스터를 입력합니다.

      --tenant-mapping {FOLDER | RESOURCE_POOL}

      가져온 가상 시스템을 폴더 또는 리소스 풀 내의 위치를 기반으로 OpenStack 프로젝트에 매핑할지 여부를 지정합니다.

      이 매개 변수를 포함하지 않으면 가져온 모든 VM이 기본적으로 import_service 프로젝트의 인스턴스가 됩니다.

      --root-folder ROOT_FOLDER

      --tenant-mapping 매개 변수에 대해 FOLDER를 지정한 경우, 가져올 가상 시스템이 포함된 루트 폴더의 이름을 지정할 수 있습니다.

      지정된 폴더 또는 그 하위 폴더에 있는 모든 가상 시스템을 가상 시스템이 포함된 폴더와 같은 이름으로 OpenStack 프로젝트에 인스턴스로 가져옵니다.

      참고:

      --tenant-mapping FOLDER를 지정하고 --root-folder를 지정하지 않으면 클러스터 내의 최상위 폴더 이름이 기본적으로 사용됩니다.

      --root-resource-pool ROOT_RESOURCE_POOL

      --tenant-mapping 매개 변수에 대해 RESOURCE_POOL를 지정한 경우, 가져올 가상 시스템이 포함된 루트 리소스 풀의 이름을 제공할 수 있습니다.

      지정된 리소스 풀 또는 그 하위 리소스 풀에 있는 모든 가상 시스템은 가상 시스템이 포함된 리소스 풀과 동일한 이름으로 OpenStack 프로젝트에 인스턴스로 가져옵니다.

    • 다음 명령을 실행하여 지정된 가상 시스템을 가져옵니다.

      com vmware vio vm unmanaged importvm --vm vm-id [--tenant project-name] [--nic-mac-address nic-mac --nic-ipv4-address nic-ip] [--root-disk root-disk-path] [--nics specifications]

      옵션

      설명

      --vm

      가져오려는 가상 시스템의 식별자를 입력합니다.

      com vmware vio vm unmanaged list 명령을 실행하면 관리되지 않는 모든 가상 시스템의 ID 값을 볼 수 있습니다.

      --tenant

      가상 시스템을 가져올 OpenStack 프로젝트를 지정합니다.

      이 매개 변수를 포함하지 않으면 import_service 프로젝트가 기본적으로 사용됩니다.

      --nic-mac-address

      가상 시스템에 있는 NIC(네트워크 인터페이스 카드)의 MAC 주소를 입력합니다.

      이 매개 변수를 포함하지 않으면 가져오기 프로세스에서 MAC 및 IP 주소를 자동으로 검색하려고 합니다.

      참고:

      이 매개 변수를 포함하는 경우에는 nic_ipv4_address 매개 변수도 반드시 포함해야 합니다.

      --nic-ipv4-address

      가상 시스템에 있는 NIC(네트워크 인터페이스 카드)의 IP 주소와 접두사를 입력합니다. CIDR 표기법(예: 10.10.1.1/24)으로 값을 입력합니다.

      이 매개 변수는 --nic-mac-address 매개 변수와 함께 사용해야 합니다.

      --root-disk

      여러 개의 디스크가 있는 가상 시스템의 경우 루트 디스크 데이터스토어 경로를 --root-disk '[datastore1] foo/foo_1.vmdk' 형식으로 지정합니다.

      --nics

      NIC가 여러 개 있는 가상 시스템의 경우 JSON 형식으로 각 NIC의 MAC 및 IP 주소를 지정합니다.

      다음과 같은 키-값 쌍을 사용합니다.

      • mac_address: NIC의 MAC 주소(표준 형식)

      • ipv4_address: IPv4 주소(CIDR 표기법)

      예:

      --nics '[{"mac_address": "00:50:56:9a:f5:7b", "ipv4_address": "10.10.1.1/24"}, {"mac_address": "00:50:56:9a:ee:be", "ipv4_address": "10.10.2.1/24"}]'