
第2章 虚拟机管理
2.1 虚拟机创建与调整
2.1.1 创建虚拟机,安装Windows操作系统
【背景知识】
虚拟机与物理计算机一样,用于运行操作系统和应用程序。虚拟机运行在某个主机上,并从主机上获取所需的CPU、内存等计算资源,以及图形处理器、USB设备、网络连接和存储访问等能力。多台虚拟机可以同时运行在一台主机上。
空虚拟机就像一台没有安装操作系统的空白物理计算机。创建空虚拟机时,可选择创建在主机上或集群上,并可自定义CPU、内存、磁盘、网卡等的规格。空虚拟机创建完成后,需要再为其安装操作系统。安装操作系统的方法与在物理机上安装操作系统的方法相同。
Tools是虚拟机的驱动程序。空虚拟机创建并安装操作系统后,需在虚拟机上安装华为提供的Tools,以便提高虚拟机的I/O处理性能、实现对虚拟机的硬件监控和其他高级功能。当前操作系统有Windows和Linux两大类,因此Tools也区分Windows和Linux上的Tools。
【实验内容】
① 创建一台空虚拟机。
② 在虚拟机上安装Windows 10操作系统。
③ 为安装Windows 10操作系统的虚拟机安装Tools。
【实验步骤】
如图2-1所示,在集群上创建虚拟机,具体步骤如下所述。
(1)在集群上创建虚拟机
登录FusionCompute,单击左侧第一个“导航树”图标,展开“导航树”,单击“资源池”→“ManagementCluster”,在“ManagementCluster”窗格中单击“创建虚拟机”按钮,在弹出的如图2-2所示的“创建虚拟机”对话框中,选择创建虚拟机的方式为“创建新虚拟机”,然后单击“下一步”按钮。

图2-1 在集群上创建虚拟机

图2-2 “创建虚拟机”对话框
(2)完成虚拟机的基本配置
如图2-3所示,完成虚拟机的基本配置。在虚拟机“名称”文本框中输入“Windows 10”,虚拟机位置和计算资源采用默认值,操作系统类型选择“Windows”,操作系统版本号选择“Windows 10 Professional 64bit”。(因为FusionCompute采用开源的KVM方案进行虚拟化,该方案的I/O虚拟化使用virtio方式,而Windows没有集成该驱动程序,导致安装Windows操作系统时找不到磁盘。华为的解决方法是,给所有的Windows虚拟机额外添加一个A盘,在A盘里放置virtio的磁盘驱动程序,所以操作系统的版本不能选错。)设置完成后单击“下一步”按钮。

图2-3 完成虚拟机的基本配置
如图2-4所示,选择数据存储。目前只有CNA1的本地磁盘,可直接单击“下一步”按钮。

图2-4 选择数据存储
如图2-5所示,配置虚拟机硬件参数。打开“硬件”选项卡,可以设置虚拟机的CPU个数、内存大小、硬盘个数、网卡个数,完成显卡和软驱设置,本次实验均保持默认值。
单击“CPU”前的三角符号可展开“CPU”选项,CPU的详细设置如图2-6所示。在该图中,可以设置CPU绑定、每个插槽的内核数,以及与QoS相关的份额、预留和限制。
QoS:Quality of Service,服务质量。在系统资源比较紧张的情况下,只能保证优先级高的虚拟机可以优先申请和使用资源。

图2-5 配置虚拟机硬件参数
● CPU绑定:开启后CPU绑定功能自动将虚拟机CPU与主机的内核(或超线程)进行一对一绑定,其余虚拟机无法绑定已被占用的内核(或超线程)。
● CPU线程绑定策略:prefer。如果主机有超线程,绑定虚拟机CPU的超线程将位于同一个内核上。
● 每个插槽的内核数:虚拟机CPU插槽是指安装vCPU的插口,用于呈现vCPU的拓扑结构。设置虚拟机的CPU可平均分为多组,每组的一个或多个CPU内核由一个物理CPU的一个或多个内核来提供。每组的CPU数量即为每个插槽的内核数。虚拟机CPU插槽的数量必须能整除虚拟机的CPU个数。例如,一台8个CPU的虚拟机设置的CPU插槽数量为4,此时虚拟机的8个CPU平均地由主机上的4个物理CPU提供,每个物理CPU提供2个内核。
● 份额:份额是多台虚拟机在竞争物理资源时按比例分配的计算资源(2.3.2节有详细解释)。
● 预留:预留是在多台虚拟机竞争物理资源时最低分配的计算资源(2.3.2节有详细解释)。
● 限制:限制代表虚拟机实际的CPU使用上限(如服务器单个CPU频率为2.6 GHz。2 vCPU的限制为5.2 GHz。如果把限制设定为2.6 GHz,那么实际上,该虚拟机只分配到了单个vCPU的计算能力)。

