简介
Nutanix映像服务够将ISOs、磁盘映像或任何以ESXi或Hyper-V格式支持的映像直接导入虚拟化管理。
支持的虚拟机磁盘格式有:RAW、VHD、VMDK、VDI、ISO、QCOW2。本文将主要来描述在Nutanix AHV
集群中虚拟机管理的各个方面。关于AHV上支持的虚拟机类型,可以参考Nutanix官方网站上的
Compatibility Matrix。AHV不支持创建UEFI模式的虚拟机VM,每个总线类型支持的最大vDisk数量
如下。
● SCSI总线: 256个vDisk
● PCI总线: 6个vDisk
● IDE总线: 4个vDisk
部署Windows虚拟机
1、安装Windows虚拟机需要使用到VirtIO。Nutanix VirtIO是一组驱动程序,用于增强半虚拟化设备
在AHV上的稳定性和性能。Nutanix VirtIO有两种格式,一种是ISO格式,另一种是Windows中的安装
程序MSI。
2、Nutanix VirtIO支持的Windows操作系统版本。
● Microsoft Windows Server Version: Windows 2008 R2 或更高版本。
● Microsoft Windows Client Version: Windows 7 或更高版本。
● AHV version 20160925.30 或更高版本。
3、先通过映像配置将ISO上传到Nutanix,这里我们来安装Windows Server 2016。
4、创建虚拟机,添加两个光驱,第一个光驱挂载Windows安装ISO,第二个光驱挂载VirtIO的ISO。
5、虚拟机创建完成后,启动虚拟机进入安装界面,如下图选择“加载驱动程序”,然后选择VirtIO光盘
中的“amd64”目录,点击“确定”。amd64目录适用64位系统,x86目录适用32位系统。
6、选择加载Nuanix VirtIO SCSI pass-throuth controller的驱动,这样就可以识别到硬盘了。点
击下一步开始正常安装系统即可。
7、系统安装完成以后,还无法识别到网卡和一些其它的PCI设备,需在要系统中执行安装Nutanix
VirtIO的MSI安装程序。
8、如下图,安装完成VirtIO驱动以后,设备驱动自动安装完成。到这里Windown虚拟机的基本安装就
完成了。
9、确认网卡可以正常使用。
10、Linux系统的安装正常安装即可,不需要加载VirtIO驱动,但有一点需要注意,在创建Linux虚拟
机时,时区要选择”UTC”,创建Windows虚拟机时,时区要选择“RTC”。
虚拟机内存和CPU热插拔配置
1、运行在AHV上的虚拟机支持内存和CPU的热插拔,并且可以对正在运行的虚拟机进行添加内存和CPU
数量的操作。您可以在启动VM时更改vCPU的数量。注意,可以更改CPU的数量,但是不支持修
改每个CPU中的内核数量。
2、可以通过aCli、Prism Web Console或Prism Central进行CPU和内存的热插拔。
3、可以在Compatibility Matrix中查看不同AOS版本和不同的Guest OS版本对于内存和CPU热插拔的
要求和限制。
4、下面我们对一台虚拟机进行内存和CPU热添加操作,首先查看虚拟机的内存容量,可以看到虚拟机
TestVM-1当前的内存容量为1GB,CPU数量为1。
vm.get vm-name
5、执行以下命令将内存设置为2G,CPU数量为2。
acli vm.update TestVM-1 memory=2048M
acli vm.update TestVM-1 num_vcpus=2
6、执行完以上命令后,再次查看虚拟机,可以看到内存变为2048,CPU数量为2。说明热添加成功。
7、CPU和内存的热插拔操作也可以在Prism Web Console中完成,选择虚拟机,点击“Update”按钮进
行操作即可。
8、在某些Linux操作系统上,Linux内核可能不会使热插拔的内存联机。如果内存未联机,则不能使用
新内存。执行以下步骤使内存联机。
cd /sys/devices/system/memroy
cat /memoryXX/state
如果显示online,说明该内存设备已经联机使用,如果为offline,说明该存存设备为新添加但没有
联机,使用以下命令进行联机。
echo online > /sys/devices/system/memory/memoryXXX/state
9、通过cat /proc/cpuinfo查看CPU信息,如果热添加的CPU没有生效,使用以下命令使其生效。
echo 1 > /sys/devices/system/cpu/cpu/online
VM Memory Management (vNUMA)
1、AHV主机支持虚拟机上的虚拟非均匀内存访问(vNUMA)。在创建或修改虚拟机并优化内存性能时,可
以在VM上启用vNUMA。
2、Virtual Non-uniform Memory Access (vNUMA):vNUMA优化虚拟机的内存性能,这些虚拟机需要
比单个物理NUMA节点更多的vcpu或内存。在vNUMA拓扑中,您可以创建多个vNUMA节点,其中每个vNUMA
节点都包含vcpu和虚拟RAM。当您将一个vNUMA节点分配给一个物理NUMA节点时,vcpu可以智能地确定
内存延迟(高或低)。vNUMA节点内的低内存延迟导致物理NUMA节点内的低延迟。
3、使用以下CVM命令确定所有AHV主机的NUMA拓扑。注意,“CPU num”包括超线程CPU内核。
allssh “virsh capabilities egrep ‘cell idcpus nummemory unit’”
4、在创新虚拟机时启用vNUMA,执行以下命令:
acli vm.create vm_name num_vcpus=x num_cores_per_vcpu=x memory=xG num_vnuma_nodes=x
● num_vcpus: vCPUs数量
● num_cores_per_vcpu: vCPU核数
● memory: 内存容量
● num_vnuma_nodes: vNUMA nodes数量
5、修改现有的虚拟机,启用vNUMA
acli vm.update vm_name num_vnuma_nodes=x
6、如下图,vNUMA启用前,num_vnuma_nodes为0
7、注意,修改虚拟机的vNUMA设置,需要先关闭虚拟机。启用后,num_vnuma_nodes为4
PXE Configuration
1、Nutanix的客户虚拟机网络分为Unmanaged和Managed两种,Unmanaged网络不执行IPAM功能,并允
许VM直接访问外部网络。因此,对于使用Unmanaged网络的虚拟机来说,配置PXE引导与配置物理服务
器没有区别,VM从外部网络的DHCP服务器获取到引导文件并进行引导。
2、对于Managed网络,也称为托管网络。对于使用托管网络的VM,Acropolis会拦截来自VM的DHCP请
求并执行分配IP的操作。因此,需要在托管网络中配置TFTP服务器地址和需要使用的PXE引导文件。
3、如下图,在编辑VM网络中添加必要的TFTP地址和引导文件路径。
4、虚拟机网络配置完成后,我们来创建一台虚拟机并进行PXE引导来安装系统。
5、确认虚拟机可以正常PXE引导并安装系统。
6、这里我们分别创建了两台虚拟机,一个使用Unmanaged网络,一个使用Managed网络。