虚拟化技术在长期的使用中其实已经渗透到各行各业,云计算是近年来兴起的新理念,目标是将计算和存储简化为像公共的水和电一样易用的资源,用户只要连上网络即可方便地使用,按量付费。云计算提供了灵活的计算能力和高效的海量数据分析方法,企业不需要构建自己专用的数据中心就可以在云平台上运行各种各样的业务系统,这种创新的计算模式和商业模式吸引了产业界和学术界的广泛关注。
虚拟化是一种资源管理技术, 是将计算机的各种物理资源, 如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破物理设备结构间的不可切割的障碍,使用户可以比原本的架构更好的方式来应用这些资源。这些资源的虚拟部分是不受现有资源的架构方式、地域或物理设备所限制。虚拟化创建了一层隔离层,把硬件和上层应用分离开来,允许在一个硬件资源上运行多个逻辑应用。虚拟化有:服务器虚拟化、应用程序虚拟化、展现层虚拟化、桌面虚拟化。
- 内存虚拟化
- 磁盘虚拟化
- 网络虚拟化
VMware实现的是x86服务器的虚拟化,更确切地说,包含以下三个方面
- 计算能力:CPU/Memory的虚拟化
- 存储:VMFS文件系统
- 网络:虚拟交换机
服务器虚拟化有两种常见的类型
1、寄居架构(Hosted Architecture)
作为应用安装在OS之上,基于现有操作系统,兼容性好,性能较差,功能单一。
2,、裸金属架构(Bare Metal Architecture):
直接安装在硬件之上,本身就是OS,基于裸机(Bare Metal)硬件兼容性要求高性能好,有许多高级功能。
物理架构存在的问题:难以复制和移动,受制于一定的硬件组件,生命周期短,物理服务器的资源利用率低,服务器虚拟化。
将一台物理服务器虚拟成多台虚拟服务器。虚拟服务器由一系列的文件组成,虚拟机与物理机相比最大化利用物理机的资源,节省能耗,更方便地获取计算资源,硬件无关。虚机都是文件,方便迁移、保护,生命周期更长,不会随着硬件变化而变化,根据需求的变化,非常容易更改资源的分配更多高级功能,在线的数据、虚拟机迁移,高可用,自动资源调配,云计算,减少整体拥有成本,包括管理、维护等
物理机的资源被多个虚拟机共享:CPU、内存、网络、存储等。
CPU虚拟化:
-
LCPU:逻辑运算单元,可供使用的物理资源,超线程对LCPU的影响
-
vCPU:虚拟化的CPU,vmkernel,负责CPU资源调度,分时。
内存虚拟化:
由vmkernel控制
- vmkernel控制物理内存
- 每个虚拟机拥有独立的连续可寻址的虚拟内存空间
- 采用多种技术优化内存的使用
- 物理内存不足时可以使用磁盘存储作为交换空间
网络虚拟化:
-
通过虚拟网络交换机实现:连接虚拟机、vmkernel与外部物理网络,工作在第二层
-
虚拟网卡:虚拟机中运行的网卡,虚拟机对外进行网络通讯
-
vmkernel口-vmkernel对外进行网络通讯
-
物理网卡-上连物理网络,工作在第一次
存储虚拟化:
通过虚拟磁盘vmdk文件的封装实现
- 多个ESXi主机访问共享存储
- 虚机的虚拟磁盘以vmdk文件格式存放在存储中
- 每个虚拟机由一组文件组成
- 每个虚拟机有各自的目录
- 虚拟机的文件系统对ESXi主机不可见
vSphere与云计算应用:
-
虚拟化是云计算的基础,虚拟机在虚拟基础架构上运行,动态的计算资源池作为云计算的基础
-
支持各种云计算平台,VMware vRealize,OpenStack
-
支持多种云环境,私有云,公有云,混合云
ESXi介绍:VMware ESXi是最核心的组件,VMware ESXi是我们常说的ESXi主机,虚拟化层
组件的作用:ESXi用于协调物理计算机的资源,同时通过ESXi管理其上的虚拟机,如部署、迁移等操作。同时还可以通过ESXi对物理计算机上的网络存储资源仅从管理,ESXi通过配置虚拟交换机上的vSwitch管理配置网络资源,通过VMfs和nfs管理虚拟存储资源。
核心Hypervisor - VMkernel:可以安装在本地硬盘,存储网络盘, USB/SD卡,或者内存中
- 基于裸机的虚拟化
- 虚拟CPU/内存
- VMFS存储支持
- 虚拟交换机支持
- ESXi的安装方式
ESXi基本架构图
ESXi主机的管理方式:
- 独立的ESXi主机
- 直接访问ESXi主机
- 单独的管理界面,可管理项少
- 用户管理与授权由ESXi主机控制
- 常用于初始配置或者故障诊断
- 通过vCenter服务器管理多台ESXi主机
- 通过vCenter服务器访问ESXi主机
- 统一的管理界面,高级功能管理
- 可整合第三方管理插件
- 用户管理与授权由vCenter服务器控制
- 用于日常管理
- 图形界面
- vSphere Client
- vSphere Web Client
- 通过API使用第三方软件
- 命令行
- vCLI
- vMA
- PowerCLI
- *DCUI
- SSH/ESXi Shell*
- API接口
VCenter:VMware vCenter Server是充当ESXi主机及其虚拟化中心管理点的服务。供管理员集中的统一的管理企业的虚拟化环境。
主要的作用是:提供集中的管理接口,供管理员可以管理整套的虚拟化环境。也可以为虚拟化提供更高级的功能。如,虚拟机迁移,分布式的服务,快速部署虚拟机,vCenter的配置信息和清单信息主要保存在数据库中,这就是数据库服务器和数据库存储。同时vCenter管理主机时,有部分服务需要在各个主机上,比如,分布式虚拟交换机需要一定的分布式服务,同时在管理虚拟化的环境时,需要有相应的权限管理以及ACL用户访问控制。同时,为了便于管理,需要统一的身份验证,vCenter提供了一些接口,供第三方程序进行连接。
虚拟化平台的管理服务器
- 提供配置、管理、访问控制、监控等基本数据中心服务
- 可管理最多1000台ESXi主机、10000台开机的虚拟机
vCenter逻辑组件架构:
VCenter的优点:
-
每个vCenter可以管理1千台ESXi服务器以及1万台开机的虚拟机
-
许多跨越ESXi主机的服务必须要vCenter支持
-
HA, FT, vMotion, DRS, Storage vMotion, Storage DRS, dVS 等等
vCenter服务器的主要逻辑组件包括:
- vCenter服务器 – 管理组件
- 数据库服务器 – 存放配置与性能数据
- SSO组件 – 与LDAP或者AD服务器通讯,提供用户认证
- 清单服务 Inventory Service
- 用户管理界面 – vSphere Client或者使用浏览器+Flash连接Web Client
vCenter其他组件:
- 管理接口
- vSphere API – 应用程序接口
- vCenter Lookup Service
- 包含关于 vSphere 基础架构的拓扑信息,使 vSphere 组件能够安全地互相连接
- 其它分布式服务
- 包括vMotion、DRS和vSphere HA,这些服务随vCenter Server一起安装
vCenter管理角色:
- 安装完vCente后,便带有的管理功能,包括资源管理,模板管理,虚拟机分布,虚拟机管理,安全任务事件,和日志主机管理等
- 可扩展的组件,比如云平台管理,站点恢复管理,APP接口和更新管理等。
- 在安装vCente时,可以自由选择是否安装可扩展的插件。注意,可扩展模块是包括一个服务器组件和一个客户端组件。
什么是虚拟机:虚拟机是一个逻辑的计算机,可以在其上运行受支持的客户端操作系统和应用程序的虚拟硬件集;从本质上来说,或者是从存储的角度来看,是一组离散的文件。虚拟机文件包括
- .vmx – 虚拟机配置文件(文本)
- .nvram – 虚拟机BIOS文件(二进制)
- .vmdk – 虚拟磁盘描述文件(仅描述信息,非常小)
- -flat.vmdk – 虚拟磁盘数据文件(实际数据)
- -rdm.vmdk – 裸设备映射虚拟磁盘文件
- .vswp/vmx-*.vswp – vmkernel swap文件,也称为虚拟机交换文件
- .vmtx –模板的配置文件(文本)
- .vmsd/.vmsn/-delta.vmdk – 虚拟机快照文件及磁盘delta数据文件
- .log – 虚拟机日志文件
- .vmss – 挂起状态文件
虚拟机的模板:
- 通过虚拟机的模板快速的部署虚拟机
- 模板是虚拟机的主副本,用于创建和部署新的虚拟机。
- 模板通常包括一个客户操作系统,一组应用程序和一个特定的虚拟机配置的映像。
管理模板:
- 在制作模板时,我们可以选择将虚拟机转化为模板,也可以选择克隆为模板。
- 若是转换为模板,则是选择为该虚拟机添加模板标记,并转化为模板,效率很快,此时虚拟机必须处于关闭状态才可以进行。
- 若选择克隆为模板,则是先客隆虚拟机,再制作模板,所以,耗时很长,但是克隆为模板时,虚拟机的电源是可以开启的,也可以是关闭的。
- 在选择用模板部署虚拟机时,可以选择通过模板部署虚拟机,也可以选择转换为虚拟机,来修改模板。同时,在部署虚拟机的过程中,我们可以选择使用规范或者自定义的向导完成部署后的自定义工作。比如,刷新SID,加入域等,以减少部署虚拟机后的后序工作。
- 克隆虚拟机:克隆是虚拟机的一个精确副本,被克隆的虚拟机的电源是可以开启的,也可以是关闭的。
虚拟机迁移类型:
- 迁移主机
- 迁移存储
- 同时迁移主机与存储
虚拟机迁移的方式:
- 迁移:就是将虚拟机从一台主机或者是数据存储转移到其他的一台机器或者主机进行数据存储。
- 冷迁移:迁移处于正在关闭的虚拟机
- 挂起迁移:迁移挂起状态的虚拟机
- 迁移主机:迁移处于开启状态的虚拟机
- 迁移存储:在虚拟机处于开启转台的讲虚拟机的文件迁移到另外一台数据存储当中。‘
- 冷迁移:虚拟机电源处于关闭或者挂起状态,可以迁移主机、存储、或者两者同时迁移
- 热迁移:虚拟机电源处于开机状态,迁移主机 – vMotion,迁移数据存储 – Storage vMotion,同时迁移主机和存储 – Cross-Host vMotion,或者称为无共享存储的vMotion。
虚拟机快照:
- 通过快照保留虚拟机的状态,以便可以反复的回到同一状态。
- 快照提供了一种临时的容错解决方案
- 快照的工作原理:当为虚拟机拍摄快照时,回生成快照的状态文件,保留拍摄快照时虚拟机运行的状态信息,同时,将元虚拟机的磁盘变为只读磁盘,并且新建一块新的增量虚拟磁盘,拍摄快照后的变更数据,写入增量虚拟磁盘中;恢复快照时,将增量虚拟磁盘删除,清除所有变更后的快照信息。并再次新建增量磁盘,如果想在删除快照,则上块增量虚拟磁盘中的数据写入到只读磁盘中,并删除增量虚拟磁盘,这样就保留了快照后的信息,删除了快照节点,可以在开启,关闭和挂起时拍摄快照。拍摄快照也可以选择是否捕获虚拟机内存状态,设置状态和虚拟的磁盘状态
- 但是,虚拟机快照只是一种临时的容错方案,不能替代备份方案,如果虚拟机的数据损坏,快照无法完成修复。所以,依然需要规划虚拟机的数据保护。同时,为了比避免增量磁盘过大,需要对虚拟机的快照做及时的删除。
虚拟机快照是虚拟机某一时间点的状态
- 虚拟机磁盘状态
- 虚拟机BIOS及配置状态
- 虚拟机内存状态
可以通过快照记录虚拟机状态
- 用于测试、备份数据源、快速恢复等用途
VMware各级容灾方案:
- 在站点级别:有set recovery manager,实现站点的数据备份。
- 在数据级别,有VMware Data Recovery以及其他第三方的备份解决方案
- 在存储级别:通过Storage vMotion可以保存储的可用性
- 在服务器级别:有VMware vSphere和vMotion 和DRS动态资源分布等保证主机级的可用性。
- 在组件级别:有网卡绑定、存储多路径等功能保障网络、存储的可用性。
- VMware为我们提供了针对故障的保护,实现零停机的计划运维,同时,针对计划外的停机和灾难也提供了相应的保护机制
VMware虚拟化级HA的解决方案
- HA的作用:高可用性,停机时间最少,可用于支持的客户操作系统,可用于支持所有的EXSXI硬件,用于为需要这种保护级别的虚拟机提供高可用行
- HA的适用故障
- 主机故障
- 客户OS故障
- 应用程序故障
HA如何实现高可用?
- 当服务器发生故障时,HA自动的到其他的虚拟机上进行虚拟机的重启,保障其虚拟机的可用性以及业务的连续性
HA的优势:
- HA是一套经济有效的适用于所有应用的高可用的解决方案,因为HA不需要独占stand-by硬件,也没有集群软件的成本和复杂性,只需要在集群中启用HA的功能即可。
HA的缺陷:
- HA可以为组织提供自信的运行其关键业务能力的应用程序的能力,但是是通过重启虚拟机来实现的,有些虚拟机的重新启动的速度很慢,这时业务的连续性就比较低,甚至有些虚拟机需要开机后,在手动的进行某些配置才可以提供服务。仅仅时自动重启,并不能满足高可用性。
Fault Tolerance(FT)
- FT容错系统的设计目标是:出现计划外的中断时,某个备份的虚拟机可以立即去完成任务,确保不出现服务的中断。
- FT体提供了比HA更高的业务连续性
- 实现了应用程序的零停机和零数据丢失。
虚拟化的可扩展性—DRS
- DRS—Distributed Resource Scheduler,动态负载均衡
- DRS实现了动态负载均衡连续的智能优化保证了所有的应用需要的资源。
- DRS可以实现跨资源池的动态调整计算资源,可基于预定义的规则,智能的分配资源。
- 注意:规划DRS时,是围绕着业务进行组织和规划的,而不是硬件
DRS如何实现动态的扩展?【当有新主机的加入时】
- 当有新主机的加入时,DRS自动的将资源池扩展,经过计算后,自动的将虚拟机迁移到新的主机上,这样,变更利于添加更多的资源,避免业务繁忙时,出现过载的现象。