图2-6 CPU的详细设置
单击“内存”前的三角符号可展开“内存”选项,内存的详细设置如图2-7所示。在该图中,可以设置“大页配置”以及内存的与QoS相关的份额、预留和限制。
① 大页配置:支持未开启、2 MB、1 GB三种配置。大页规格的大小具体可根据业务场景进行选择。
② 份额:份额定义多台虚拟机竞争内存资源时按比例分配的内存资源(2.3.2节有详细解释)。
③ 预留(MB):预留定义多台虚拟机竞争内存资源时分配的内存下限,能够确保虚拟机实际可使用的内存资源(2.3.2节有详细解释)。
④ 限制(MB):FusionCompute 6.5.1及之前版本不能修改,默认为0。FusionCompute 8.0后能修改。

图2-7 内存的详细设置
单击“磁盘1”前的三角符号可展开“磁盘1”选项,磁盘的详细设置如图2-8所示。在该图中,可以选择磁盘在哪个数据存储上,选择配置模式、磁盘模式和总线类型。

图2-8 磁盘的详细设置
配置模式:有普通、精简、普通延迟置零3种模式。
① 普通模式:根据磁盘容量为磁盘分配空间,在创建过程中会将物理设备上保留的数据置零。这种格式的磁盘性能较好,但创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。对性能有要求的场景,建议选择该模式。
② 精简模式:在该模式下,系统首次仅分配磁盘容量配置值的部分容量,后续根据使用情况,逐步进行分配,直到分配总量达到磁盘容量配置值为止。这样分配给各台虚拟机的磁盘总容量可以超过磁盘的实际容量。该模式能最大限度地提高磁盘使用率,但性能差。
③ 普通延迟置零模式:根据磁盘容量为磁盘分配空间,在创建时不会擦除物理设备上保留的任何数据,但后续在虚拟机首次执行写操作时会按需要将其置零。创建速度比普通模式快;IO性能介于普通模式和精简模式之间。
磁盘模式:有从属、独立-持久、独立-非持久3种模式。
① 从属模式:快照中包含该磁盘,更改将立即并永久写入磁盘。
② 独立-持久模式:快照中不包含该磁盘,更改将立即并永久写入磁盘。
③ 独立-非持久模式:当关闭虚拟机电源或恢复快照时,会放弃对此磁盘的更改,对磁盘所做的操作会失效。
总线类型有VIRTIO/IDE/SCSI。当创建虚拟机时,数据存储上创建的磁盘可以挂载在VIRTIO、IDE、SCSI总线上。没有特殊需求,该选项一般默认选择VIRTIO即可。
① VIRTIO性能较好。
② IDE性能较差,仅用于虚拟机镜像制作及虚拟机光驱。
③ SCSI可以选择指令透传或者不透传。
● 透传:虚拟机下发的SCSI命令直接透传给物理SCSI设备。
● 不透传:大部分SCSI命令由虚拟化层模拟,但是无法支持需要操作物理硬件的SCSI指令。
单击“网卡1”前的三角符号可展开“网卡1”选项,网卡设置如图2-9所示。在该图中,可以选择网卡在哪个端口组,选择网卡类型、IO环大小、队列数,以及是否开启安全组。
① 网卡类型:virtio,高网络吞吐量和降低网络延迟的网卡类型。
② IO环大小:通过适当地调大IO环,可以缓解前端驱动的丢包现象,提高性能。
③ 队列数:队列数取值不能超过虚拟机当前的vCPU数量。
④ 开启安全组:如果设置了安全组规则,可以选择开启。

图2-9 网卡设置
显卡设置。显卡有Cirrus与VGA两种,Cirrus显卡仅支持配置4 MB显存大小。VGA显卡有约束限制——使用VGA显卡需要GuestOS的支持。VGA显卡仅支持配置4 MB、8 MB、16 MB、32 MB、64 MB、128 MB和256 MB显存,建议使用16 MB的推荐配置。UEFI的Windows虚拟机仅支持配置VGA显卡,并且不支持通过VNC登录Windows修改分辨率。
软驱设置。Windows虚拟机才会添加软驱,一般保持默认的“自动匹配”即可。FusionCompute会根据虚拟机的操作系统,自动适配相应的驱动程序。
(3)选项设置
打开图2-5中“选项”选项卡,如图2-10所示,可以进行虚拟机的其他设置,具体说明如下。
① 时钟策略:如果勾选“主机时间同步”选项,则虚拟机的时间会受主机时间调整的影响。如果用户不希望应用虚拟机的时间受FusionCompute系统时间的影响,或用户能提供可靠的时钟源,则建议使用自由时钟策略。
② 系统引导固件:有BIOS和UEFI两种。UEFI为统一可扩展固件接口,是传统BIOS的继任者,兼容GPT分区格式,支持2 TB以上磁盘。此处选择BIOS。
③ 延迟时间(ms):选择0。
④ 启动方式:有硬盘启动、光驱启动、网络启动,该图中选择硬盘启动。
⑤ EVS亲和:当虚拟机EVS亲和开关开启、大页规格为1 GB且运行主机已配置用户态EVS时,EVS亲和性策略才生效,EVS亲和虚拟机CPU和内存与EVS转发核在同一物理NUMA节点分配。此功能需要特殊网卡才能开启。
⑥ VNC键盘配置:配置VNC的键盘类型,如英语、法语等。
⑦ 安全虚拟机:设置虚拟化防病毒功能开启或关闭,开启后可选择虚拟机类型如下。
● 安全服务虚拟机:为安全用户虚拟机提供病毒查杀、病毒实时监控服务的虚拟机,由防病毒厂商提供该虚拟机模板。
● 安全用户虚拟机:使用虚拟机防病毒功能的最终用户虚拟机。
⑧ NUMA结构自动调整:系统会根据虚拟机配置、NUMA高级参数以及物理主机NUMA配置自动计算虚拟机NUMA拓扑结构并设置虚拟机NUMA与物理NUMA亲和性,使虚拟机内存访问性能达到最优。

