<>1. 概述
<>1.1 为什么使用虚拟化
* 基于云服务器业务,很多公司不需要那么强大的服务器,将服务器虚拟化之后分开卖收益更高
* 比如租房,有一个100平面的房子,整租可以一个月房租8000,划分4个区域分这组,可以每个区域租3000,可以月入12000
* 提高基础架构的利用率:节约成本、节省空间、降低能耗
* 使用虚拟化技术大大削减了采购服务器的数量,同时相对应的占用空间和能耗都变小了,每台服务器大约可节约500到600美金每年。
*
对于很多公司,其实服务器在大多数情况下工作负载不都是100%,通过虚拟化将一个强大的生产力划分为多个(并且可以形成一个资源池来动态分配资源),干不同的活,在提高机器利用率的同时解约成本
* 方便管理服务器后期的管理与运维,从而可以实现多种虚拟化技术
*
服务器整合技术:这个技术在没有虚拟化技术之前是很难完成的。因为什么东西都是实际存在的,想把两个工作相对较少的服务器整合到一起是很困难的。然而当有了虚拟化技术以后使这种服务器整合技术变得非常容易。
*
负载均衡技术:负载均衡技术是只在每台服务器上安装一个负载均衡器,然后设置很多的调度算法及临界值。来判断此时此刻服务器的压力是轻还是重。然后根据轻重来完成服务器的合并,而合并又依据了第三条技术。
*
动态迁移技术:这个技术是前两个技术的根基,但是却不只仅仅限于前两个技术。它的目的是可以在服务器开启的状态下,把其上面的虚拟机迁移到其他的服务器上面。工作原理大体是先将目标服务器上模拟出此服务器的硬件状态,然后迁移数据,最后释放此服务器的信息。
* 安全性:
* 通过将操作系统和应用从服务器硬件设备隔离开,病毒与其他安全威胁无法感染其他应用。
*
虚拟化在硬件层上都有一层VMM来时时刻刻侦测每台虚拟机的动向,包括捕获异常,解决门事件,完成调度等等。所以当一些危险因素来临时由于VMM的存在使得我们可以非常快的侦测到这个问题并解决它。这能比以前的硬件层上面直接是操作系统快速很多。
* 可靠性:
*
虚拟快照技术:虚拟快照技术是将虚拟机此时的状态像照片一样保存下来,当然我说的很容易,其实现原理需要非常复杂,包括cpu运行状态,内存中的数据等等。这样保存下这些虚拟技术当发生灾难或者某些失误导致虚拟机出问题时,可以很快恢复。
*
迁移虚拟机服务器虚拟化的一大功能是支持将运行中的虚拟机从一个主机迁移到另一个主机上,而且这个过程中不会出现宕机事件。有助于虚拟化服务器实现比物理服务器更长的运行时间。
<>1.2 什么是虚拟化
(通俗来说:就是把服务器上的资源按一定比例划分好,分给不同的人)
虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
<>2. 虚拟化技术分类
<>2.1 虚拟化产品分类
* 服务器虚拟化(vsphere6.7 ESXIs)
* 物理资源抽象成逻辑资源
* 一台服务器变成多台,相互独立的虚拟服务器
* 不局限物理的界限
* 让硬件变成动态管理的资源池
* 提高利用率,简化系统管理
* 桌面虚拟化(用于不同用户都需要用一个主机时,比如学校上信息课的微机室,再比如想时时刻刻都连接桌面的工作人员)
* 将计算机的终端系统进行虚拟化
* 达到桌面使用的安全性和灵活性
* 任何设备时间地方都能通过网络访问属于个人的桌面系统
* 并非本地操作系统提供的桌面
* 应用程序虚拟化
* 将应用程序与操作系统解耦
* 为应用程序提供了一个虚拟的环境(可执行文件+运行环境本质是把应用程序对底层的系统和更件的依赖抽象出来,可以解决程序版本不兼容的问题也在后台的数据中心里面
* 也在后台的数据中心里面
* 存储虚拟化(VSAN6.7)
* 将异构的存储资源组成一个巨大的存储池
* 对于用户,透明化了底层的磁盘磁带,直接使用存储资源即可
* 管理变得方便,根据需要把存储资源分配给各应用
* 网络虚拟化 (NSX6.4–SDN框架)
* 一个物理网络支持多个逻辑网络
* 保留了网络设计中原有的层次结构、数据通道和所能提供的服务
* 使得最终用户的体验和独享物理网络一样
* 提高了网络资源的利用率
<>2.2 虚拟化技术分类
* 直接在物理硬件上运行,它控制硬件并管理虚拟机,又叫裸机虚拟机管理程序
*
Linux
KVM:开源的虚拟化平台,是为x86机器开发的基于内核的虚拟机将Linux内核转变成克拟机管理程序,因此虚拟机可以直接访问硬件,是-种全虚拟化的裸机虚拟化技术
*
Vmware ESXi: 直接安装在底层物理硬件上的全虚拟化技术
*
*
思杰Xen:开源的虚拟化平台,支持X86平台IA64、ARM及其他CPU架构,提供了高效安全的功能特性
*
微软Hyper-V:半虚拟化的技术
* Type2: 作为一个应用程序在现有的操作系统上运行,该操作系统安装在裸机上
* VirtualBox:可以在各种OS上运行,移植虚拟机非常方便,因为支持OVF(开放虚拟化格)
* Vmware workstation: 可以适用于各种操作系统,简化的UL,方便使用
* Xvisor: 量级便携灵活的虚拟化解决方案,在X86和ARM CPU架构上得到支持
* Lguest:Lquest是一种内置于Linux内核中的非常轻量级的虚拟机管理程序
<>3. 百万级虚拟化实战案例
* 项目需求分析
* 需求分析
* 100+虚拟机服务器应用
* 区域确定,策略(区域逻辑隔离,管理相通)
* 虚拟机的高可用性
* 动态资源分配DRS
* 重要服务器应用不能断线,需要无延时迁移
* 不重要的服务器,需要能迁移
* 存储架构
* 备份架构
* 网络接口
* 资源计算
* Host节点
* 内存
* CPU
* 存储空间
* 各种接口(网络 HBA)
* 其他特殊接口USB(比如有些虚拟机要求要差u盾等)
* 架构图确认
* 传统虚拟化架构
* 超融合架构:左下角的cup资源与存储资源融为一体,成为一个大铁皮盒子
* 从运维的角度,简单方便了,一个超融合运维工程师就可以处理
* 扩展性好一点,可以增加节点,比如一个铁皮盒子先买2个节点,后面可以再加
* 项目注意点
* NTP时间必须统一,否则不能移虚拟机
* 规范主机命名
* 部署共享存储技术
* 合理规划资源池,防止而因抢占虚拟机资源
* vCenter是高级功能的必选项
* 考虑syslog服务器,esxi在重启后log会丢失
* 设计基于角色的访问
* 一定需要配置监控告,随时监控虚设备状态
* 备份机制VDP或者其他第三方备份软件