虚拟机和虚拟机监控程序
理解一台服务器如何承载多个相互隔离的虚拟计算机
虚拟机和虚拟机监控程序 是 CoddyKit 上的免费 Network+ Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Network+ Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Network+ Academy 课程共包含 4 节课。
虚拟化是什么意思
虚拟化可以让一台物理服务器模拟成多台相互独立的计算机。每台模拟出的计算机都是一个虚拟机(VM),拥有自己的操作系统、应用程序、虚拟 CPU、内存和磁盘。这些 VM 共享底层的真实硬件,但彼此保持隔离。
这是现代数据中心和云计算的基础。相比于一台物理设备只运行一个应用程序,一台强大的服务器可以承载几十个 VM,从而大幅降低成本、能耗和所需机房空间。
认识虚拟机监控程序
虚拟机监控程序(也称为虚拟机监视器)是用于创建和运行 VM 的软件层。它会划分物理 CPU、RAM 和存储资源,并将其中一部分分配给每个 VM,同时保持彼此隔离,确保一个 VM 崩溃时不会拖垮其他 VM。
虚拟机监控程序会安排对真实硬件的访问方式,就像操作系统会安排应用程序的运行一样。对于每个客户机 OS 来说,VM 看起来就像拥有一台完整的物理计算机。
类型 1:裸机虚拟机监控程序
类型 1 虚拟机监控程序直接运行在硬件上,下面没有主机操作系统。由于它位于裸机之上,因此速度快、效率高且安全性强,适合生产服务器和云环境。
- VMware ESXi
- Microsoft Hyper-V
- KVM(基于内核的虚拟机)
- Xen
数据中心运行类型 1 虚拟机监控程序,这样一台主机就能同时为许多租户提供服务。
类型 2:托管型虚拟机监控程序
类型 2 虚拟机监控程序作为应用程序运行在 Windows 或 macOS 等常规操作系统之上。它易于安装,非常适合测试、学习和桌面环境,但速度较慢,因为请求必须先经过主机操作系统。
- VMware Workstation 和 Fusion
- Oracle VirtualBox
- Parallels Desktop
您可以使用类型 2 在笔记本电脑上运行 Linux;而运行服务器集群时应使用类型 1。
客户机 OS 与主机
主机是物理计算机以及运行所有内容的虚拟机监控程序。客户机 OS是安装在 VM 内部的操作系统。您可以自由组合客户机:一台主机可以并行运行 Windows Server、Ubuntu Linux 和较旧版本的 Windows。
每个客户机都认为自己拥有专用硬件,但实际上所有客户机都在虚拟机监控程序的调度下共享主机的 CPU 和内存资源池。
资源分配
管理员会为每个 VM 分配一定数量的 vCPU(虚拟处理器核心)、RAM 和磁盘资源。超额分配是指分配的虚拟资源总量超过主机实际拥有的资源,前提是并非所有 VM 会同时达到峰值负载。
谨慎执行可以提高效率;执行不当则会导致资源争用,使 VM 争抢 CPU 或内存并降低速度。为每个 VM 合理配置资源,有助于保持可预测的性能。
快照与克隆
快照会捕获 VM 在某个时间点的确切状态。如果补丁或更改导致系统出问题,您可以在几秒内回滚到该快照。克隆会复制整个 VM,以便快速创建一个完全相同的新 VM。
这些功能让 VM 比物理服务器灵活得多,因为重建一台损坏的物理服务器可能需要数小时。不过,快照不是备份,因为它们存储在同一台主机的存储设备上。
容器与 VM
容器(例如 Docker)是一种更轻量的虚拟化形式。容器不是各自包含完整的客户机操作系统,而是共享主机内核,只打包应用程序及其依赖项。它们可以在几毫秒内启动,并且占用的内存少得多。
VM 通过完整的操作系统在硬件层面实现隔离;容器则在操作系统层面实现隔离。两者都很常见,许多实际部署会在 VM 内运行容器,以实现分层隔离。
实时迁移
实时迁移可以将正在运行的 VM 从一台物理主机移动到另一台,同时几乎不产生停机时间。虚拟机监控程序会通过网络将 VM 的内存复制到新主机,然后进行切换,整个过程非常平滑,用户通常很难察觉。
这使您能够在不关闭服务的情况下进行硬件维护、负载均衡和故障转移。VMware 将其称为 vMotion;这是虚拟化环境能够保持高可用性的关键原因之一。
VM 为何成为云计算的基础
云服务提供商运行着大规模的虚拟机监控程序集群。当您租用云服务器时,实际上获得的是共享硬件上的一个 VM。虚拟化让提供商可以在几分钟内启动您的 VM,扩展其规模,并且只按您的实际使用量计费。
对于网络技术人员来说,这一点很重要,因为网络现在也延伸到了主机内部,通过虚拟交换机连接各个虚拟机;您将在下一课中学习这些内容。
优势与权衡
优势:整合硬件、快速配置、通过快照轻松备份、实现隔离,以及通过实时迁移保持服务在线。
权衡:虚拟机监控程序会增加少量开销,超额分配可能导致资源争用,而一台主机上运行过多 VM 时,如果主机发生故障,就会形成单点故障。良好的设计会将关键 VM 分散到多台主机上,以控制这种风险。
快速检查
测试您对虚拟机监控程序类型的理解。
回顾
虚拟化将一台物理服务器划分为多个相互隔离的虚拟机,并由虚拟机监控程序统一管理。类型 1 虚拟机监控程序运行在裸机上,适用于生产环境;类型 2 运行在主机 OS 上,适用于桌面环境和测试。每个 VM 都能获得 vCPU、RAM 和磁盘资源,并支持快照、克隆和实时迁移,是云计算的基础构件。
常见问题解答
「虚拟机和虚拟机监控程序」课时是免费的吗?
是的 — 「虚拟机和虚拟机监控程序」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Network+ Academy 课程的其余内容,请升级到 CoddyKit PRO。 Network+ Academy 课程共包含 4 节课。
「虚拟机和虚拟机监控程序」这节课中我会学到什么?
理解一台服务器如何承载多个相互隔离的虚拟计算机 你通过在浏览器中直接运行的动手代码来练习 Network+ Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Network+ Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Network+ Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「虚拟机和虚拟机监控程序」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Network+ Academy 课中编写并运行代码吗?
能。每节 Network+ Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 虚拟机和虚拟机监控程序
- 虚拟交换机和虚拟网络
- 公有云、私有云和混合云
- 云连接和 VPC