图2-10 虚拟机的其他设置
单击“下一步”按钮,进入“确认信息”界面,核对创建任务信息。单击“完成”,开始创建虚拟机。
(4)查看任务进度
单击FusionCompute界面左下角“近期任务”会弹出正在执行的任务和执行进度,也可以通过选择“系统管理”→“任务与日志”→“任务中心”,查看任务进度,如图2-11所示。后续各个实验中的许多操作,都可以采取相同方法查看任务进度。

图2-11 查看任务进度
(5)虚拟机列表
在FusionCompute界面展开“导航树”,选择“资源池”→“ManagementCluster”,在如图2-12所示的界面中单击“虚拟机”选项卡,便可以看到虚拟机列表。新创建的虚拟机是一台没有安装操作系统的空虚拟机,需要进一步安装操作系统。单击刚创建的“Windows 10”虚拟机,进入虚拟机Windows 10界面,如图2-13所示。

图2-12 虚拟机列表
(6)登录虚拟机
在图2-13中,如果虚拟机未开机,则先单击“打开电源”按钮,然后单击“VNC登录”按钮,弹出VNC登录界面(浏览器上要允许该弹窗),如图2-14所示。该界面就是虚拟机的显示画面,此时虚拟机没有操作系统,需要挂载ISO镜像并重启后进行安装,可以先将该界面关掉。
(7)挂载光驱
在图2-13中单击“配置”→“光驱”,如图2-15所示,选择本地方式安装。FusionCompute支持3种方式挂载ISO镜像,本次采用第一种——本地方式(后续实验会依次采用其他方式挂载ISO)。单击“确定”按钮,弹出图2-16,提示我们的计算机上没有安装FusionCompute插件,所以无法使用该功能。按图2-16中提示,单击蓝色的“链接”,下载名为FusionCompute-ClientIntegrationPlugin.exe的插件包并安装,然后重新进行上面的操作,则可以调用刚安装的插件。选择ISO文件对虚拟机进行光驱挂载。

图2-13 虚拟机Windows 10界面

图2-14 VNC登录界面
如图2-17所示,单击“文件(*.iso)”然后单击“浏览”选择自己本地的ISO镜像(本实验采用cn_windows_10_business_editions_version_1809_x64_dvd.iso),并勾选“立刻重启虚拟机,安装操作系统”,然后单击“确定”按钮。注意,在系统还未安装完成的时候,此挂载镜像的窗口最好不要关闭。

图2-15 选择本地方式安装

图2-16 提示没安装插件

图2-17 插件正常运行,挂载ISO
(8)安装操作系统
在图2-13所示的虚拟机Windows 10界面单击“VNC登录”按钮,弹出VNC登录界面,如图2-18所示,按照提示安装Windows 10。保持默认设置,单击“下一步”按钮。在弹出界面中单击“现在安装”按钮,在下一个界面选择安装“Windows10专业版”,然后单击“下一步”按钮。

图2-18 安装Windows 10
在接下来弹出的界面中,选中“我接受许可条款”,单击“下一步”按钮,并在弹出界面选择“自定义,仅安装Windows(高级)”,选择磁盘安装Windows,但会发现系统找不到磁盘。
如图2-19所示,单击“加载驱动程序(L)”,在弹出的对话框中直接选择“确定”按钮,系统会自动在A盘找到对应的virtio SCSI驱动(如果无法自动发现,可先在FusionCompute的Window 10虚拟机的配置界面中确认该虚拟机的软驱里挂载的是否为vmtools-windows-10.vfd),选择该驱动程序,单击“下一步”按钮,出现图2-20,此时系统已找到磁盘。虚拟机只有一个磁盘,因此默认时Windows就安装在该磁盘上,即选择磁盘安装Windows。直接单击“下一步”按钮,开始安装Windows。
(9)安装的Windows 10
安装完后,安装程序自动重新启动。首次开机可以按提示设置区域为“中国”、键盘布局为“拼音”,第二种键盘布局选择“跳过”,网络设置选择“我没有internet连接”和“继续执行有限设置”,使用账户名字可随意设置,如jack,密码为IE$cloud8!(也可以不设置),直接单击“下一步”按钮。后续的设置可以选择默认的“是”和“接受”,然后系统进行初始化,等待几分钟后就会自动登录系统了。新安装的Windows 10如图2-21所示。

图2-19 加载驱动程序

图2-20 选择磁盘安装Windows 10

