服务器虚拟化技术学习,服务器虚拟化技术与应用第一章要点
服务器虚拟化课程第一章,一般不会直接教大家安装VMware或是配置KVM,核心是先理解为什么要把一台物理服务器拆分成多台虚拟设备使用。不少学习的人会觉得这部分内容偏理论,想直接上手实操,等到后续配置出现故障,根源往往就是第一章基础概念没有吃透。
举个很直观的场景。一台物理服务器配备8核CPU、32G内存、两块1T硬盘。直接在上面安装Windows Server,只跑文件共享服务,CPU利用率可能不到百分之五,内存占用不足4G,剩下28G内存闲置。硬盘容量1T,实际只用不到100G。这台机器采购花费上万,实际资源利用率不足一成。服务器虚拟化就是为了解决资源浪费问题。它在物理硬件和操作系统之间增加一层软件,把CPU、内存、硬盘、网卡硬件资源抽象成资源池,按需分配给多台虚拟机。原本一台物理机只能运行一套系统,现在可以同时运行五到十台虚拟机,每台虚拟机拥有独立操作系统和应用程序,相互感知不到对方存在。

这层中间软件叫做Hypervisor,中文名称虚拟机监控器,也简称VMM。它所处位置很关键,向上负责虚拟机创建、启停、迁移,向下对接物理硬件,分配CPU时间片、内存页、磁盘IO以及网络带宽。Hypervisor性能好坏,直接决定虚拟化环境的稳定性。微软Hyper-V、VMware ESXi、开源KVM和Xen,都属于这类组件。
Hypervisor分为两种类型,也是第一章考试高频考点。Type 1裸金属型,本身是精简操作系统,直接部署在物理硬件之上,虚拟机运行在它上层。ESXi和Hyper-V Server属于该类型。因为不存在额外通用操作系统层,Type 1性能损耗低,延迟更小,生产环境数据库、核心业务系统大多选用这类架构。Type 2宿主型,安装在Windows或者Linux系统之上,如同普通应用程序运行,再在内部创建虚拟机。VMware Workstation、VirtualBox是典型代表。Type 2安装简单,笔记本电脑就可以搭建实验环境,但性能弱于Type 1,不适合承载正式业务。
虚拟化还分为全虚拟化和半虚拟化。全虚拟化下,虚拟机内部操作系统无法感知自己运行在虚拟环境,会认为自身运行在物理服务器,发出的特权指令由Hypervisor拦截,转换成安全指令执行。兼容性最好,不需要修改操作系统内核,但性能损耗相对更高。半虚拟化需要修改虚拟机操作系统内核,让系统感知虚拟化环境,主动配合Hypervisor完成优化,减少指令拦截翻译开销。早期Xen就是半虚拟化代表,性能表现好,但操作系统需要打补丁。当前主流KVM依靠硬件辅助虚拟化,Intel VT-x、AMD-V这类CPU指令集在硬件层面提供虚拟化支持,性能损耗控制在很低水平,兼顾兼容性和性能。
第一章还介绍虚拟化几项核心特性。分区,多台虚拟机共享同一套物理硬件资源,同时相互隔离。隔离,单台虚拟机崩溃,不会影响同物理机其他虚拟机,病毒也无法跨虚拟机扩散。封装,虚拟机整体打包成若干文件,复制、备份、迁移操作简单,类似复制文件夹。硬件无关性,虚拟机不绑定特定物理硬件,在A服务器运行的虚拟机,迁移到另一台不同型号服务器依旧可以正常启动。
虚拟机和容器经常放在一起对比,第一章一般也会简单提及。虚拟机虚拟硬件资源,每台虚拟机运行完整操作系统,启动耗时几十秒,内存占用几个G。容器属于操作系统层面虚拟化,多个容器共用宿主机内核,启动仅需数秒,内存占用几十兆。二者不存在替代关系,适用场景不一样。需要运行不同操作系统,选用虚拟机。需要快速批量部署相同环境微服务,容器更加合适。
读完第一章,需要掌握几个基础问题。虚拟化解决的核心问题是什么,Hypervisor在架构里所处位置,Type 1和Type 2适用场景差异,全虚拟化与半虚拟化的区别。这些问题看着简单,却是后续实验、配置工作的理论基础。基础理解不到位,后面部署ESXi遇到CPU不支持虚拟化、虚拟机网络不通、磁盘性能差等故障,只能靠反复试错排查。