VM遭遇性能瓶颈原因一:硬件资源争用
你可以将VM的大多数性能问题归结为硬件资源争用。服务器虚拟化的基本理念就是将主机服务器的物理硬件划入能够在多个VM之间进行共享的资源池中。VM彼此竞争使用物理服务器的硬件资源,性能问题往往是由资源占线拉得太长而造成的。
VM遭遇性能瓶颈原因二:硬件仿真
VM遇到性能问题时,你应该先确保该VM没有使用硬件仿真技术。在理想情况下,你应该将物理硬件资源分配给VM;然而,hypervisor比如微软的Hyper-V以及VMware的vSphere为了支持旧有操作系统提供了硬件仿真特性。
VMware以及Hyper-V还提供了服务集合,允许hypervisor能够与客户操作系统进行交互。在VMware中,这一服务集合称之为VMware Tools,而微软称之为Hyper-V集成服务。尽管这不会直接关系到VM的性能,但如果VM没有安装相应的服务或者使用的服务版本不对,那么VM的性能将受到影响。
VM遭遇性能瓶颈原因三:磁盘I/O
与资源争用相关的性能问题通常源于磁盘I/O并发。以我的经验来看,当大量的VM使用共享磁盘阵列,所有VM所需要的磁盘I/O访问速度超过磁盘阵列的阈值时,问题就会发生。
降低存储I/O负担可能意味着要购买性能更高的磁盘阵列或者限制共享使用同一阵列的VM的数量。在某些情况下,这看起来并非一个艰巨的任务,但是有关虚拟服务器存储的以下两个方面往往很容易被忽略。
VM遭遇性能瓶颈原因四:虚拟服务器集群
生产VM往往是集群的一部分。VMware和微软都要求集群结点连接共享存储设备。因此,你可能会假定集群的限制与集群共享卷的限制直接相关。然而Hyper-V集群能够连接多个集群共享卷,这意味着单个存储阵列不用支撑整个集群。Windows Server 2012 Hyper-V完全消除了对集群共享卷的需求,但是在允许的情况下微软仍旧建议使用集群共享卷。
有关虚拟服务器存储很容易被忽略的另外一个方面就是你不只拥有一个主机服务器集群。VMware环境中通常使用多个集群来隔离工作负载并减少资源争用。
除了存储I/O外,内存,CPU核心数以及网络带宽都可能会导致硬件资源争用。通过使用性能监控,你可以确定产生性能瓶颈的具体原因。
VM遭遇性能瓶颈原因五:配置不正确
和硬件仿真以及资源争用相关的问题是虚拟服务器出现性能问题的最为常见的原因,但是还存在其他的原因。一些配置问题也可能会导致性能问题的发生。
在几个月之前,我遇到了一台被虚拟化的Exchange 2000邮件服务器,已经慢到了无法使用的地步。虚拟服务器需要花费10到20秒才能响应一次鼠标点击。
在这种情况下,VM的虚拟网络适配器意外地连接到了错误的虚拟交换机上,而该虚拟交换机额连接到了错误的虚拟网络。Exchange服务器无法与域控制器进行通信。Exchange邮件服务器严重地依赖域控制器,无法联系会导致性能问题。
如果你对配置进行监控并观察硬件资源争用情况,那么就可以避免大多数VM性能问题的发生
我们现在已经基本掌握了Vmware ESXi 7.0镜像的定制方法(如何私人定制VMWare ESXi 6.7和7.0的安装镜像?)和部署方法(VMWare ESXi 7.0的磁盘空间莫名少了120 GB?看这里!),掌握了vCenter 7.0的部署方法(VMware vCenter Server 7.0快速部署操作指南),并且测试了虚拟机的热迁移操作(vCenter 7.0的热迁移配置操作指南)。我们前面在部署ESXi 7.0时,发现系统中多了一块120 GB的VMFS-L(VMFS Local)磁盘空间,是针对并发群集操作进行了特定优化的VMFS文件系统。我们也测试了调整VMFS-L分区的两种主要方法,分别是通过ESXi 6.x版本进行升级,以及通过手工设定分区大小来实现。
我们在vCenter中纳管了主机之后,集群状态为空,HA状态为不可用。
这就说明要使用集群功能,就要单独进行配置,那我们今天就来尝试配置一下vCenter的集群功能。
创建集群
点击数据中心“操作”选项中的“新建集群”。
在基础配置页面,我们把vSphere DRS和vSphere HA这两个功能开启,暂时不开启vSAN功能。
下面的“使用单个映像管理集群中的所有主机”就不开了,这个功能主要用于对集群中的所有ESXi主机进行版本同步,和IRF一样,从而消除ESXi主机之间差异。我们的主机版本都是一致的,就不配置此功能了。
检查要创建的集群的详细信息,点击“完成”。
创建集群完成之后,我们就会自动跳转到集群配置的“快速入门”页面,在此页面,我们可以按照提示快速配置集群。
第一步是“集群基础知识”,主要用于修改集群的名称和3个服务的启用状态,和我们前面的创建操作基本一致。
添加主机
第二步是“添加主机”,可以将新主机和现有主机添加到集群中。点击页面的“添加”按钮,进入添加主机页面。
我们添加一台新主机192.168.1.34,按照要求依次填写主机的IP地址、用户名和密码信息;如果要添加多台,点击下面的“添加主机”按钮即可。
然后我们再从现有的2台主机中选择192.168.1.36这台,也添加到集群中。然后点击“下一页”。
因为192.168.1.34是新添加的主机,如果出现证书的安全警示,直接“确定”即可。
查看要添加的主机的摘要信息。
最后有一个提示,在移至集群之前,主机将进入维护模式。对于已打开电源和已挂起的虚拟机,可能需要手工操作关闭电源或迁移虚拟机。确认没有问题后,点击“完成”。
等待几分钟之后,可以看到2台ESXi主机的添加状态。
从数据中心视图中,可以看到两台主机已经被成功添加到集群中,并且处于“维护模式”。
配置集群
接下来进入第3步“配置集群”,点击页面中的“配置”按钮。
首先配置“Distributed Switch/分布式交换机”,需要配置ESXi主机的一台物理适配器连接到vMotion网络。
然后配置vMotion流量所使用的的IP地址和VLAN信息,可以使用默认配置,也可以按需调整。
在自定义集群设置的高级选项中,我只是把vSphere HA下面的“虚拟机监控”选项开启了,其他保持默认配置。
最后检查集群的所有配置信息,确认无误后点击“完成”。
从“近期任务”中我们大概可以看到集群的配置过程,包括网络配置(配置分布式交换机、添加分布式端口组、更新ESXi主机网络配置)、虚拟机配置(部署vCLS的OVF模板、配置vCLS虚拟机)和ESXi主机的集群选举等等。
最后我们可以看到主机配置成功的状态显示。
再次查看主机状态,现在已经看到主机属于新建的“集群1”。
但是状态这里有个警告,我们查看一下告警详情。
发现告警信息为“该主机的 vSphere HA 检测信号数据存储数目为 0,少于要求数目: 2”。产生的原因是vCenter配置vSphere HA时,DataStore HeartBeat(数据存储心跳检测)功能要求集群下的所有ESXi主机之间至少有两个共享数据存储才能正常运行数据存储检测信号。
解决方案一般有两种,第一种方案是关闭数据存储检测信号,但是这种方式治标不治本,我们就不介绍了。第二种方案就是真正去配置共享存储,这也是我们前面介绍NFS配置方法的原因(Windows Server2012 R2搭建NFS服务器、CentOS 7搭建NFS服务器)。
我们先添加一个,发现告警信息有变化。
说明问题原因和解决方案相匹配,然后我们意外发现Windows的共享好像不是很好使,新增之后竟然没有数量变化,我就只好又新建了一个Linux的NFS共享。再次配置连接Linux的NFS共享之后,告警就消失了。
不过过了一会,Windows的NFS共享也生效了,也不知道为什么,很尴尬。
最后再看一下集群的状态。
主机状态正常,HA状态正常,完美!
理论上可以的,vmware虚拟机和云服务器其实和传统物理服务器用起来没差别。但如果你说的云服务器是公有云,是vmware在你的局域网,不推荐组合起来搭建hadoop,因为互联网的网络延迟比本地高,集群会不稳,非要做的话,vmware虚拟机需要用dnat映射地址到公网欢迎分享,转载请注明来源:夏雨云
评论列表(0条)