图2-21 新安装的Windows 10
(10)安装Tools
操作该虚拟机,发现其没有网卡,因为还没安装virtio的网卡驱动程序。还需要在Windows 10里安装Tools。回到FusionCompute界面,在如图2-22所示的Windows 10虚拟界面单击“更多操作”,在弹出的菜单中选择“Tools”→“挂载Tools”,然后在弹出的界面中单击“确定”按钮,系统就把Tools以光碟形式挂载到虚拟机的光驱上。

图2-22 挂载Tools
回到Windows 10界面,如图2-21所示,单击下方任务栏的“文件资源管理器”,然后单击CD驱动器(D盘),如图2-23所示,虚拟机的光盘上已经挂载了Tools安装程序,双击“setup”即可。

图2-23 光驱里的Tools安装包
在如图2-24所示Tools软件的安装界面中勾选“I agree to the license terms and conditions”选项,单击“Install”按钮,开始安装Tools,安装完成后,单击“Restart”按钮,重新启动虚拟机。

图2-24 Tools软件的安装界面
(11)设置IP地址
安装好Tools后,在Windows左下角的搜索框内,输入“ncpa.cpl”然后回车,弹出网络连接界面。双击“以太网”,在弹出的窗口中,选择“属性”→“Internet协议版本4(TCP/IPv4)”,如图2-25所示,设置IP地址,选择“使用下面的IP地址(S)”将IP地址设置为192.168.1.0网段任意不冲突IP地址,如192.168.1.20。设置完成后,单击“确定”回到“以太网”界面,然后单击“确定”使得IP地址设置生效,弹出“以太网状态”对话框,单击“关闭”,关掉网卡设置界面。

图2-25 设置IP地址
在图2-13所示的虚拟机Windows 10界面单击“概要”选项卡,如图2-26所示,查看虚拟机的详细信息。从该图中可以看到,有关虚拟机的IP地址、CPU、内存使用率、网卡的发送/接收字节数、磁盘的使用率等信息。

图2-26 查看虚拟机的详细信息
(12)交付虚拟机
虚拟机安装完成后,需要交给用户使用。由于普通用户没有权限登录到FusionCompute使用VNC登录虚拟机,因此,可以把Windows 10的远程桌面功能打开,用户即可远程连接虚拟机。
2.1.2 在虚拟机上安装Linux操作系统
【背景知识】
Linux操作系统是除了Windows操作系统,正在被广泛使用的另外一类操作系统,特别是许多服务器安装的都是Linux操作系统。在虚拟机上安装Linux操作系统和在物理计算机上安装Linux操作系统没有太大区别,差别在于在虚拟机上安装Linux操作系统后,还需要安装一个Tools程序。和在Windows虚拟机上安装Tools类似,在Linux虚拟机上安装Tools也是为了提高虚拟机的I/O处理性能,实现对虚拟机的硬件监控和其他高级功能。
【实验内容】
① 创建一台空虚拟机。
② 在虚拟机上安装CentOS 7.6。
③ 在Linux虚拟机上安装Tools。
【实验步骤】
(1)创建一台空虚拟机
按照2.1.1节中介绍的实验步骤(1)~(3)创建一台空虚拟机,虚拟机的配置信息如图2-27所示。这台虚拟机的名称为“CentOS 7.6”,虚拟机的操作系统选择“Linux”,操作系统版本号选择“CentOS 7.6 64bit”。从图2-27可知,虚拟机的硬件配置为2vCPU、4 GB内存、40 GB硬盘,有网卡一张,在端口组“managePortgroup”上,其他选项保持默认值。

图2-27 虚拟机的配置信息
(2)给虚拟机挂载ISO镜像并安装操作系统
新创建的空虚拟机启动后,就可以给虚拟机挂载ISO镜像并安装操作系统,本次将采用第二种挂载ISO的方法——共享方式。
先在管理员计算机上将存放镜像的目录共享,右键单击待共享目录,在弹出的菜单中选择“属性”,然后单击“共享”选项卡,单击“共享(S)”按钮,如图2-28所示,设置共享目录,可直接共享给内置的账户(账户必须有密码)。

图2-28 设置共享目录
回到FusionCompute页面,展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”,单击“CentOS 7.6”,在出现的界面中单击“配置”→“光驱”选择共享方式,如图2-29所示,填写共享文件的路径。共享路径填写格式为\\共享服务器的IP地址\共享文件夹名称\系统镜像名(后缀必须为iso),如“\\192.168.1.2\iso\CentOS-7.6-x86_64-DVD-1810.iso”。然后,填写有共享权限的用户名和密码,勾选“立即重启虚拟机,安装操作系统”,单击“确定”按钮。
(3)安装Linux操作系统
在虚拟机管理界面单击“VNC登录”按钮,在60秒倒计时内选择“Install CentOS 7”,等待约10秒后会出现语言选择界面,可以选择英文或者中文,单击“Continue”按钮。

图2-29 选择共享方式挂载ISO
CentOS安装配置界面如图2-30所示,可以在这里完成CentOS的全部设置。单击“INSTALLATION DESTINATION”进入配置磁盘界面,直接单击左上角的“Done”,磁盘就会自动设置分区,并返回图2-30所示界面。

