在裸机服务器上运行的 KVM 主机上安装 NSX Manager。请不要在另一台主机(嵌套环境)上作为虚拟设备运行的 KVM 主机上安装 NSX Manager

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

可以使用相同的 QCOW2 文件部署三种不同类型的设备:NSX Manager、适用于 NSX Cloud 的 NSX Cloud Service Manager 以及适用于 联合全局管理器

前提条件

  • 确认设置了 KVM。请参见设置 KVM
  • 确认您具有在 KVM 主机上部署 QCOW2 映像的特权。
  • 确认 guestinfo 中的密码符合密码复杂性要求,以便您可以在安装后登录。请参见NSX Manager 安装
  • 熟悉 NSX Manager 资源要求。请参见NSX Manager 虚拟机和主机传输节点系统要求
  • 如果您计划安装 Ubuntu 操作系统,建议您在 KVM 主机上安装 NSX Manager 之前安装 Ubuntu 版本 18.04。
重要事项:
  • 如果要在 KVM v18.04 上为生产环境部署 NSX Manager,请确保 KVM 主机未在 ESXi 主机上作为虚拟机运行。但是,如果出于概念证明的目的,要在嵌套的 KVM 环境中部署 NSX Manager,请使用 virt-type qemu 在 QEMU 用户空间中部署 NSX Manager
  • 请不要在单个磁盘上部署 NSX Manager。如果在单个磁盘上安装 NSX Manager,某些启动服务可能无法启动。

