doc
作者doc·2017-12-22 09:31
项目经理·长春理想

企业主流虚拟化平台(powervm、vmware、Citrix等)运维难点、故障诊断与处理深度探讨总结

字数 6527阅读 2511评论 0赞 2

企业主流虚拟化平台(powervm、vmware、Citrix等)运维难点、故障诊断与处理深度探讨总结

现在越来越多的企业都部署了虚拟化,主流的虚拟化平台有powervm、vmware、Citrix等,随着虚拟机的使用也越来越多,对虚拟机的运维及故障处理成了运维人员的一项新的日常工作,例如powervm的备份、powervm的集中管理、vmware网络优化、Citrix应用停止响应等故障的处理。
本次活动主要从以下几点与大家交流学习,包括x86服务器的虚拟化、power服务器的虚拟化、虚拟化平台的部署、虚拟化运维技巧分享、运维难点的解决等方面。
以下是本次交流的议题:
1、powervm、vmware、Citrix几种虚拟化平台的对比?
2、powervm如何实现集中管理?
3、powervm备份方式与传统的备份有哪些差别?如何实现?
4、如何优化vmware的网络设计实现网络高可用?
5、如何处理Citrix平台上发布的应用无法使用的问题?
6、企业中的哪些业务系统可以迁移到虚拟化平台上来?
7、企业现有的业务系统迁移到虚拟化平台之前需要做哪些准备工作?
8、虚拟化平台的运维技巧有哪些?
9、商业虚拟化架构与开源虚拟化架构的优势对比?
powervm备份方式与传统的备份有哪些差别?如何实现?
VIO Server其实是一个经过封装的AIX,它的备份恢复有两种方式,一种为NIM备份恢复,但在恢复时一定注意把“是否作为NIM server的client标记为否”,另一种是viosbr命令进行备份恢复。
VIO Client的备份与传统的备份相同,操作系统可以通过NIM备份恢复,其它的也可以用备份软件实现lan-free的备份恢复。
PowerVM不多的情况下,我觉得用磁带机做个操作系统备份就可以了。毕竟操作系统级别的备份不用做得那么频繁。客户分区可以采用磁带机的方式,当然这会有很多次的设备映射操作,比较麻烦。可以在VIOS上做个虚拟镜像库。
powervm如何实现集中管理?
PowerVC,这个是基于openstack架构开发的,它可以对PowerVM进行纳管,实现图形化的快速部署与维护。
powervm、vmware、Citrix几种虚拟化平台的对比?
powervm适用于power主机虚拟化,vmware适用于x86服务器虚拟化,citrix适于用桌面虚拟化。
powervm.png

powervm.png

vmeare.png
vmeare.png

powervm vmware.png
powervm vmware.png