图2-30 CentOS安装配置界面
单击“SOFTWARE SELECTION”可选择所要安装的软件,如图2-31所示,选择“Compute Node”,选择计算节点,然后单击左上角的“Done”按钮,返回图2-30所示界面。

图2-31 选择计算节点
单击“NETWORK&HOST NAME”,配置主机名和网络,然后单击右下角的“Configure”按钮,在弹出的对话框中配置网络,如图2-32所示。打开“IPv4 Settings”选项卡,将Method设置为“Manual”;单击“Add”按钮,接着填写一个没被使用的IP地址,如192.168.1.30/24,并将网关设置为192.168.1.254,然后单击“Save”按钮。

图2-32 配置网络
在弹出的如图2-33所示的对话框中,保持eth0的状态为“ON”,在“Host name”文本框中输入主机名“CentOS”,单击“Apply”按钮使其生效,最后单击“Done”按钮完成IP地址和主机名设置,返回图2-30所示界面。

图2-33 完成IP地址和主机名设置
此时主要设置已经完成,其他设置,例如,语言、时区等可以保持默认设置,单击右下角的“Begin Installation”按钮开始安装操作系统。在安装期间必须设置root账户的密码,如图2-34所示。当安装完成后,单击“Reboot”按钮重启,将出现Linux的经典命令行登录界面。可尝试用root账户和刚设置的root密码登录,成功登录Linux如图2-35所示。

图2-34 设置root密码

图2-35 成功登录Linux
(4)挂载Tools
回到FusionCompute主窗口,展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”,单击“CentOS 7.6”虚拟机,如图2-36所示,单击“更多操作”,在弹出的菜单中选择“Tools”→“挂载Tools”。此刻,提示会断开已经挂载的光驱,将Tools挂载到虚拟机的光驱上。

图2-36 挂载Tools
(5)安装Tools
在图2-36中单击“VNC登录”按钮,用root账户登录,如图2-37所示,安装Tools,然后执行图中命令。
图2-37中部分指令详解如下:


图2-37 安装Tools
(6)检查Tools是否安装成功
虚拟机重启后,单击图2-36中的“概要”选项卡,检查Tools是否安装成功,如图2-38所示。从图2-38中可知,Tools的状态为运行中,表明安装成功。

图2-38 检查Tools是否安装成功
2.1.3 虚拟机的基本操作
【背景知识】
创建虚拟机之后,可以开、关虚拟机,可删除虚拟机,可复制、导出虚拟机,也可迁移虚拟机等。本节介绍部分操作,其余操作在其他章节陆续介绍。
【实验内容】
对虚拟机进行打开电源等基本操作。
【实验步骤】
(1)启动虚拟机
在FusionCompute界面展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”,单击虚拟机“Windows 10”,在如图2-39所示的虚拟机界面中,单击“打开电源”按钮,在弹出的对话框中单击“确定”按钮,在随后弹出的提示框中单击“确定”按钮。当虚拟机的状态变为“运行中”时,表示启动虚拟机成功。

图2-39 打开电源
(2)休眠虚拟机
在图2-40中单击“更多操作”→“电源”→“休眠”,在弹出的对话框中单击“确定”按钮,在弹出的提示框中继续单击“确定”按钮,休眠虚拟机。
(3)关闭虚拟机
在图2-40中单击“关闭”或者“更多操作”→“电源”→“强制关闭”便可关闭虚拟机。
① 关闭:采用操作系统自带的关闭方式,会自动保存数据,安全性高,但关闭时间较长。正常状态下建议使用该方式。虚拟机需要安装Tools才支持该方式。
② 强制关闭:直接关闭虚拟机,可能导致虚拟机磁盘数据受损,虚拟机操作系统异常,虚拟机未安装Tools或者无法正常关闭时,才可使用强制关闭方式。

图2-40 休眠
(4)重启虚拟机
在图2-40中单击“更多操作”→“电源”→“重启”或者“强制重启”便可重启虚拟机。
① 重启:采用操作系统自带的重启方式,会自动保存数据,安全性高,但关闭时间较长。正常状态下建议使用该方式。虚拟机需要安装Tools才支持该方式。
② 强制重启:直接重启虚拟机,虚拟机未安装Tools或者操作系统出现故障时建议使用该方式。
(5)删除虚拟机
可以删除不再使用的虚拟机,使系统可以回收该虚拟机占用的资源。虚拟机被删除后,系统会自动将该虚拟机的所有虚拟机快照删除。删除虚拟机的方式有安全删除和普通删除两种。
① 安全删除:通过覆盖性擦写对磁盘空间进行删除,避免数据被恢复,安全性高,但删除速度较慢,且在删除时会占用系统资源。
② 普通删除:通过破坏磁盘文件系统对磁盘空间进行删除,删除速度快,但存在通过残余信息恢复数据的可能性,安全性差。
在图2-40中单击“普通删除”或者“更多操作”→“安全删除”,在弹出对话框中选择“立即删除”或“推后删除”。
① 立即删除:立刻执行删除操作。
② 推后删除:需要设置推后删除的时间,在该时间段内,虚拟机资源不释放,虚拟机状态为“回收中”,可以手动恢复。如果选择“推后删除”,需要输入时间,取值范围为1~168,单位为秒。
在实际工作中,为避免发生误删,建议选择“推后删除”,当发现删错虚拟机后,还可以及时挽回。
2.1.4 虚拟机调整——CPU和内存
【背景知识】
创建虚拟机之后,虚拟机的CPU、内存、磁盘和网卡等仍然可以调整,如同一台物理的计算机一样,可以增加内存、磁盘和网卡。
【实验内容】
调整已有虚拟机的CPU和内存。
【实验步骤】
(1)调整虚拟机的CPU属性
展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”,单击“Windows 10”虚拟机,在弹出的界面中单击“配置”选项卡,选择“硬件”→“CPU”,如图2-41所示,调整虚拟机的CPU属性。

