KVM을 전송 노드 또는 NSX ManagerNSX Controller 게스트 VM에 대한 호스트로 사용하려고 하지만 KVM을 아직 설정하지 않은 경우 여기에 설명된 절차를 사용할 수 있습니다.

참고:

Geneve 캡슐화 프로토콜은 UDP 포트 6081을 사용합니다. KVM 호스트의 방화벽에서 이 포트 액세스를 허용해야 합니다.

프로시저

  1. (Red Hat에만 해당) /etc/yum.conf 파일을 엽니다.
  2. exclude 줄을 검색합니다.
  3. "kernel* redhat-release*" 줄을 추가하여 지원되지 않는 RHEL 업그레이드를 피하도록 yum을 구성합니다.

    exclude=[existing list] kernel* redhat-release*

    특정 호환성 요구 사항이 있는 NSX-T Container Plug-in을 실행하려는 경우 컨테이너 관련 모듈도 제외시킵니다.

    exclude=[existing list] kernel* redhat-release* kubelet-* kubeadm-* kubectl-* docker-*

    지원되는 RHEL 버전은 7.4입니다.

  4. KVM 및 브리지 유틸리티를 설치합니다.

    Linux 배포판

    명령

    Ubuntu

    apt-get install -y qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils virtinst virt-manager virt-viewer libguestfs-tools

    RHEL

    yum groupinstall "Virtualization Hypervisor"
    yum groupinstall "Virtualization Client"
    yum groupinstall "Virtualization Platform"
    yum groupinstall "Virtualization Tools"
  5. 하드웨어 가상화 기능을 확인합니다.
    cat /proc/cpuinfo | egrep "vmx|svm"

    출력에는 vmx가 포함되어야 합니다.

  6. KVM 모듈이 설치되어 있는지 확인합니다.

    Linux 배포판

    명령

    Ubuntu

    kvm-ok
    
    INFO: /dev/kvm exists
    KVM acceleration can be used

    RHEL

    lsmod | grep kvm
    
    kvm_intel              53484  6
    kvm                   316506  1 kvm_intel
  7. KVM을 NSX Manager 또는 NSX Controller에 대한 호스트로 사용하려면 브리지 네트워크, 관리 인터페이스 및 NIC 인터페이스를 준비합니다.

    다음 예에서 첫 번째 이더넷 인터페이스(eth0 또는 ens32)는 Linux 시스템 자체로 연결하는 데 사용됩니다. 배포 환경에 따라 이 인터페이스는 DHCP 또는 정적 IP 설정을 사용할 수 있습니다. 업링크 인터페이스를 NSX-T 호스트에 할당하기 전에 이러한 업링크에 사용되는 인터페이스 스크립트가 이미 구성되었는지 확인합니다. 시스템에 이러한 인터페이스 파일이 없으면 호스트 전송 노드를 성공적으로 생성할 수 없습니다.

    참고:

    인터페이스 이름은 환경에 따라 다를 수 있습니다.

    Linux 배포판

    네트워크 구성

    Ubuntu

    /etc/network/interfaces를 편집합니다.

    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet manual
    
    auto br0
    iface br0 inet static
        address 192.168.110.51
        netmask 255.255.255.0
        network 192.168.110.0
        broadcast 192.168.110.255
        gateway 192.168.110.1
        dns-nameservers 192.168.3.45
        dns-search example.com
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
    
    

    브리지에 대한 네트워크 정의 xml 파일을 생성합니다. 예를 들어 다음 줄을 사용하여 /tmp/bridge.xml을 생성합니다.

    <network>
      <name>bridge</name>
      <forward mode='bridge'/>
      <bridge name='br0'/>
    </network>
    
    

    다음 명령을 사용하여 브리지 네트워크를 정의하고 시작합니다.

    virsh net-define 
    bridge.xml
    virsh net-start bridge
    virsh net-autostart bridge
    
    

    다음 명령을 사용하여 브리지 네트워크의 상태를 확인할 수 있습니다.

    virsh net-list --all
    
    Name                 State      Autostart     Persistent
    ----------------------------------------------------------
    bridge               active     yes           yes
    default              active     yes           yes

    RHEL

    /etc/sysconfig/network-scripts/ifcfg-management_interface를 편집합니다.

      DEVICE="ens32"
      TYPE="Ethernet"
      NAME="ens32"
      UUID="<UUID>"
      BOOTPROTO="none"
      HWADDR="<HWADDR>"
      ONBOOT="yes"
      NM_CONTROLLED="no"
      BRIDGE="br0"
    
    

    /etc/sysconfig/network-scripts/ifcfg-eth1을 편집합니다.

      DEVICE="eth1"
      TYPE="Ethernet"
      NAME="eth1"
      UUID="<UUID>"
      BOOTPROTO="none"
      HWADDR="<HWADDR>"
      ONBOOT="yes"
      NM_CONTROLLED="no"
    

    /etc/sysconfig/network-scripts/ifcfg-eth2를 편집합니다.

      DEVICE="eth2"
      TYPE="Ethernet"
      NAME="eth2"
      UUID="<UUID>"
      BOOTPROTO="none"
      HWADDR="<HWADDR>"
      ONBOOT="yes"
      NM_CONTROLLED="no"
    

    /etc/sysconfig/network-scripts/ifcfg-br0을 편집합니다.

       DEVICE="br0"
       BOOTPROTO="dhcp"
       NM_CONTROLLED="no"
       ONBOOT="yes"
       TYPE="Bridge"
  8. KVM을 전송 노드로 사용하려면 네트워크 브리지를 준비합니다.

    다음 예에서 첫 번째 이더넷 인터페이스(eth0 또는 ens32)는 Linux 시스템 자체로 연결하는 데 사용됩니다. 배포 환경에 따라 이 인터페이스는 DHCP 또는 정적 IP 설정을 사용할 수 있습니다.

    참고:

    인터페이스 이름은 환경에 따라 다를 수 있습니다.

    Linux 배포판

    네트워크 구성

    Ubuntu

    /etc/network/interfaces를 편집합니다.

    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet manual
    
    auto eth1
    iface eth1 inet manual
    
    auto br0
    iface br0 inet dhcp
      bridge_ports eth0
    

    RHEL

    /etc/sysconfig/network-scripts/ifcfg-ens32를 편집합니다.

    DEVICE="ens32"
      TYPE="Ethernet"
      NAME="ens32"
      UUID="<something>"
      BOOTPROTO="none"
      HWADDR="<something>"
      ONBOOT="yes"
      NM_CONTROLLED="no"
      BRIDGE="br0"
    
    

    /etc/sysconfig/network-scripts/ifcfg-ens33을 편집합니다.

    DEVICE="ens33"
      TYPE="Ethernet"
      NAME="ens33"
      UUID="<something>"
      BOOTPROTO="none"
      HWADDR="<something>"
      ONBOOT="yes"
      NM_CONTROLLED="no"
    
    

    /etc/sysconfig/network-scripts/ifcfg-br0을 편집합니다.

    DEVICE="br0"
       BOOTPROTO="dhcp"
       NM_CONTROLLED="no"
       ONBOOT="yes"
       TYPE="Bridge"
    중요:

    Ubuntu의 경우 모든 네트워크 구성을 /etc/network/interfaces에 지정해야 합니다. /etc/network/ifcfg-eth1과 같은 개별 네트워크 구성 파일은 생성하지 마십시오. 이 경우 전송 노드 생성이 실패할 수 있습니다.

    이 단계 이후 KVM 호스트가 전송 노드로 구성되면 브리지 인터페이스 "nsx-vtep0.0"이 생성됩니다. Ubuntu에서 /etc/network/interfaces에는 다음과 같은 항목이 포함됩니다.

    iface nsx-vtep0.0 inet static
    pre-up ip addr flush dev nsx-vtep0.0
    address <IP_pool_address>
    netmask <subnet_mask>
    mtu 1600
    down ifconfig nsx-vtep0.0 down
    up ifconfig nsx-vtep0.0 up

    RHEL에서 호스트 NSX 에이전트(nsxa)는 다음과 같은 항목을 포함하는 ifcfg-nsx-vtep0.0이라는 구성 파일을 생성합니다.

    DEVICE=nsx-vtep0.0
    BOOTPROTO=static
    NETMASK=<IP address>
    IPADDR=<subnet mask>
    MTU=1600
    ONBOOT=yes
    USERCTL=no
    NM_CONTROLLED=no
    
  9. 네트워킹 변경 사항을 적용하려면 네트워킹 서비스 systemctl restart network를 다시 시작하거나 Linux 서버를 재부팅합니다.