如何处理Citrix平台上发布的应用无法使用的问题?
发现Citrix上发布的应用程序用不了,登录Citrix客户端报CGP错误。登录到Xenapp服务器检查日志错误来源Reliability Server,描述为Unable to connect to the CGP tunnel destination (127.0.0.1:1494),服务器前一天晚上有自动重启的记录。前一天一切应用还是正常的,怀疑跟系统升级补丁有关系,选择卸载掉所有前一天更新的补丁,重启服务器,再测试Citrix 一切应用正常。因为当时急着用,所以没有一个一个补丁去卸载做测试,初步判断跟.net的补丁关系最大。随后关掉了该服务器的自动更新。
商业虚拟化架构与开源虚拟化架构的优势对比?
ESX的物理驱动是内置在Hypervisor中,所有设备驱动均是由VMware预植入的。因此,ESX对硬件有严格的兼容性列表,不在列表中的硬件,ESX将拒绝在其上面安装。
Hyper-V的Hypervisor是一个非常精简的软件层,不包含任何物理驱动,物理服务器的设备驱动均是驻留在父分区的Windows Server 2008中,驱动程序的安装和加载方式与传统Windows系统没有任何区别。因此,只要是Windows支持的硬件,也都能被Hyper-V所兼容。
XEN的Hypervisor层非常薄,少于15万行的代码量,不包含任何物理设备驱动,这一点与Hyper-V是非常类似的,物理设备的驱动均是驻留在Dom 0中,可以重用现有的Linux设备驱动程序。因此,XEN对硬件兼容性也是非常广泛的,Linux支持的,它就支持。
KVM利用修改的QEMU提供BIOS、显卡、网络、磁盘控制器等的仿真,但对于I/O设备(主要指网卡和磁盘控制器)来说,则必然带来性能低下的问 题。因此,KVM也引入了半虚拟化的设备驱动,通过虚拟机操作系统中的虚拟驱动与主机Linux内核中的物理驱动相配合,提供近似原生设备的性能。从此可 以看出,KVM支持的物理设备也即是Linux所支持的物理设备。
企业中的哪些业务系统可以迁移到虚拟化平台上来?
可以从非核心业务系统开始迁移到虚拟化平台,检测这些业务系统的运行状况,并积累一定的运维经验
基本上都可以仿造虚拟化平台,如办公应用、生产业务等,不过负载比较大的数据库、图形设计、高性能计算和大数据应用不适合。
每个企业的情况不同。业务也不同。不能一概而论。但步骤可以从非生产业务开始。,在i逐步到生产业务。
类型对于一些零散的,不需要高运算。高负荷的业务比较适合。数据库等业务就不太建议在虚拟化平台上。
虚拟化平台的运维技巧有哪些?
vSphere PowerCLI是一款基于C#和Microsoft Powershell接口的VMware vSphere API命令行工具,可以使用PowerCLI自动执行vSphere各方面管理,包括宿主机、网络、存储、虚拟机、客户操作系统等。
PowerCLI集成了200多个Cmdlet,通过这些Cmdlet可以将运维人员的日常操作脚本化,例如连接到vCenter Server(Connect—VIserver)、创建虚拟机(New—VM)、创建虚拟端口组(New—VirtualPortGroup)等;也可以通过这些Cmdlet来查看配置信息,例如检查宿主机NTP配置情况(Get—VMHostNtpServer)、查询宿主机HBA卡WWN信息(Get—VMHostHba)等;通过vSphere C1ient GUI界面所进行的日常操作中80%均可以通过PowerCLI所提供的Cmdlet来实现。
运维中最关键的还是这几点:
1、高效
主要还是根据你虚拟化平台的规模来看,如果规模比较大,则使用python、PowerCLI(仅vmware)这类脚本运维方式会很省事,可以完成从虚拟化控制中心、主机、虚拟机、虚拟网络、存储等相关资源的新建、修改、删除等操作,尤其是批量操作更是方便,比如批量新建虚拟机。
有实力的可以用puppt、ansible这种自动化配置工具对虚机进行日常运维操作;
2、随时随地全局掌控
主要依赖监控和日志,zabbix、ELK之类或者商业版的,可以随时了解虚拟化平台健康状态并作出响应;
3、安全
主要在虚拟机和数据备份,即使虚拟机或数据损坏,还有备份可以恢复;
企业现有的业务系统迁移到虚拟化平台之前需要做哪些准备工作?
旧系统跑在X86/Power上,各自都有解决方案
1、X86使用P2V工具迁移到虚拟化平台。P2V对windows成功率还高点,Lin就弱了。大部分迁移的工作量其实还是数据这块,旧系统架构决定了迁移的难度和复杂度。
2、Power平台迁移到虚拟化,其实相对简单,操作系统可以有多重方式备份恢复。共享存储数据也有很多工具,利用AIX或者存储本身技术实现数据的迁移工作。
如何优化vmware的网络设计实现网络高可用?
对于计算节点高可用来讲,除了在资源数量上要保证其冗余性之外,策略设置也非常重要。可以参考以下几个点:
1 Admission Control Policy:对于生产环境来讲,一般认为选择(Host Failure the cluster tolerates =1)比较合适,当然如果你的资源非常空闲,可以适当调大。
2 对于每一台物理机上的虚拟机根据其重要程度不同,设置其启动的优先级(高中低)。
3 当一台物理机上的虚拟机远超过集群当中的物理机数量时,可以考虑设置虚拟机HA互斥分离规则。
4 生产环境当中尽量把DRS的策略设置的不要太激进。尤其是前段具有负载均衡设备的时候建议把DRS打成建议模式。
对于存储来讲,必须保证集群内所有节点看到的外部存储视图是一样的,完全共享的,才能很好保证其HA及DRS功能。另外说到存储,有以下几个点:
1 卷属性里面,把Storage IO Control 选项Disable。不建议vwmare层干预底层IO,反而有尤其性能故障的风险。
2 将卷的多路劲策略设置为(Round Robin)。
VMware提供了VMware HA和FT两种高可用,但只能做到esxi主机级别的故障监测和恢复。一般会从应用级别上来做高可用,根据不同的业务角色,使用相应的群集或负载均衡,对于后端数据库角色,一般会部署在物理机上,如果非要在虚拟机上可以考虑veritas公司的infoscale系列中的群集软件(原vcs),可以与VMware的vmotion和其他管理手段有联动,也可以不需要裸设备等支持来避免脑裂,还支持不同优先级的应用按指定顺序启停。同类群集基本只能做到基础的功能。
生产环境不能停机的情况下,Powervm动态加个硬盘做镜像如何操作?
实际上PV做镜像,也就是在做PV中LV层次的镜像,可以用lspv -l hdisk0,hdisk1查询。比如说rootvg做镜像的时候就有dumplv的镜像。在已经建好镜像的rootvg中新建LV,默认是不选择同步的,即此新建的lv只会在一个PV中建立,而另一个PV是不建有这个LV的。
Vmware逃逸问题?
Vmware有一个增强工具,允许和实体机复制粘贴文件。这是不是就为虚拟机穿透增加了便利?这样虚拟机是不是也不安全了?
虚拟机逃逸是指利用虚拟机软件或者虚拟机中运行的软件的漏洞进行攻击,以达到攻击或控制虚拟机宿主操作系统的目的。
“VMware Workstation和Fusion的拖放(drag-and-drop,DnD)功能中存在一个越界内存访问漏洞。在运行Workstation或Fusion的操作系统上,攻击者可以利用这个漏洞实现客户机逃逸,在宿主机上执行代码。在Workstation Pro和Fusion上,如果拖放功能和复制粘贴(copy-and-paste,C&P)功能都被禁用,那么这个漏洞就无法利用”。
虚拟机备份容量及快照原理?
前几天和同事在讨论虚拟机的快照技术,讨论到快照备份的容量变化问题。
我同事认为首次快照备份后备份容量会随着虚拟机磁盘数据的容量增大而增大,但有一定界限。
我认为快照备份就像是WINDOWS的还原点一样,有完全快照和差异快照之分,快照备份容量是不会变化的,首次是做的快照是完全快照,而后面再做快照是差异快照,但备份量会和第一次的快照合并,而不是像我同事说的不做快照自动随虚拟机的容量变化而变化。
请问虚拟机的快照到底是怎么样的!
当你创建一个虚拟机快照时,这是一个特定的文件。它也是redo-log日志。delta文件是在基础VMDK(虚拟机磁盘)上的变更位图,因此,它不能增长到比VMDK还大。为虚拟机创建每一个快照时,都会创建一个delta文件。当快照被删除或在快照管理里被恢复时,这些文件将自动删除。
这些文件用于存储关于快照的元数据和信息。这个文件是文本格式的,里面包括诸如快照显示名称、UID(编号)和磁盘文件名等信息。在你没创建虚拟机快照之前,这个文件的初始大小为0字节。这样说来,只要进行快照,这个文件就会增大和持续更新。
在快照被移开后,这个文件不能被完全清除。一旦你删除了个快照,它将仍然在文件里为每个快照遗留位置,不过仅增加编号并在“Consolidate Helper”里放置名称,这可能是用来整合备份*.vmsn file
这是快照状态文件,里面存储的是使用快照时,一台虚拟机精确的运行状态。这个文件大还是小取决于你选择保留这台虚拟机的存储作为快照的一部分。如果你选择保留虚拟机的存储,那么,这个文件将比较大,然后分配给虚拟机最大化的RAM。
这个文件类似于VMware暂停状态文件.vmss。虚拟机每个快照都将创建一个.vmss文件;当移动快照时,这些文件自动删除。
大多数情况下,应该避免为同一台虚拟机创建多个快照;每次为系统创建新的快照,其运行速度都会变慢。每个快照都会建立相应的delta磁盘文件,如果虚拟机需要读取多个delta文件,必然会增加系统的I/O负载。这个过程无疑会延长虚拟机的响应时间,并且产生额外的磁盘操作。
如果你只想保存一系列快照当中的最新版本,可以将它们整合为单一快照。这种方式可以帮助提升系统运行速度和管理效率。选择目标虚拟机,单击鼠标右键,之后选择整合。你可以在虚拟机和模板视图当中查询虚拟机是否需要整合,并且在列表当中显示所有需要进行整合的虚拟机
VMware快照删除时的合并策略问题?
如,有快照A->B->C->当前位置
当虚拟机关闭时
问题1.如果删除快照B,快照B的内容是合并到A还是C?
问题2.如果删除快照C,快照C的内容是合并到B还是当前位置?
当虚拟机打开时
问题3.如果删除快照B,快照B的内容是合并到A还是C?
问题4.如果删除快照C,快照C的内容是合并到B还是当前位置?
如果回滚的快照不包含内存状态,服务器将关闭,在重启后使用前一快照状态。如果快照中包含了内存状态,虚拟机只是简单中断一下后恢复到之前快照的磁盘和内存状态。
当用户对VMware虚拟机快照进行操作时,要注意,当需要删除虚拟机所有快照时,所有创建的delta文件首先被合并到原VMDK文件然后进行删除,如果您选择仅删除某个快照,那么只有该快照被合并到上一级快照中,如果选择回滚快照,那么现有的磁盘和内存状态都被抛弃,系统恢复到所选择的回滚时间点状态。无论您选择了哪一级的快照进行回滚,它都成为新的父级快照。而父级快照并非代表最新的快照,如果选择之前的时间点进行回滚,虚拟机就恢复到老时间点的状态。在Snapshot Manager中,父级快照总是带有标签“You are here”,代表虚拟机的当前状态。
VMWare 和 VirtualBox 有什么区别?
VMware和VirtualBox虚拟机孰优孰劣,相信每个使用虚拟机产品的用户都有自己的一套理论。
但就我个人而言,还是比较倾向于使用VMware。 首先在资源占用上,无论是操作系统在其上的安装还是使用的时候,VMware虚拟机的CPU占用率大多数时间都是维持在100%;而VirtualBox虚拟机的CPU占用率在相比之下占用不是很多,最高在60%左右,平均在30%。当然这只是在我使用的PC机上。顺便大概提一下我的电脑配置:奔腾D处理器主频2.81×2、2个GB内存,160GB硬盘7200转。我在使用VirtualBox的时候一般都需要手工分配一个内核给它使用,因为如果不这样的话,我的其他工作就没有办法进行了。 其次在网络设置上,VirtualBox虚拟机的网络类型设置明显没有VMware的种类齐全。至少桥接这一项我没有找到,如果有的话也说明在简单易用性方面VirtualBox虚拟机没有VMware做得更好。
虽然VirtualBox虚拟机在许多方面存在不足,但与VMware虚拟机相比还是有许多优点的。第一,免费使用,即使收归Sun旗下之后,其还是免费使用的;第二,跨平台使用,VirtualBox虚拟机不仅仅支持Windows平台,其他的一些主流平台,如Linux,Unix等等,有许多用户使用VirtualBox虚拟机很大一部分原因也在于此;第三,最新的版本支持的操作系统也相当丰富。 单就从个人用户单机安装虚拟机用于学习、工作或者程序的开发调试等VirtualBox虚拟机完全可以胜任这些工作;但是在企业级应用,如在一台服务器上搭建多虚拟服务器,我个人认为VMware在易用性和管理的方便性,还有在资源的利用等方面的优势将使其更适合这方面的工作。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广