图2-41 调整虚拟机的CPU属性
内核数:虚拟机内核数。为保证虚拟机的计算性能,建议虚拟机的内核数不要超过主机的物理CPU核数。
每个插槽的内核数:设置虚拟机的CPU可平均分为多组,每组的一个或多个CPU内核由一个物理CPU的一个或多个内核来提供。每组的CPU数量即为每个插槽的内核数。
份额:CPU资源份额,表示在资源处于竞争的情况下,虚拟机获得CPU资源的权重。份额定义了虚拟机的相对优先级或重要性。例如,如果某一台虚拟机的资源份额是另一台虚拟机的两倍,这台虚拟机将优先消耗两倍的资源。
预留(MHz):CPU资源预留,表示虚拟机获得的最低计算能力。例如,当服务器CPU为2.4 GHz,CPU个数配置为2时,预留量范围为0~4800 MHz,如果预留量配置为2000,则虚拟机可获得的计算能力不低于2000 MHz。
限制(MHz):CPU资源限制,表示虚拟机获得的最大计算能力,等于最多可获得内核数×每核CPU频率。例如,当服务器CPU为2.4 GHz,CPU个数配置为2时,预留量范围为480~4800 MHz,如果限制为2000,则虚拟机可获得的最大计算能力为2000 MHz。

图2-42 热添加开关
热添加是一种虚拟机在不关机的状态下增加CPU(减少CPU必须重启)的功能。在虚拟机不关机状态下,单击“高级”→“CPU/内存热添加”→“设置”,如图2-42所示,打开CPU热添加开关。不同的操作系统对CPU和内存的热添加功能支持度不一样,如果热添加开关无法打开,则表示该操作系统不支持热添加功能。
(2)调整虚拟机的内存
展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”,单击“Windows 10”虚拟机,在弹出的界面中单击“配置”选项卡,选择“硬件”→“内存”,如图2-43所示,通过输入虚拟机内存大小或者设置虚拟机内存资源来控内存,以达到调整虚拟机的内存的目的。
份额:表示在资源处于竞争的情况下,虚拟机获得内存资源的权重。份额定义了虚拟机的相对优先级或重要性。例如,如果某一台虚拟机的资源份额是另一台虚拟机的两倍,这台虚拟机将优先消耗两倍的资源。
预留(MB):虚拟机预留的最低物理内存资源,表示系统保证虚拟机可使用的最少必要内存资源量。
限制(MB):FusionCompute 6.5.1及之前版本不能修改,默认值为0。FusionCompute 8.0后版本能修改。
大页配置:即大页规格,支持未开启、2 MB、1 GB三种配置。大页配置的大小具体可根据业务场景进行选择。
与CPU的热添加一样,某些系统的虚拟机也能实现内存的热添加,同样需要在虚拟机关机状态下将其打开。

图2-43 调整虚拟机的内存
2.1.5 虚拟机调整——磁盘
【背景知识】
创建虚拟机之后,虚拟机的CPU、内存、磁盘、网卡等仍然可以调整,如同一台物理计算机一样,可以增加内存、磁盘和网卡。
【实验内容】
① 调整已有虚拟机的磁盘,并在Windows虚拟机上将磁盘(C盘)扩容。
② 给Windows虚拟机增加一块新磁盘。
③ 给Linux虚拟机增加一块新磁盘。
【实验步骤】
(1)增加磁盘容量
展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”,单击“Windows 10”虚拟机,在弹出的界面中单击“配置”选项卡,选择“硬件”→“磁盘”,出现图2-44,由图2-44可知,该虚拟机有一块40 GB的磁盘。单击“调整容量”(一般信息会显示不完全,可以将页面下方的滚动条向右滑动),在弹出的对话框中输入调整后的容量60,单击“保存”按钮,在弹出的对话框中单击“确定”按钮,调整虚拟机的磁盘容量,完成增加磁盘容量的操作(磁盘容量只能增加,不能减少),接着单击所在界面左下角的“近期任务”可查看任务进度。大部分系统在安装Tools后,都支持在线增加磁盘容量,少数系统需要重启虚拟机,才能使磁盘增加的容量生效。

