Vmware虚拟化概念原理

虚拟化介绍

什么是虚拟化:

虚拟化是一种资源管理技术, 是将计算机的各种物理资源, 如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破物理设备结构间的不可切割的障碍,使用户可以比原本的架构更好的方式来应用这些资源。这些资源的虚拟部分是不受现有资源的架构方式、地域或物理设备所限制。

虚拟化创建了一层隔离层,把硬件和上层应用分离开来,允许在一个硬件资源上运行多个逻辑应用。

虚拟化有:服务器虚拟化、应用程序虚拟化、展现层虚拟化、桌面虚拟化。

常见的虚拟化:

  1. 内存虚拟化
  2. 磁盘虚拟化
  3. 网络虚拟化

VMware实现的是x86服务器的虚拟化,更确切地说,包含以下三个方面

  • 计算能力:CPU/Memory的虚拟化
  • 存储:VMFS文件系统
  • 网络:虚拟交换机

服务器虚拟化的方式:

服务器虚拟化有两种常见的类型

  1. 寄居架构(Hosted Architecture)

    寄居架构

    作为应用安装在OS之上

    基于现有操作系统

    兼容性好

    性能较差

    功能单一

  2. 裸金属架构(Bare Metal Architecture)

    裸金属

    直接安装在硬件之上,本身就是OS

    基于裸机(Bare Metal)

    硬件兼容性要求高

    性能好

    有许多高级功能。

为什么要使用虚拟机:

物理架构存在的问题:

  • 难以复制和移动
  • 受制于一定的硬件组件
  • 生命周期短
  • 物理服务器的资源利用率低

服务器虚拟化

  • 将一台物理服务器虚拟成多台虚拟服务器。虚拟服务器由一系列的文件组成

虚拟机与物理机相比

  • 最大化利用物理机的资源,节省能耗

  • 更方便地获取计算资源

  • 硬件无关。虚机都是文件,方便迁移、保护

  • 生命周期更长,不会随着硬件变化而变化

  • 根据需求的变化,非常容易更改资源的分配

  • 更多高级功能

    在线的数据、虚拟机迁移

    高可用

    自动资源调配

    云计算

  • 减少整体拥有成本,包括管理、维护等

vSphere基本架构:

VSphere

图:vSphere 基本架构

虚拟化环境中的资源共享:

物理机的资源被多个虚拟机共享:CPU、内存、网络、存储等。

CPU虚拟化:

  • LCPU

    逻辑运算单元

    可供使用的物理资源

    超线程对LCPU的影响

  • vCPU

    虚拟化的CPU

  • vmkernel

    负责CPU资源调度

    分时

内存虚拟化:

内存虚拟化

图:内存虚拟化示意图

由vmkernel控制

  1. vmkernel控制物理内存
  2. 每个虚拟机拥有独立的连续可寻址的虚拟内存空间
  3. 采用多种技术优化内存的使用
  4. 物理内存不足时可以使用磁盘存储作为交换空间

网络虚拟化:

网络虚拟化

图:网络虚拟化示意图

  • 通过虚拟网络交换机实现

    连接虚拟机、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的发展过程:

  1. 2006年,服务器有了第一款虚拟化产品—GSX,此时VMware的安装方式时现在物理机上安装操作系统,再将VMware作为应用程序安装在主机上,VMware通过宿主操作系统进行资源和操作系统的管理。这种将虚拟化程序安装在宿主机上的架构称为寄居式虚拟化。寄居式虚拟化最大的问题式过度的依赖于宿主操作系统。

  2. 2009年,VMware推出 ESX,VMware 直接将ESX安装在物理计算机上,这种安装方式称为裸机安装。但是ESX并不能完全的摒弃宿主操作系统,他的解决方法是将虚拟化程序和操作系统整合到一起。也就是说,他将虚拟化的程序写入到linux的操作系统中。此时,ESX通过linux系统的Servers Console来运行,而资源和虚拟机的管理工作则通过合作代理伙伴和编写脚本来执行。ESX有效的解决了对宿主操作系统过于依赖的问题。但是这种架构依然有他自己的缺陷,首先,由于虚拟化程序中包含linux的操作系统,linux的操作系统中非虚拟化部分的进程会占用主机上的部分资源,造成资源的浪费。其次,在进行资源和虚拟机的管理时,只能通过脚本和代理,非常的不方便。

  3. 2011年,VMware推出了ESXi,即为当前应用最广泛的虚拟化产品。同样,ESXi也是裸机安装在物理计算机上的,他做的改进是将虚拟化层中繁杂的linux层剔除,只保留了VMkernel虚拟化内核对资源进行管理。这样,便大大的额降低了虚拟化层的大小。同时,也减小了虚拟化层对物理化层的开销。ESXi做的第二大改进便是将控制台从虚拟化程序中移除,变成一个独立的组件,即Vsphere Client,使得管理工作更加的轻松便捷。

    ESXi体系结构独立于通用的操作系统运行,从而简化了虚拟化管理程序管理并提高了安全性。

ESXi的优点:

  • 精简的体系结构
  • 更小的安全占用空间
  • 简化的部署和配置
  • 简化的修补和更新模式

##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接口

主机管理

图:ESXi主机的管理方式

vCenter服务器–数据中心的单一控制点

vCenter介绍:

vCenter Server:

定义:VMware vCenter Server是充当ESXi主机及其虚拟化中心管理点的服务。供管理员集中的统一的管理企业的虚拟化环境。

  • 主要的作用是:提供集中的管理接口,供管理员可以管理整套的虚拟化环境。
  • 也可以为虚拟化提供更高级的功能。如,虚拟机迁移,分布式的服务,快速部署虚拟机
  • vCenter的配置信息和清单信息主要保存在数据库中,这就是数据库服务器和数据库存储。
  • 同时vCenter管理主机时,有部分服务需要在各个主机上,比如,分布式虚拟交换机需要一定的分布式服务,同时在管理虚拟化的环境时,需要有相应的权限管理以及ACL用户访问控制。同时,为了便于管理,需要统一的身份验证,vCenter提供了一些接口,供第三方程序进行连接。

虚拟化平台的管理服务器

  • 提供配置、管理、访问控制、监控等基本数据中心服务
  • 可管理最多1000台ESXi主机、10000台开机的虚拟机

VSphere

vCenter服务器及逻辑组件架构:

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时,可以自由选择是否安装可扩展的插件。注意,可扩展模块是包括一个服务器组件和一个客户端组件

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自动的将资源池扩展,经过计算后,自动的将虚拟机迁移到新的主机上,这样,变更利于添加更多的资源,避免业务繁忙时,出现过载的现象。

坚持原创技术分享,您的支持将鼓励我继续创作!