NSX Controller 作为网络中的所有逻辑交换机的中央控制点,并维护有关所有主机、逻辑交换机和分布式逻辑路由器的信息。

QCOW2 安装过程使用 guestfish(Linux 命令行工具)将虚拟机设置写入到 QCOW2 文件中。

前提条件

  • 设置了 KVM。请参见设置 KVM

  • 在 KVM 主机上部署 QCOW2 映像的权限。

过程

  1. NSX Controller QCOW2 映像下载到 /var/lib/libvirt/images 目录中。
  2. (仅限 Ubuntu)将当前登录的用户添加为 libvirtd 用户:
    adduser $USER libvirtd
  3. 在保存 QCOW2 映像的同一目录中,创建一个名为 guestinfo 的文件(无文件扩展名),然后使用 NSX Controller 虚拟机的属性填充该文件。

    例如:

    <?xml version="1.0" encoding="UTF-8"?>
    <Environment
         xmlns="http://schemas.dmtf.org/ovf/environment/1"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:oe="http://schemas.dmtf.org/ovf/environment/1">
       		<PropertySection>
             <Property oe:key="nsx_allowSSHRootLogin" oe:value="True"/>
     								<Property oe:key="nsx_cli_audit_passwd_0" oe:value="<password>"/>
             <Property oe:key="nsx_cli_passwd_0" oe:value="<password>"/>
             <Property oe:key="nsx_dns1_0" oe:value="192.168.110.10"/>
             <Property oe:key="nsx_domain_0" oe:value="corp.local"/>
             <Property oe:key="nsx_gateway_0" oe:value="192.168.110.1"/>
             <Property oe:key="nsx_hostname" oe:value="nsx-Controller1"/>
             <Property oe:key="nsx_ip_0" oe:value="192.168.110.34"/>
             <Property oe:key="nsx_isSSHEnabled" oe:value="True"/>
             <Property oe:key="nsx_netmask_0" oe:value="255.255.255.0"/>
             <Property oe:key="nsx_ntp_0" oe:value="192.168.110.10"/>
             <Property oe:key="nsx_passwd_0" oe:value="<password>"/>
       		</PropertySection>
    </Environment>
    
    

    在该示例中,启用了 nsx_isSSHEnabled 和 nsx_allowSSHRootLogin。如果禁用,则无法通过 SSH 访问或登录到 NSX Controller 命令行。如果启用 nsx_isSSHEnabled 但不启用 nsx_allowSSHRootLogin,您可以通过 SSH 访问 NSX Controller,但无法以 root 身份登录。

  4. 使用 guestfish 将 guestinfo 文件写入到 QCOW2 映像中。

    如果要创建多个 NSX Controller,请为每个控制器创建单独的 QCOW2 映像副本。在将 guestinfo 信息写入到 QCOW2 映像后,无法覆盖该信息。

    sudo guestfish --rw -i -a nsx-controller1-build.qcow2 upload guestinfo /config/guestinfo
    
    
  5. 使用 virt-install 命令部署 QCOW2 映像。
    user@ubuntu1604:/var/lib/libvirt/images$ sudo virt-install --import --name nsx-controller1 --ram 16384 --vcpus 2 --network=bridge:br0,model=e1000 --disk path=/var/lib/libvirt/images/nsx-controller-release_version_number.qcow2,format=qcow2 --nographics --noautoconsole

    NSX Controller 引导后,将显示 NSX Controller 控制台。

  6. (可选) 为了获得最佳性能,请为 NSX-T Data Center 组件预留内存。

    即使内存过量使用,内存预留也能保证主机为虚拟机预留的物理内存量下限。将预留设置为某个级别,以确保 NSX-T Data Center 组件具有足够的内存以高效地运行。请参见系统要求

  7. 打开 NSX-T Data Center 组件控制台以跟踪引导过程。
  8. 在引导 NSX-T Data Center 组件后,以 admin 身份登录到 CLI 并运行 get interface eth0 命令以验证是否按预期方式应用了 IP 地址。
    nsx-component> get interface eth0
    Interface: eth0
      Address: 192.168.110.25/24
      MAC address: 00:50:56:86:7b:1b
      MTU: 1500
      Default gateway: 192.168.110.1
      Broadcast address: 192.168.110.255
      ...
    
  9. 确认 NSX-T Data Center 组件具有所需的连接。

    确保您可以执行以下任务。

    • 从另一个计算机中 ping 通 NSX-T Data Center 组件。

    • NSX-T Data Center 组件可以 ping 通其默认网关。

    • NSX-T Data Center 组件可以使用管理接口 ping 通位于与 NSX-T Data Center 组件相同的网络中的管理程序主机。

    • NSX-T Data Center 组件可以 ping 通其 DNS 服务器和 NTP 服务器。

    • 如果已启用 SSH,请确保可以通过 SSH 访问 NSX-T Data Center 组件。

    如果未建立连接,请确保虚拟设备的网络适配器位于正确的网络或 VLAN 中。

下一步做什么

NSX Controller 加入管理层面。请参见将 NSX Controller 加入 NSX Manager