图2-44 调整虚拟机的磁盘容量
(2)扩展磁盘容量
单击“VNC登录”按钮登录虚拟机,在Windows 10虚拟机左下角的搜索栏里输入“compmgmt.msc”并按回车键,会弹出“计算机管理”窗口,选择“存储”→“磁盘管理”,发现在磁盘0上出现了20 GB未分配的空间。如图2-45所示,右键单击C盘位置,在弹出的菜单中选择“扩展卷”,按提示一直单击“下一步”按钮,将C盘容量扩展为60 GB,如图2-46所示。

图2-45 扩展卷

图2-46 磁盘被成功扩容
(3)绑定磁盘
① 在图2-44中,单击“绑定磁盘”按钮,弹出“绑定磁盘”对话框,如图2-47所示,因为没有未绑定的磁盘,所以无法直接选择磁盘,选择“创建并绑定磁盘”。

图2-47 选择“创建并绑定磁盘”
② 在弹出的如图2-48所示的对话框中,设置新磁盘的属性。在该图中选择新磁盘在哪个数据存储上创建,设置名称、容量、类型、配置模式、磁盘模式,绑定虚拟机使用的总线类型、磁盘IO模式和槽位号等。
将配置模式改为“精简”,其他保持默认,单击“确定”按钮,此时FusionCompute会在数据存储上创建一个10 GB的磁盘给虚拟机绑定。
磁盘的IO模式介绍如下。
● threads:通过起线程方式实现异步IO,可靠性高;
● native:实现本地异步IO,性能更好;
● dataplane:开启单独的IO线程,提升虚拟机多磁盘性能,但是对宿主的资源占用会增加。
槽位号:指定待绑定磁盘所属的总线的槽位号,不能与当前虚拟机磁盘已占用的同种总线的槽位号冲突。如不设置,将默认按顺序递增。
其他参数之前已介绍过,这里不再赘述。

图2-48 设置新磁盘的属性
(4)完成磁盘初始化
① 单击“VNC登录”按钮登录虚拟机,在虚拟机界面左下角的搜索栏里输入“compmgmt.msc”并按回车键,在弹出的“计算机管理”对话框中单击“磁盘管理”,弹出“初始化磁盘”对话框,直接单击“确定”按钮,如图2-49所示,完成Windows内的磁盘初始化。

图2-49 Windows内的磁盘初始化
② 右键单击新出现的“磁盘1”,在弹出的菜单中选择“新建简单卷”,如图2-50所示。然后按照提示给新磁盘分一个盘符“E”,选择“格式化”。完成上述操作后,就可以在虚拟机里看到新增加了一个10 GB的E盘。

图2-50 新建简单卷
(5)给Linux虚拟机添加磁盘
① 按照步骤(3),同样给Linux虚拟机绑定一块10 GB的磁盘。单击“VNC登录”按钮登录虚拟机CentOS 7.6,如图2-51所示,查看磁盘信息。

图2-51 查看磁盘信息
② 当使用root账户登录并输入指令“fdisk-l”后,发现增加了一个10.7 GB的空间,路径为/dev/vdb。接着输入“fdisk/dev/vdb”,如图2-52所示,对新磁盘进行初始化。
输入n新建分区,可以按四次回车键,选用默认设置。第一次用于选择primary与extended,第二次用于设定主分区编号,第三、四次用于设定起始和结束扇区,即设定空间大小(一般没特殊需求直接按回车键选择默认值即可),最后输入w保存设置。

图2-52 对新磁盘进行初始化
(6)格式化磁盘
磁盘初始化好后,必须格式化为某种文件系统后才能使用,如图2-53所示,输入“mkfs.ext4/dev/vdb”,将磁盘格式化为ext4格式。

图2-53 格式化磁盘
(7)挂载磁盘
Linux使用磁盘的方式和Windows的方式不一样,磁盘要挂载在某个路径下才可以使用。本例是在根目录下创建一个data目录,接着把新磁盘挂载在该路径下。可如图2-54所示,查看磁盘挂载情况。

图2-54 查看磁盘挂载情况
(8)测试
如图2-55所示,通过dd指令在/deta目录下创建一个164 MB的空文件。创建完成后,通过df指令查看使用率,可以判定写入data目录的数据就是存放在新磁盘里的。由图2-55可知,磁盘使用率提高了。

图2-55 磁盘使用率提高了
2.1.6 虚拟机调整——网卡
【背景知识】
创建虚拟机之后,虚拟机的CPU、内存、磁盘和网卡等仍然可以调整,如同一台物理计算机一样,可以增加内存、磁盘和网卡。因为给Windows虚拟机添加新网卡再设置IP地址比较简单,所以本实验只使用Linux虚拟机。
【实验内容】
① 添加虚拟机的网卡。
② 在Linux操作系统下给新网卡配置IP地址。
【实验步骤】
(1)添加网卡
① 展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”,单击“CentOS 7.6”虚拟机,在弹出的界面中选择“配置”→“网卡”→“添加网卡”,弹出如图2-56所示的“添加网卡”对话框。在该对话框中选择网卡类型和端口组,然后单击“确定”按钮。

