Vmware虚拟化概念原理
虚拟化介绍
什么是虚拟化:
虚拟化是一种资源管理技术, 是将计算机的各种物理资源, 如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破物理设备结构间的不可切割的障碍,使用户可以比原本的架构更好的方式来应用这些资源。这些资源的虚拟部分是不受现有资源的架构方式、地域或物理设备所限制。
虚拟化创建了一层隔离层,把硬件和上层应用分离开来,允许在一个硬件资源上运行多个逻辑应用。
虚拟化有:服务器虚拟化、应用程序虚拟化、展现层虚拟化、桌面虚拟化。
常见的虚拟化:
- 内存虚拟化
- 磁盘虚拟化
- 网络虚拟化
VMware实现的是x86服务器的虚拟化,更确切地说,包含以下三个方面
- 计算能力:CPU/Memory的虚拟化
- 存储:VMFS文件系统
- 网络:虚拟交换机
服务器虚拟化的方式:
服务器虚拟化有两种常见的类型
-
寄居架构(Hosted Architecture)
作为应用安装在OS之上
基于现有操作系统
兼容性好
性能较差
功能单一
-
裸金属架构(Bare Metal Architecture)
直接安装在硬件之上,本身就是OS
基于裸机(Bare Metal)
硬件兼容性要求高
性能好
有许多高级功能。
为什么要使用虚拟机:
物理架构存在的问题:
- 难以复制和移动
- 受制于一定的硬件组件
- 生命周期短
- 物理服务器的资源利用率低
服务器虚拟化
- 将一台物理服务器虚拟成多台虚拟服务器。虚拟服务器由一系列的文件组成
虚拟机与物理机相比
-
最大化利用物理机的资源,节省能耗
-
更方便地获取计算资源
-
硬件无关。虚机都是文件,方便迁移、保护
-
生命周期更长,不会随着硬件变化而变化
-
根据需求的变化,非常容易更改资源的分配
-
更多高级功能
在线的数据、虚拟机迁移
高可用
自动资源调配
云计算
-
减少整体拥有成本,包括管理、维护等
vSphere基本架构:
虚拟化环境中的资源共享:
物理机的资源被多个虚拟机共享:CPU、内存、网络、存储等。
CPU虚拟化:
-
LCPU
逻辑运算单元
可供使用的物理资源
超线程对LCPU的影响
-
vCPU
虚拟化的CPU
-
vmkernel
负责CPU资源调度
分时
内存虚拟化:
由vmkernel控制
- vmkernel控制物理内存
- 每个虚拟机拥有独立的连续可寻址的虚拟内存空间
- 采用多种技术优化内存的使用
- 物理内存不足时可以使用磁盘存储作为交换空间
网络虚拟化:
-
通过虚拟网络交换机实现
连接虚拟机、vmkernel与外部物理网络,工作在第二层
-
虚拟网卡
虚拟机中运行的网卡
虚拟机对外进行网络通讯
-
vmkernel口-vmkernel对外进行网络通讯
-
物理网卡-上连物理网络,工作在第一次
存储虚拟化:
通过虚拟磁盘vmdk文件的封装实现
- 多个ESXi主机访问共享存储
- 虚机的虚拟磁盘以vmdk文件格式存放在存储中
- 每个虚拟机由一组文件组成
- 每个虚拟机有各自的目录
- 虚拟机的文件系统对ESXi主机不可见
vSphere与云计算:
-
虚拟化是云计算的基础
虚拟机在虚拟基础架构上运行
动态的计算资源池作为云计算的基础
-
支持各种云计算平台
VMware vRealize
OpenStack
-
支持多种云环境
私有云
公有云
混合云
ESXi基本结构
ESXi介绍:
VMware ESXi是最核心的组件
VMware ESXi是我们常说的ESXi主机,虚拟化层
组件的作用:ESXi用于协调物理计算机的资源,同时通过ESXi管理其上的虚拟机,如部署、迁移等操作。同时还可以通过ESXi对物理计算机上的网络存储资源仅从管理,ESXi通过配置虚拟交换机上的vSwitch管理配置网络资源,通过VMfs和nfs管理虚拟存储资源。
核心Hypervisor - VMkernel
- 基于裸机的虚拟化
- 虚拟CPU/内存
- VMFS存储支持
- 虚拟交换机支持
ESXi的安装方式
- 可以安装在本地硬盘,存储网络盘, USB/SD卡,或者内存中
VMware ESX的发展过程:
-
2006年,服务器有了第一款虚拟化产品—GSX,此时VMware的安装方式时现在物理机上安装操作系统,再将VMware作为应用程序安装在主机上,VMware通过宿主操作系统进行资源和操作系统的管理。这种将虚拟化程序安装在宿主机上的架构称为寄居式虚拟化。寄居式虚拟化最大的问题式过度的依赖于宿主操作系统。
-
2009年,VMware推出 ESX,VMware 直接将ESX安装在物理计算机上,这种安装方式称为裸机安装。但是ESX并不能完全的摒弃宿主操作系统,他的解决方法是将虚拟化程序和操作系统整合到一起。也就是说,他将虚拟化的程序写入到linux的操作系统中。此时,ESX通过linux系统的Servers Console来运行,而资源和虚拟机的管理工作则通过合作代理伙伴和编写脚本来执行。ESX有效的解决了对宿主操作系统过于依赖的问题。但是这种架构依然有他自己的缺陷,首先,由于虚拟化程序中包含linux的操作系统,linux的操作系统中非虚拟化部分的进程会占用主机上的部分资源,造成资源的浪费。其次,在进行资源和虚拟机的管理时,只能通过脚本和代理,非常的不方便。
-
2011年,VMware推出了ESXi,即为当前应用最广泛的虚拟化产品。同样,ESXi也是裸机安装在物理计算机上的,他做的改进是将虚拟化层中繁杂的linux层剔除,只保留了VMkernel虚拟化内核对资源进行管理。这样,便大大的额降低了虚拟化层的大小。同时,也减小了虚拟化层对物理化层的开销。ESXi做的第二大改进便是将控制台从虚拟化程序中移除,变成一个独立的组件,即Vsphere Client,使得管理工作更加的轻松便捷。
ESXi体系结构独立于通用的操作系统运行,从而简化了虚拟化管理程序管理并提高了安全性。
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服务器–数据中心的单一控制点
vCenter介绍:
vCenter Server:
定义:VMware vCenter Server是充当ESXi主机及其虚拟化中心管理点的服务。供管理员集中的统一的管理企业的虚拟化环境。
- 主要的作用是:提供集中的管理接口,供管理员可以管理整套的虚拟化环境。
- 也可以为虚拟化提供更高级的功能。如,虚拟机迁移,分布式的服务,快速部署虚拟机
- vCenter的配置信息和清单信息主要保存在数据库中,这就是数据库服务器和数据库存储。
- 同时vCenter管理主机时,有部分服务需要在各个主机上,比如,分布式虚拟交换机需要一定的分布式服务,同时在管理虚拟化的环境时,需要有相应的权限管理以及ACL用户访问控制。同时,为了便于管理,需要统一的身份验证,vCenter提供了一些接口,供第三方程序进行连接。
虚拟化平台的管理服务器
- 提供配置、管理、访问控制、监控等基本数据中心服务
- 可管理最多1000台ESXi主机、10000台开机的虚拟机
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时,可以自由选择是否安装可扩展的插件。注意,可扩展模块是包括一个服务器组件和一个客户端组件。
VMware虚拟机及虚拟机管理介绍
什么是虚拟机:
什么是虚拟机:
虚拟机是一个逻辑的计算机,可以在其上运行受支持的客户端操作系统和应用程序的虚拟硬件集;
从本质上来说,或者是从存储的角度来看,是一组离散的文件。
虚拟机文件包括
- .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
vSpher vMotion:
虚拟机开机时,将虚拟机从一个主机在线迁移到另一个主机
- 虚拟机数据应当位于可以被两台主机同时访问的共享存储上
- 两台主机的CPU必须兼容
- 主机与虚拟机需要满足vMotion的条件
用于
- 减少由于主机维护、升级等引起的虚拟机计划内宕机时间
- 可以用于控制主机资源的负载均衡
Storage vMotion:
虚拟机开机时,将虚拟机从一个存储在线迁移到另一个存储
- 不可以跨越虚拟数据中心
- 不迁移主机、无宕机时间
应用场景
- 减少由于存储维护引起的计划内宕机时间
- 存储资源的负载均衡
- 在线地更改虚拟磁盘格式及文件名
迁移类型的对比:
虚拟机快照:
- 通过快照保留虚拟机的状态,以便可以反复的回到同一状态。
- 快照提供了一种临时的容错解决方案
- 快照的工作原理:当为虚拟机拍摄快照时,回生成快照的状态文件,保留拍摄快照时虚拟机运行的状态信息,同时,将元虚拟机的磁盘变为只读磁盘,并且新建一块新的增量虚拟磁盘,拍摄快照后的变更数据,写入增量虚拟磁盘中;恢复快照时,将增量虚拟磁盘删除,清除所有变更后的快照信息。并再次新建增量磁盘,如果想在删除快照,则上块增量虚拟磁盘中的数据写入到只读磁盘中,并删除增量虚拟磁盘,这样就保留了快照后的信息,删除了快照节点,可以在开启,关闭和挂起时拍摄快照。拍摄快照也可以选择是否捕获虚拟机内存状态,设置状态和虚拟的磁盘状态
- 但是,虚拟机快照只是一种临时的容错方案,不能替代备份方案,如果虚拟机的数据损坏,快照无法完成修复。所以,依然需要规划虚拟机的数据保护。同时,为了比避免增量磁盘过大,需要对虚拟机的快照做及时的删除。
虚拟机快照是虚拟机某一时间点的状态
- 虚拟机磁盘状态
- 虚拟机BIOS及配置状态
- 虚拟机内存状态
可以通过快照记录虚拟机状态
- 用于测试、备份数据源、快速恢复等用途
VMware可用性及可扩展性的介绍
VMware各级容灾方案:
- 在站点级别:有set recovery manager,实现站点的数据备份。
- 在数据级别,有VMware Data Recovery以及其他第三方的备份解决方案
- 在存储级别:通过Storage vMotion可以保存储的可用性
- 在服务器级别:有VMware vSphere和vMotion 和DRS动态资源分布等保证主机级的可用性。
- 在组件级别:有网卡绑定、存储多路径等功能保障网络、存储的可用性。
- VMware为我们提供了针对故障的保护,实现零停机的计划运维,同时,针对计划外的停机和灾难也提供了相应的保护机制
VMware在虚拟化级别为我们提供的解决方案—HA(High Availability)
- 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自动的将资源池扩展,经过计算后,自动的将虚拟机迁移到新的主机上,这样,变更利于添加更多的资源,避免业务繁忙时,出现过载的现象。