华为云计算HCIA实验指南(第二版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3 快照管理与虚拟机QoS

2.3.1 快照管理

【背景知识】

快照是虚拟机在某个时间点状态的复本,可以是磁盘快照、内存快照或者是磁盘和内存两者的快照。在虚拟机发生故障或需要还原数据时,使用虚拟机已有的快照,可以将虚拟机的数据恢复至该快照创建时刻的状态。快照是虚拟化很重要的一个功能,可以在升级系统(虚拟机)前创建快照,如果升级失败,可利用快照回退到升级前的状态。在创建快照时,当前磁盘被置为只读,系统自动在磁盘所在数据存储中创建增量磁盘,后续对该磁盘数据的编辑将保存在增量磁盘中,即增量磁盘表示磁盘当前状况和上次执行快照时的状况之间的差异。当对该磁盘再次创建快照时,原磁盘和当前增量磁盘均被置为只读状态,系统会在数据存储中再创建一个增量磁盘。

【实验内容】

① 为虚拟机创建快照。

② 使用快照还原虚拟机。

【实验步骤】

(1)创建快照

在FusionCompute界面展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”→“CnetOS 7.6”,在弹出的界面中单击“创建快照”,弹出“创建虚拟机快照”对话框,如图2-88所示。

图2-88 创建虚拟机快照

在虚拟机处于运行中状态时,如果勾选“内存快照”,则在快照创建时会保存虚拟机当前内存中的数据;如果勾选“一致性快照”,则在快照创建时会将虚拟机当前未保存的缓存数据先保存,再创建快照。

勾选“一致性快照”后,无法选择“内存快照”。“一致性快照”一般只有Windows操作系统的虚拟机才支持。

如图2-88所示,“一致性快照”和“内存快照”都不勾选,单击“确定”按钮,在接着弹出的提示框中单击“确定”按钮,完成创建快照。

快照创建完成后,如图2-89所示,单击“快照”选项卡,可查看虚拟机的内存快照信息。

图2-89 查看虚拟机的内存快照信息

(2)让虚拟机自毁文件

快照完成后,单击“VNC登录”按钮登录Linux虚拟机,用root权限登录,接着输入指令“rm-rf/*”,然后回车,如图2-90所示,让虚拟机自毁全部文件。文件被删除后,虚拟机将无法使用。

图2-90 让虚拟机自毁全部文件

(3)恢复虚拟机

如图2-91所示,单击“快照”选项卡,接着单击快照“Snapshot 1”→“恢复虚拟机”,在弹出对话框中单击“确定”按钮,恢复虚拟机。此时,可单击界面左下角的“近期任务”查看任务进度。

图2-91 恢复虚拟机

(4)删除快照

在图2-91中,单击“快照”选项卡,接着单击快照“Snapshot 1”→“删除”,在弹出对话框中删除速率保持默认,单击“确定”按钮,接着在弹出提示框中单击“确定”按钮,删除快照。此时,可单击界面左下角的“近期任务”查看任务进度。

(5)打开虚拟机的计算器

在FusionCompute界面展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”→“Windows 10”,单击“VNC登录”按钮登录Windows 10虚拟机,如图2-92所示,打开虚拟机的计算器,随便输入一些数值。

(6)创建内存快照

在FusionCompute的虚拟机界面单击“创建快照”按钮,弹出如图2-93所示的“创建虚拟机快照”对话框,在该话框中输入快照名称(Snapshot-2)和描述信息并勾选“内存快照”,然后单击“确定”按钮。

图2-92 打开虚拟机的计算器

图2-93 “创建虚拟机快照”对话框

(7)将虚拟机关机

在Windows 10虚拟机界面单击“关闭”按钮,将虚拟机关机。

(8)恢复虚拟机

在Windows 10虚拟机界面单击“快照”选项卡,然后选择快照“Snapshot-2”→“恢复虚拟机”,在弹出对话框中单击“确定”按钮,恢复虚拟机。

(9)登录虚拟机查看状态

待虚拟机恢复快照完成后,单击“VNC登录”按钮登录虚拟机,虚拟机此时的状态恢复到关机前用计算器的状态,显示的数字与图2-92中的一样。

2.3.2 虚拟机的QoS

【背景知识】

在一台主机上可以运行多台虚拟机,这些虚拟机需要CPU和内存资源。如果这些虚拟机所需要的CPU和内存资源超过了主机能够提供的总资源,虚拟机将发生竞争。可以通过设置虚拟机的QoS(服务质量)来控制不同虚拟机在竞争时将获取多少资源。

【实验内容】

① 设置虚拟机的CPU资源控制。

② 设置虚拟机的内存资源控制。

③ 设置虚拟机的磁盘资源控制。

【实验步骤】

(1)查看主机、集群的CPU和内存资源情况

① 在FusionCompute界面展开“导航树”,选择“资源池”→“ManagementCluster”→“CNA1”,在弹出的界面中单击“配置”选项卡,选择“硬件”→“处理器和BIOS”,如图2-94所示,可以看到主机的CPU资源。从图2-94中可知,该主机有2个CPU,每个CPU为16核、32线程,主频为2.1 GHz,理论上总的CPU容量为2×32×2.1 GHz=134.4 GHz。

图2-94 主机的CPU资源

② 打开“配置”选项卡,单击“内存”可以查看主机的内存情况。本主机为4条32 GB内存,共128 GB。

③ 选择“资源池”→“ManagementCluster”→“CNA1”,打开“概要”选项卡,在弹出的窗格中,可以查看主机CNA1的可用CPU资源和内存资源,如图2-95所示。主机在安装FusionCompute时,FusionCompute本身会占用CPU和内存资源,主机的CPU和内存资源减去FusionCompute占用的资源,剩余的就是总容量。从图2-95中可知,CPU总容量为121.8 GHz、内存总容量为115.69 GB,因此可以计算出FusionCompute占用了134.4-121.8=12.6 GHz的CPU资源和128-115.69=12.31 GB的内存资源。

图2-95 主机CNA1的可用CPU资源和内存资源

主机CNA2的可用CPU资源和内存资源如图2-96所示,从图2-96中可知,CPU、内存的可用容量是主机(CNA2)还未分配出去的资源。主机CNA1上正在运行VRM、Windows 10虚拟机,所以资源被分配出去了一部分。主机CNA2上没有虚拟机在运行,所以资源未分被配出去,已用容量等于0。

④ 如果查看的是整个集群(ManagementCluster)的概要,而不是单台主机,则集群的资源是集群中各主机资源的总和。

(2)设置虚拟机的CPU QoS

在FusionCompute界面展开“导航树”,选择“资源池”→“ManagementCluster”→“虚拟机”→“Windows 10”,如图2-97所示,选择“硬件”→“CPU”,设置虚拟机的CPU QoS,从该图中可以看到虚拟机CPU的详细信息,包含QoS选项。

在内核数下拉列表中,可以选择虚拟机的CPU核数,由于主机(物理服务器)的主频为2.1 GHz(2100 MHz),则虚拟机CPU资源为2×2.1 GHz=4200 MHz。实际上,并不是如此简单,虚拟机最终获得多少CPU资源与CPU资源控制选项的配置有关,也与虚拟机所在主机当前的资源紧张程度有关,该4200 MHz值只是该虚拟机能够获取的最大值。

图2-96 主机CNA2的可用CPU资源和内存资源

图2-97 设置虚拟机的CPU QoS

CPU“预留(MHz)”项的值可以调整,假如调整为100 MHz。当虚拟机开机时,主机会先为它预留100 MHz,就是说保证该虚拟机有100 MHz的CPU资源,防止主机无法分配到足够的资源,导致虚拟机异常。当“限制(MHz)”选项被设置为0时,并不是指虚拟机可以无限制使用CPU资源,实际上,虚拟机的CPU核数限制了虚拟机能够获取的最多的CPU资源,也就是2个vCPU最多有4200 MHz。如果将“限制(MHz)”选项设置为1000,该值也会限制虚拟机能够获取的最多的CPU资源为1000 MHz。简言之,预留值是最低的资源数量,而限制值是最高的资源数量。

如果主机的资源很充足,虚拟机不需要竞争,则虚拟机将按照限制值获得资源数量。一旦主机的资源不足,例如,主机CPU资源总量为42 GHz,但是有30个虚拟机正在运行,每个虚拟机有4个vCPU,而且都将“限制(MHz)”选项设置为0(即选择不限),则虚拟机就要竞争资源了。虚拟机的份额值将决定它能获得的资源数量,份额值是相对值。

例子1:主机总CPU资源为42000 MHz(已经去除了FuisonCompute占用的资源),每线程为2.1 GHz,共有30台虚拟机正在运行。其中10台虚拟机有4个vCPU,预留值为100 MHz,份额为中(2000),选择不限;另外20台虚拟机有2个vCPU,预留值为200 MHz,份额为高(4000),选择不限,则10台虚拟机先获得预留值100 MHz,20台虚拟机先获得预留值200 MHz。剩余资源为42000-10×100-20×200=37000 MHz。虚拟机总份额为10×2000+20×4000=100000,每1000份额将获得的资源为37000×1000/100000=370 MHz,则:

10台虚拟机获得的资源=100+2×370=840 MHz

20台虚拟机获得的资源=200+4×370=1680 MHz

例子2:主机总CPU资源为42000 MHz(已经去除了FuisonCompute占用的资源),每线程为2.1 GHz,共有10台虚拟机正在运行。其中5台虚拟机有2个vCPU,预留值为100 MHz,份额为中(2000),限制值为2000 MHz;另5台虚拟机有2个vCPU,预留值为200 MHz,份额为高(4000),选择不限。因为主机总资源42000 MHz,大于5×2000+5×4200=31000 MHz,虚拟机不需要竞争资源,前5台虚拟机各获得2000 MHZ,后5台虚拟机各获得4200 MHZ。

(3)设置虚拟机的内存QoS

在图2-98中,选择“硬件”→“内存”,可以设置虚拟机的内存QoS。虚拟机的内存QoS和CPU QoS非常类似,有两点稍微不同。第一点是6.5.1版本的FusionCompute内存的“限制(MB)”选项不能自由设置数值(FusionCompute 8.0之后版本才能设置);第二点是内存的“预留(MB)”选项值要生效,需要先开启集群的内存复用功能。

在FusionCompute界面展开“导航树”,选择“资源池”→“ManagementCluster”,在弹出的界面中单击“集群资源控制”按钮,如图2-99所示选中主机内存复用的“开启”选项,开启集群的内存复用功能。通过采用内存复用技术,可将物理内存虚拟出更多的内存供虚拟机使用,使虚拟机内存规格总和可以大于主机物理内存,最终提高主机的虚拟机密度。

(4)设置磁盘QoS

在图2-100中单击“磁盘”,然后单击右侧的“更多”,在弹出的菜单中选择“设置磁盘IO上限”,可以设置该磁盘的最大读出字节、最大写入字节、最大读写字节、最大每秒读请求个数、最大每秒写请求个数、最大每秒读写请求个数,换言之,设置的是磁盘的QoS。

图2-98 设置虚拟机的内存QoS

图2-99 开启集群的内存复用功能

图2-100 设置磁盘的QoS