图2-56 添加网卡
② 如图2-57所示,可以看到虚拟机上已经多出了一张新添加的网卡,但是没有IP地址,该图显示了网关的概况。

图2-57 网关的概况
(2)配置IP地址
① 单击“VNC登录”按钮登录虚拟机,如图2-58所示,输入“ip a”查看IP地址。找到了新网卡eth0。

图2-58 查看IP地址
② 复制网卡文件。新增加网卡要有一个对应的配置文件,如图2-59所示,进入存放网卡文件的目录(cd/etc/sysconfig/network-scripts),用cp指令将eth0的网卡文件(ifcfg-eth0)复制一份并改名字为ifcfg-eth1。

图2-59 复制网卡文件
③ 输入“vi ifcfg-eth1”用vi编辑器修改IP地址,如图2-60所示。输入“i”进入编辑模式,将“NAME”和“DEVICE”为eth0改为eth1,在“IPADDR=”处更改IP为192.168.2.30。将网关和DNS删除,其他参数可以保持默认,然后按“Esc”键退出编辑模式,然后输入“:wq”(记着输入冒号)。

图2-60 修改IP地址
④ 配置完成后重启网络服务。配置完网卡文件后还需要让网络服务重启,输入“systemctl restart network”,重新加载该文件。如图2-61所示,重启后网卡开始使用新IP地址。
图2-61 重启后网卡开始使用新IP地址

⑤ 稍等片刻后,输入“ip a”,IP地址显示正常。
2.1.7 虚拟机调整——其他
【背景知识】
虚拟机除了硬件资源能调整,还能设置它的其他属性,比如更改虚拟机的启动方式、设置虚拟机不能被删除等。
【实验内容】
调整已有虚拟机的其他属性。
【实验步骤】
(1)修改虚拟机的选项
展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”,单击待修改的虚拟机,如图2-62所示选择“选项”,可以修改虚拟机的选项。以修改启动方式为例,单击右侧窗格中“启动方式”,在“启动方式”下拉菜单中,选择从硬盘,或者从网络,或者从光盘启动,然后单击“确定”按钮。
虚拟机选项及其含义如表2-1所示。
(2)设置
除了“选项”中的配置,虚拟机的其他配置在“高级”中设置,如图2-63所示。

图2-62 修改虚拟机的选项
表2-1 虚拟机选项及其含义


图2-63 虚拟机的“高级”设置
虚拟机高级选项及其含义如表2-2所示。
表2-2 虚拟机高级选项及其含义

2.1.8 安全组设置
【背景知识】
安全组可以实现数据包过滤功能。FusionCompute使位于同一个安全组的所有虚拟机网卡都使用该安全组规则进行网络通信,一块虚拟机网卡只能加入一个安全组。FusionCompute的安全组采用白名单模式,可以添加规则放行指定的协议类型、网段、端口数据包。
【实验内容】
设置安全组,设置两条规则:只允许192.168.1.2~192.168.1.50网段通过3389端口访问虚拟机;只允许192.168.1.0/24网段进行ping操作。
【实验步骤】
(1)设置安全组
FusionCompute上的安全组只能设置白名单。登录FusionCompute,展开“导航树”,单击“资源池”→“安全组”,在弹出的“安全组”对话框中单击“添加安全组”,在弹出的“添加安全组”对话框中设置安全组的名字为“Security group”,然后单击“添加规则”,如图2-64所示。这里添加两条规则:一条规则只允许192.168.1.2~192.168.1.50网段使用远程桌面(3389端口),另一条规则只允许192.168.1.0/24网段进行ping操作。

图2-64 添加规则
(2)选择安全组
安全组设置需要在虚拟机创建之初进行,只有在配置网卡时才能开启安全组并绑定安全组规则。但由于之前创建虚拟机时并没有开启安全组功能,所以无法使用。可先将原网卡删除,然后给虚拟机新添加一张网卡,如图2-65所示,给网卡配置安全组,开启并绑定安全组(Security group)。

图2-65 给网卡配置安全组
这里使用的Windows 10虚拟机,新网卡没有IP地址,单击“VNC登录”按钮登录虚拟机,给虚拟机重新设置IP地址192.168.1.20。
(3)关闭防火墙
在Windows的左下角的搜索栏中输入“control”进入控制面板,单击“系统和安全”→“Windows Defender防火墙”→“关闭Windows Defender防火墙(不推荐)”,如图2-66所示,关闭防火墙。

图2-66 关闭防火墙
(4)开启远程桌面
在Windows 10的左下角的搜索栏中输入“sysdm.cpl”,会出现“系统属性”。单击“远程”按钮,勾选“允许远程连接到此计算机”,单击“确定”按钮,即可开启远程桌面功能。
(5)测试效果
在主机(自己操作的计算机)上(IP地址为192.168.1.2)ping Windows虚拟机,发现可以ping通,使用telnet 192.168.1.20 3389命令,发现是3389端口是通的。如果将主机的IP地址更换为192.168.1.150,再进行测试,发现能ping通Windows虚拟机,但使用telnet 192.168.1.20 3389命令,测试发现3389端口不通,如图2-67所示。

图2-67 测试发现3389端口不通