跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
虚拟机
”︁
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
= 虚拟机 = '''虚拟机'''(Virtual Machine,简称VM)是一种通过软件模拟完整计算机系统的技术,它能够在物理计算机上创建并运行多个隔离的虚拟计算环境。每个虚拟机都拥有自己的虚拟硬件资源(如CPU、内存、存储等),并能运行独立的操作系统和应用程序。 == 概述 == 虚拟机技术通过[[虚拟化]]层(称为[[虚拟机监视器]]或Hypervisor)将物理硬件资源抽象化,允许多个虚拟机共享同一台物理机的资源。与[[容器]]技术相比,虚拟机提供了更完整的隔离性,因为每个虚拟机都运行着完整的操作系统。 虚拟机的主要特点包括: * '''隔离性''' - 各虚拟机之间相互隔离,一个虚拟机的故障不会影响其他虚拟机 * '''兼容性''' - 可以运行不同架构的操作系统 * '''资源分配''' - 能够灵活分配CPU、内存等硬件资源 * '''快照功能''' - 可以保存虚拟机的完整状态便于恢复 == 类型 == === 系统虚拟机 === 系统虚拟机提供完整的系统平台,能够运行完整的操作系统。常见的系统虚拟机包括: * [[VMware]] Workstation * [[VirtualBox]] * [[Hyper-V]] * [[KVM]] === 进程虚拟机 === 进程虚拟机设计为运行单个程序或进程,例如: * [[Java虚拟机]](JVM) * [[.NET]] CLR == 架构 == 虚拟机的典型架构包含以下组件: <mermaid> graph TD A[物理硬件] --> B[Hypervisor] B --> C[虚拟机1] B --> D[虚拟机2] C --> E[客户操作系统] D --> F[客户操作系统] E --> G[应用程序] F --> H[应用程序] </mermaid> == 创建虚拟机示例 == 以下是在[[VirtualBox]]中创建虚拟机的命令行示例: <syntaxhighlight lang="bash"> # 创建一个名为"UbuntuVM"的新虚拟机 VBoxManage createvm --name "UbuntuVM" --register # 设置内存大小为2048MB VBoxManage modifyvm "UbuntuVM" --memory 2048 # 创建虚拟硬盘 VBoxManage createhd --filename "UbuntuVM.vdi" --size 20000 # 添加存储控制器 VBoxManage storagectl "UbuntuVM" --name "SATA Controller" --add sata # 附加虚拟硬盘 VBoxManage storageattach "UbuntuVM" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "UbuntuVM.vdi" </syntaxhighlight> == 与容器的比较 == {| class="wikitable" |- ! 特性 !! 虚拟机 !! [[Docker|容器]] |- | 隔离级别 || 操作系统级 || 进程级 |- | 启动时间 || 较慢(分钟级) || 快速(秒级) |- | 资源占用 || 较高 || 较低 |- | 系统要求 || 需要Hypervisor || 需要容器运行时 |- | 可移植性 || 中等 || 高 |} == 应用场景 == 虚拟机技术广泛应用于以下领域: * '''软件开发与测试''' - 在不同的操作系统环境中测试应用程序 * '''服务器整合''' - 在一台物理服务器上运行多个虚拟服务器 * '''云计算''' - 提供基础设施即服务([[IaaS]]) * '''遗留系统支持''' - 在新硬件上运行旧操作系统 * '''安全研究''' - 在隔离环境中分析恶意软件 == 性能考虑 == 虚拟机的性能受多种因素影响,包括: * Hypervisor类型(Type 1或Type 2) * 虚拟化扩展支持(如Intel VT-x或AMD-V) * 内存分配策略 * I/O虚拟化方式 数学上,虚拟机的性能开销可以表示为: <math> P_{vm} = P_{native} \times (1 - \alpha) </math> 其中<math>\alpha</math>代表虚拟化开销因子。 == 参见 == * [[容器技术]] * [[云计算]] * [[虚拟化]] * [[Docker]] * [[Kubernetes]] [[Category:虚拟化技术]] [[Category:计算机系统]] [[Category:云计算]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)