本文欢迎转载,转载请注明出处和作者。
VMware产品线全景图
虚拟化,就是通过在硬件之上,操作系统之下,先安装一层Hypervisor(虚拟化操作系统),例如VMware的ESXI或者Citrix的Xen Server。然后通过Hypervisor调度与切分底层的硬件,然后构成一台台虚拟出来独立工作的主机(虚拟机)。
虚拟机利用划分给它的硬件资源,再安装操作系统(如windows),然后再在OS上面安装应用。
为什么要用虚拟机,因为以往为了业务系统的独立性,会单独采用不同的物理硬件,来承载不同的业务。但是往往业务系统可能根本用不完硬件的资源,例如CPU利用率可能只有40%,但是为了物理隔离,避免不同应用之间的资源抢占,软件版本/端口冲突,又不能把机器交给其他应用部署进来,于是物理硬件就会有很多能力冗余,造成了投资浪费。
为此,可以最大限度压榨物理硬件性能的虚拟化技术应运而生。
既可以保证虚拟之间的隔离,又可以最大限度的压榨硬件,而且,当硬件故障,只要在其他硬件上面将虚拟机开机,由于虚拟机独立于硬件,等待虚拟机重启起来,业务就恢复了,避免了以往硬件故障导致长时间业务停止的风险。
那么虚拟机实际层面,到底是个啥东西呢,与linux一切皆文件一样,其实虚拟机也就是一堆文件的集成。
在宿主机(承载虚拟机的物理机)上面,其实每台虚拟机就是一个文件夹,里面由一堆文件构成,其中以下几个文件比较重要。
1、VMX(配置信息)
2、VMDK(磁盘与虚拟机内的数据)
3、VSWP(虚拟内存),关机删除
要做计算资源虚拟化,需要在服务器硬件层面,开机启动就安装Hypervisor,VMware的Hypervisor称作ESXI。而VMware的整个服务器虚拟化产品称vSphere系列。
vSphere系列(包含3个内容):
1、ESXI(虚拟化操作系统)
2、vCenter(管理多个ESXI)
3、vSphere Client(6.5后变为vSphere Web Client,无客户端版本)
vCenter需要额外安装,因为用vSphere Client来登录每台ESXI,只能单台单台登录,并且有很多功能不能使用。(如不能搜索虚拟机,不能使用HA、vMotion、DRS等)
一旦安装了vCenter Server后,则可以将批量的ESXI加入到vCenter集群,进行统一管理与高级功能的设置。
基础功能
Storage Thin Provisioning(精简置备)
存储自动精简配置(又称瘦供给),利用 vSphere Storage Thin Provisioning,可以超额分配存储容量,以提高存储利用率、延长应用程序正常运行时间。
例如你有100G实际可用容量的磁盘,如果不用精简置备,那么如果分配每台虚拟机20G的磁盘,那么最多创建5台主机,系统就会告诉你没有磁盘空间可用了。
使用了精简置备,就算你分配每台虚拟机20G磁盘,在虚拟机操作系统内会看到20G磁盘,实际每台只用了8G的话,那么,虚拟化系统只会按照实际的用量分配给这些虚拟机,那么100G/8G就可以分配12台虚拟机了。当然,最终虚拟机数量*实际磁盘用量不能超过实际磁盘可用空间。
vMotion
vSphere 6.0以前,vMotion都需要服务器之间有共享存储的。然后虚拟机(上面讲过虚拟机就是一堆文件的一个集合文件夹)保存在共享存储上面。当服务器A需要维护,管理员可以手动选择vMotion功能,然后将虚拟机不停机迁移到B服务器运行,业务不中断。
为什么可以这样做呢,如果我们把保存在共享存储的虚拟机比喻为一部保存在网络存储(例如百度网盘)的电影,那么安装了ESXI的服务器A相当于一台安装了播放器的笔记本;虚拟机在ESXI上面启动与运行,相当于PC用播放器播放了百度网盘里面的电影。
当这台PC准备没电要关机了,此时只需要打开PC-B,然后打开百度网盘播放刚才那把电影,并且把进度条调到正在播放的节点继续播放,然后PC-A就可以关掉了,然后你作为观众,电影播放体验不中断。
Storage vMotion
其实功能与上面一样,刚才是2台主机,1台共享存储,现在只是变成了同一台主机,2台存储。
Storage vMotion是为了存储A如果需要维护,那么启用Storage vMotion将虚拟机文件夹复制到新的存储,然后主副本之间的变化量load到主机的内存中,在数据一致的一瞬间,主机切换到新的存储区读取虚拟机的文件,然后存储A删掉源文件即可。
分布式资源调度DRS
DRS是一个自动根据多台主机负载,自动迁移与分配虚拟机的功能。例如主机A上面利用率到80%了,承载20台虚拟机,而主机B只有20%利用率,承载5台虚拟机,那么开启了DRS,系统就会自动将虚拟机10多台虚拟机迁移到主机B,直到主机A、B负载差不多为止。
分布式电源管理DPM
业务在不同的时间段,肯定是有高峰与低洼的,而当夜深的业务低洼,可能服务器主机的资源利用率就很低了,这个时候其实可以将虚拟机迁移到集中的几台主机运行,其余主机可以关机,以节省电力与空调。
但是总不能管理员无时无刻过去人手开关机吧,开启DPM分布式电源调度,即可自动根据负载,让服务器待机后者唤醒。
唤醒方式支持:
1、支持IPMI
2、ILO
3、网络唤醒(WOL)
Storage DRS(分布式调度存储)
既然有主机层面的DRS,自然也有存储的DRS,但是属于额外功能,需要企业增强版才有,可以自动发现存储使用空间不平衡,而自动将虚拟机文件夹在不同的存储逻辑卷中做平衡。
vAPP
同一应用系统的虚拟机打包到一个vAPP,进行统一的任务编排,如虚拟机的开机启动顺序。
然后可以安排对整个vAPP的批量化操作,自动化操作。例如能够按照业务逻辑顺序自动启停。(如一个网站应用,应该先启动数据库服务器,等待数据库服务起来,再启动WEB服务器。通过将该网站的数据库服务器与WEB服务器加入vAPP,那么选择vAPP开机,就会按顺序进行虚拟机开机)
高可用性
HA
开启HA功能,当单台服务器(ESXI物理服务器)故障,在其上面运行的虚拟机都会全部宕机。当时vCenter会自动让其他存活的ESXI主机,分摊其上面运行的虚拟机,并且进行开启恢复。相当于提供了物理硬件故障后的自动恢复。
这里需要注意两个点:
1、HA与vMotion的区别:其实技术原理是一模一样,但是vMotion是计划内的,也就是人工干预、预期内的、主动干的。而HA是计划外的,也就是意外出现硬件故障,vCenter自动触发的。而且vMotion虚拟机是不用重启的,业务是连续的,不会中断的。但是HA,虚拟机会有一个类似死机&重启启动的过程,业务会中断。
2、HA的范围:这个HA的保护只是针对ESXI硬件故障的,而例如你拿一台虚拟机做数据库,那么如果系统内数据库宕机,vSphere的HA没有任何作用的。对于应用程序/业务系统的高可用性,应该自行考虑做HA。(例如Oracle做Rac,IIS的WEB服务器做微软自带的故障转移群集等)
Fault Tolerance(FT/容错)
HA是可以在硬件故障后,在健康主机重启虚拟机,实现自动恢复,但是,虚拟机相当于宕机之后再重启,是会中断业务的。
而如果要求虚拟机有更高可用性,那么就要开启FT容错功能,为虚拟机配置FT功能后,vCenter会多开一台影子虚拟机,同步复制来自主虚拟机的任何操作,那么一旦主虚拟机因为ESXI主机硬件故障而意外宕机,那把vCenter会自动切换到影子虚拟机,来确保没有业务中断的。
但是FT有两个缺点:
1、对于同一台虚拟机,开启FT后相当于要消耗多1倍资源(因为要多开一台影子虚拟机)
2、基本上还是只能防止ESXI硬件的故障,因为影子虚拟机是同步复制主虚拟机的任何操作的,举个例子主虚拟机如果因为中毒所以宕机,那么影子虚拟机也是会一模一样中毒然后步主虚拟机的后尘的。因此对于操作系统层面或应用系统层面的高可用,FT是没有作用的。
Data Recovery/Protection(VDR/VDP)
同一个产品不同时期的叫法,是同一个产品,以前叫VDR,现在叫VDP。主要是用来做虚拟机的备份的。类似的第三方产品叫Veeam,Veeam的产品更优,以后再介绍。
注意这个是用来做备份的,而不是用来做容灾的。
VMware Replication(VR)
企业增强版自带。将虚拟机复制到其他站点,一旦虚拟机出现故障,可以选择从副本恢复虚拟。主要是做容灾的,而不是做复制的。但是该产品最低的RTO是15分钟,也就是说执行复制任务的最小间隔是15分钟,意味着一旦需要恢复,需要至少丢失15分钟数据。
那么VDP与VR有什么区别呢,一个做的备份,一个做的容灾。
备份与容灾有什么区别呢?作用是不一样的,容灾主要是为了快速恢复业务,是出于业务可用性的考虑的,而备份主要是为了将历史数据归档的。
举个例子,A服务器上面昨天有5份文档,然后昨天晚上备份(VDP)了,今天将其中一份文档误删了,然后新增了一份文档,如果设置了容灾(VR),15分钟后,A服务器会重新复制到容灾站点,覆盖原来版本的副本,那么副本虚拟机那边,也是没有了已经删除的文档,以及有了新增的文档了。那么如果现在想要找回误删的文档,你靠容灾有用吗?没有。因为副本也是没有该文档的,需要在备份里面进行恢复。
Site-Recovery-Management(SRM)
需要额外购买,不含在vSphere软件许可里面。
用于站点整体的备份与恢复,其中具有本地复制容灾,异地站点复制容灾等不同模式。
注意,SRM是不能做双活的。(即针对同一个业务,主与副本同时对外提供服务)有个偷换概念的双活,只是说A、B两个站点,A站点运行生产业务C,然后B作为C的冷备站点,然后B站点运行生产业务D,然后A作为D的冷备站点,A、B站点都有承载生产业务的假双活而已。
另外,其实SRM是VR的延伸,所以RTO也是最小15分钟。
SRM与Replication(VR)的区别在于:
1、VR的备份与恢复,都只能手工逐台虚拟机分开逐一设置,而SRM可以批量一条策略对多台虚拟机进行设置。
2、SRM会有自动的容量预警与提醒。
3、SRM可以进行非破坏性的测试,来确保复制过去的副本,是可用的,而Replication只能进行破坏性测试来确保副本可用。
不同版本vSphere功能区别
VMware的vSphere产品(当前最新6.7版本),分为Standard(基本不)、Enterprise(企业版)、Enterprise plus(企业增强版),还有其他额外购买的产品(例如SRM),暂时没找到新一点的图,先贴一张5.0的。可以看到上述一些功能(如存储drs)需要企业增强版才能使用。
更多精彩内容,可以关注我的微信公众号:Waiting的运维日常