过程

  1. 从 My VMware 中下载 NSX Manager QCOW2 映像(对于主磁盘和辅助磁盘):https://www.vmware.com/go/download-nsx-t

    选择要下载的版本,然后单击转到下载 。下载 QCOW2 文件。

  2. 将映像的三个副本复制到要使用 SCP 或同步运行 NSX Manager 的 KVM 计算机。
  3. (仅限 Ubuntu)将当前登录的用户添加为 libvirtd 用户:
    adduser $USER libvirtd
  4. 在保存 QCOW2 映像的同一目录中,为主磁盘映像创建三个文件(名称:guestinfo.xml),然后使用 NSX Manager 虚拟机的属性填充这三个文件。您不需要为辅助磁盘映像创建任何文件。
    属性 说明
    • nsx_cli_passwd_0
    • nsx_cli_audit_passwd_0
    • nsx_passwd_0
    您的密码必须符合密码强度限制。
    • 至少 12 个字符
    • 至少一个小写字母
    • 至少一个大写字母
    • 至少一个数字
    • 至少一个特殊字符
    • 至少 5 个不同的字符
    • 默认的密码复杂性规则将由以下 Linux PAM 模块参数强制执行:
      • retry=3:在返回错误之前,可输入新密码的最大次数;对于此参数,最多为 3 次。
      • minlen=12:新密码的最小可接受长度。除了新密码中的字符数以外,还会为每种不同类型的字符(其他、大写、小写和数字)提供额度(长度 +1)。
      • difok=0:新密码中必须包含的最小不同字节数。表示旧密码和新密码之间的相似性。如果为 difok 分配值 0,则旧密码和新密码不需要具有任何不同的字节。允许完全匹配。
      • lcredit=1:在新密码中包含小写字母的最大额度。如果密码包含的小写字母少于或等于 1 个,则将为每个字母计数 +1 以满足当前的 minlen 值。
      • ucredit=1:在新密码中包含大写字母的最大额度。如果密码包含的大写字母少于或等于 1 个,则将为每个字母计数 +1 以满足当前的 minlen 值。
      • dcredit=1:在新密码中包含数字的最大额度。如果密码包含的数字少于或等于 1 个,则将为每个数字计数 +1 以满足当前的 minlen 值。
      • ocredit=1:在新密码中包含其他字符的最大额度。如果密码包含的其他字符少于或等于 1 个,则将为每个字符计数 +1 以满足当前的 minlen 值。
      • enforce_for_root:为 root 用户设置了密码。
      注: 有关使用 Linux PAM 模块根据字典词语检查密码的更多详细信息,请参阅手册页。
    nsx_hostname 输入 NSX Manager 的主机名。主机名必须是有效的域名。请确保主机名的各个部分(域/子域,用点分隔)都必须以字母字符开头。
    nsx_role
    • 要安装 NSX Manager 设备,请选择 NSX Manager 角色。
    • 要安装用于联合部署的全局管理器设备,请选择 NSX Global Manager 角色。

      有关详细信息,请参见联合 入门指南

    • 要安装用于 NSX Cloud 部署的 Cloud Service Manager (CSM) 设备,请选择 nsx-cloud-service-manager 角色。

      有关详细信息,请参见部署 NSX Cloud 概述

    nsx_isSSHEnabled

    您可以启用或禁用此属性。如果启用,则可以使用 SSH 登录到 NSX Manager

    nsx_allowSSHRootLogin

    您可以启用或禁用此属性。如果启用,则可以使用 SSH 以 root 用户的身份登录到 NSX Manager。要使用该属性,必须启用 nsx_isSSHEnabled

    • nsx_dns1_0
    • nsx_ntp_0
    • nsx_domain_0
    • nsx_gateway_0
    • nsx_netmask_0
    • nsx_ip_0
    输入默认网关的 IP 地址、管理网络 IPv4、管理网络的网络掩码、DNS 和 NTP IP 地址。
    例如:
    <?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_cli_passwd_0" oe:value="<password>"/>
    	<Property oe:key="nsx_cli_audit_passwd_0" oe:value="<password>"/>
    	<Property oe:key="nsx_passwd_0" oe:value="<password>"/>
    	<Property oe:key="nsx_hostname" oe:value="nsx-manager1"/>
    	<Property oe:key="nsx_role" oe:value="NSX Manager"/>
    	<Property oe:key="nsx_isSSHEnabled" oe:value="True"/>
    	<Property oe:key="nsx_allowSSHRootLogin" oe:value="True"/>
    	<Property oe:key="nsx_dns1_0" oe:value="10.168.110.10"/>
    	<Property oe:key="nsx_ntp_0" oe:value="10.168.110.10"/>
    	<Property oe:key="nsx_domain_0" oe:value="corp.local"/>
    	<Property oe:key="nsx_gateway_0" oe:value="10.168.110.83"/>
    	<Property oe:key="nsx_netmask_0" oe:value="255.255.252.0"/>
    	<Property oe:key="nsx_ip_0" oe:value="10.168.110.19"/>     
       </PropertySection>
    </Environment>
    
    
    注:

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

  5. 使用 guestfishguestinfo.xml 文件写入到 QCOW2 映像中。
    注: 在将 guestinfo 信息写入到 QCOW2 映像后,无法覆盖该信息。
    sudo guestfish --rw -i -a nsx-unified-appliance-<BuildNumber>.qcow2 upload guestinfo /config/guestinfo
    
    
  6. 使用 virt-install 命令部署 QCOW2 映像。

    vCPU 和 RAM 值适用于大型虚拟机。有关其他设备大小的详细信息,请参见 NSX Manager 虚拟机和主机传输节点系统要求。网络名称和端口组名称特定于您的环境。模型必须为 virtio

    (在 RHEL 主机上)

    sudo virt-install \
    --import \
    --ram 48000 \
    --vcpus 12 \
    --name <manager-name> \
    --disk path=<manager-qcow2-file-path>,bus=virtio,cache=none \
    --disk path=<secondary-qcow2-file-path>,bus=virtio,cache=none \
    --network [bridge=<bridge-name> or network=<network-name>],
      portgroup=<portgroup-name>,model=virtio \
    --noautoconsole              \
    --cpu mode=host-passthrough
    
    Starting install...
    Domain installation still in progress. Waiting for installation to complete.

    (在 Ubuntu 主机上)

    sudo virt-install \
    --import \
    --ram 48000 \
    --vcpus 12 \
    --name <manager-name> \
    --disk path=<manager-qcow2-file-path>,bus=virtio,cache=none \
    --disk path=<secondary-qcow2-file-path>,bus=virtio,cache=none \
    --network [bridge=<bridge-name> or network=<network-name>],
      portgroup=<portgroup-name>,model=virtio \
    --noautoconsole              \
    --cpu mode=host-passthrough,cache.mode=passthrough
    
    Starting install...
    Domain installation still in progress. Waiting for installation to complete.
  7. 确认部署了 NSX Manager
    virsh list --all
    
    Id    Name             State
    ---------------------------------
    18    nsx-manager1     running
  8. 打开 NSX Manager 控制台并登录。
    virsh console 18
    Connected to domain nsx-manager1
    Escape character is ^]
    
    nsx-manager1 login: admin
    Password:
  9. 在节点引导后,以管理员身份登录到 CLI,并运行 get interface eth0 命令以确认按预期方式应用了 IP 地址。
  10. 输入 get services 命令以确认所有默认服务正在运行。
    默认情况下,不需要使用以下服务,并且不会自动启动这些服务。
    • liagent
    • migration-coordinator:只有在运行迁移协调器时,才会使用该服务。在启动该服务之前,请参见《NSX-T Data Center 迁移协调器指南》。
    • snmp:有关启动 SNMP 的信息,请参见《NSX-T Data Center 管理指南》中的简单网络管理协议
    • nsx-message-bus:在 NSX-T Data Center 3.0 中不使用该服务。
  11. 确认 NSX Manager全局管理器节点具有所需的连接。
    确保您可以执行以下任务。
    • 从另一个计算机中 ping 节点。
    • 节点可以 ping 其默认网关。
    • 节点可以使用管理接口 ping 位于相同网络中的 Hypervisor 主机。
    • 节点可以对其 DNS 服务器和其 NTP 服务器 IP 或 FQDN 列表执行 ping 操作。
    • 如果已启用 SSH,请确保您可以通过 SSH 访问节点。

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

  12. 退出 KVM 控制台。
    control-]
  13. 从浏览器中,使用管理员权限登录到 https://<nsx-manager-ip-address> 中的 NSX Manager

后续步骤

登录到 NSX Manager。请参见 登录到新创建的 NSX Manager