[OS] 计算机资源虚拟化技术
1 定义:计算机资源虚拟化
- 服务器虚拟化主要通过软件技术将物理服务器的硬件资源抽象化,创建多个独立的虚拟服务器环境。
2 虚拟化技术方向
以下是一些常见的服务器虚拟化方式和工具:
基于hypervisor的虚拟化
- Hypervisor技术: 也称为虚拟机监视器(
Virtual Machine Monitor,VMM),是一种运行在物理服务器和操作系统之间的软件。
它允许多个操作系统在同一台物理服务器上同时运行。Hypervisor提供了虚拟化技术的核心功能,使得每个操作系统实例(即虚拟机)都能够独立运行,就像它们各自运行在独立的物理机器上一样。
根据
Hypervisor与宿主操作系统的关系,它们可以分为两大类:
- Type-1 Hypervisor(裸机Hypervisor):直接运行在物理硬件之上,不依赖于宿主操作系统。
这种类型的Hypervisor提供了更好的性能和资源利用率,因为它们直接控制硬件资源。
常见的实现方案有: VMware vSphere ESXi、Microsoft Hyper-V和Citrix XenServer。
- Type-2 Hypervisor(宿主型Hypervisor):运行在宿主操作系统之上
常见的实现方案有: VMware Workstation 和 Oracle VirtualBox。
这种类型的Hypervisor通常用于个人电脑或开发环境,因为它们不需要直接访问硬件资源。
Hypervisor是现代数据中心和云计算环境中的关键技术,它们使得服务器资源的利用更加灵活和高效,同时也支持了虚拟化技术的发展。
- Hypervisor的主要功能:
- 资源管理:Hypervisor管理着物理服务器的资源(如CPU、内存、存储和网络接口),并将其分配给各个虚拟机。
- 隔离性:Hypervisor确保各个虚拟机之间的操作是相互隔离的,一个虚拟机的故障或安全问题不会影响到其他虚拟机。
- 调度:Hypervisor负责CPU时间的分配,确保各个虚拟机能够公平地访问CPU资源。
- 设备模拟:Hypervisor模拟硬件设备,使得虚拟机可以像在真实硬件上一样运行。
- 安全性:Hypervisor提供了一个安全的环境,可以防止虚拟机之间的相互干扰。
操作系统级虚拟化
- 在操作系统层面上实现虚拟化,通过在单个操作系统【内核】中创建多个独立的用户空间实例。
这种方式的优点是资源利用率高、启动速度快,但隔离性相对较弱
常见的实现方案有: Linux容器(如Docker)和Solaris Zones等
3 虚拟化工具
常见的服务器虚拟化工具
- VMware vSphere/ESXi:企业级虚拟化平台,提供数据中心虚拟化产品和应用程序及基础架构管理工具
- Microsoft Hyper-V:作为Windows Server的组成部分,提供基于Hypervisor的服务器虚拟化技术
- Citrix XenServer:基于开源Xen系统管理程序的服务器虚拟化系统,提供接近裸机的性能
- Red Hat Virtualization (RHV):基于KVM的虚拟化平台,适用于企业级环境
- Oracle VM:提供可伸缩、低成本的服务器虚拟化
- Proxmox VE:基于Debian的开源虚拟化平台,结合了KVM和LXC技术,提供易于使用的Web界面和丰富的管理功能
- KVM (Kernel-based Virtual Machine):开源免费,直接集成到Linux内核,性能高效
注:支持基于JVM,虚拟化 Windows
这些工具和方式各有特点,适用于不同的场景和需求,可以根据具体的业务需求选择合适的虚拟化解决方案。
Y FAQ
Q: VirtualBox vs. VMware Workstation 的区别?
VirtualBox和VMware是两种不同的虚拟化软件,它们之间有以下比较 :
• 开源 vs 商业:VirtualBox是开源的,VMware是商业产品。
• 适用场景:VirtualBox适合个人和小型企业,VMware适合大型企业和数据中心。
• 性能:VMware Workstation Pro性能较高,特别在3D加速方面。
• 管理功能:VMware功能更强大,VirtualBox较弱。
• 限制:VirtualBox对虚拟机有一些限制,如CPU核心数等。
详情参见: 再议 VirtualBox 与 VMware 对比,VirtualBox 没有你想的那么不堪 - dev.leiyanhui.com
- VirtualBox
- 母公司: Oracle(甲骨文)
- 官网: https://www.virtualbox.org
- 下载: https://www.virtualbox.org/wiki/Downloads
- VMware
- 母公司: Broadcom(博通)
- 官网: https://www.vmware.com/ | https://broadcom.com
- 下载:
https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion
https://support.broadcom.com/group/ecx/productfiles?subFamily=VMware%20Workstation%20Pro


Q:如果按cpu模拟与否来分类虚拟化技术,可以怎么划分?
- 用代码来模拟cpu的: qemu,bochs,pcem,模拟更彻底,适合操作系统的编程和研究。
运行速度稍慢,是代码模拟cpu的必然结果,一般用户会计较速度。但对于底层编程的程序员来说,第一类适应性最广,可以在x86机型上跑出其它各种cpu,是第二类做不到的。
- 直接使用主机cpu的:vmware,virtualbox,kvm,适合跑一般软件。
至于vmware和virtualbox之间的差别,就目前当然还是vmware性能更好,细分功能更多,诸如商业服务器都是选择vmware。
X 参考文献
- Kimi GPT : hypervisor 是什么?
- Kimi GPT : 服务器虚拟化的方式和工具有哪些?
- [Linux]Vmwaer创建CENTOS7虚拟机 - 博客园/千千寰宇
- [Windows/Linux]判别服务器: 虚拟机 | 物理机 ? - 博客园/千千寰宇 【推荐】
- [Linux]Xmanager+Xshell远程管理桌面版CentOS物理服务器的桌面版CentOS虚拟机 - 博客园/千千寰宇
- Linux之安装虚拟机/虚拟操作系统[VisualBox] - 博客园/千千寰宇
- [Docker/K8S] Docker与K8S的区别 - 博客园/千千寰宇 【推荐】
虚拟化技术的发展过程 / Virtual Machines VS. Docker
- [Docker] Docker 基础教程(概念/原理/基础操作) - 博客园/千千寰宇
- [云计算] 概念辨析:云计算 [IaaS/PaaS/SaaS & 公有云/私有云/混合云] - 博客园/千千寰宇 【推荐】
- [虚拟化] K8S概述 - 博客园/千千寰宇
- 虚拟机 VMware 和 VirtualBox 哪个更好用? - Zhihu
[OS] 计算机资源虚拟化技术的更多相关文章
- Linux 小知识翻译 - 「虚拟化技术」
这次聊聊「虚拟化技术」. 虚拟化技术,有时简称为「虚拟化」,最近经常听人说它.但是却不太清楚它的意思.到底虚拟了什么东西?本来是用来干什么的? 有名的虚拟化软件要数 VMware 和 VirtualB ...
- Linux 小知识翻译 - 「虚拟化技术 续」
这次,继续聊聊「虚拟化技术」. 根据上回的介绍,虚拟化技术可以使「计算机的台数和运行的OS的个数的比例不再是1:1」.这回介绍一下如何使用这个技术. 使用方法之一,「一台计算机上运行多个OS」.从个人 ...
- KVM虚拟化技术(七)虚拟机配置文件
KVM虚拟机的配置文件在/etc/libvirt/qemu/下,为xml文件 整体结构如下: <domain type='kvm'> 虚拟机整体信息 系统信息 硬件资源特性 突发事件处理 ...
- KVM虚拟化技术
KVM虚拟化技术 Qemu-kvm kvm virt-manager VNC Qemu-kvm创建和管理虚拟机 一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machi ...
- 关于Linux虚拟化技术KVM的科普
虚拟化技术应用越来越广泛,虚拟化技术需求越来越强劲.KVM.XEN.Docker等比较热门,尤其是KVM技术越来越受欢迎. 基于此背景,了解一下KVM+QEMU就有点必要了. 从网上收集了一些资料进行 ...
- 关于Linux虚拟化技术KVM的科普 科普三(From OenHan)
http://oenhan.com/archives,包括<KVM源代码分析1:基本工作原理>.<KVM源代码分析2:虚拟机的创建与运行>.<KVM源代码分析3:CPU虚 ...
- [转] KVM虚拟化技术生态环境介绍
KVM虚拟化技术生态环境介绍 http://xanpeng.github.io/wiki/virt/kvm-virtulization-echosystem-intro.html kvm和qemu/q ...
- 虚拟化技术之KVM
虚拟化技术之KVM 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是虚拟化 其实虚拟化技术已经不是一个新技术了,上个世纪六十年代IBM公司已经在使用,只不过后来(上个世纪八 ...
- 基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具
1.Proxmox proxmox是一个开源的虚拟化管理平台,支持集群管理和HA.在存储方面,proxmox除了支持常用的lvm,nfs,iscsi,还支持集群存储glusterfs和ceph,这也是 ...
- KVM虚拟化技术(一)虚拟化简介
一 .虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个 ...
随机推荐
- 暑假集训CSP提高模拟 ∫[0,6] (x^2)/6 dx
\[\text{暑假集训CSP提高模拟}\int^{6}_{0}\frac{x^{2}}{6}dx \] 关于这个东西怎么求的良心教程 含义:求出 \(f(x)=\frac{x^{2}}{6}\) 在 ...
- 从0到1搭建权限管理系统系列四 .net8 中Autofac的使用(附源码)
说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发). 该系统文章,我会尽量说的非常详细,做到不管新手.老手都能看懂. 说明:OverallAuth2 ...
- 谷歌浏览器页面乱码问题在浏览器端解决,charset下载安装;
一 下载插件(百度网盘) 链接:https://pan.baidu.com/s/1o9Zuo2m 密码:rrcz 二 将下载好的插件拖到谷歌浏览器中 三 如果谷歌浏览器右下角出现如下图 ...
- .NET 开源餐饮系统支持桌面与Web版
前言 推荐一款优秀的开源免费餐饮系统-蜀味正道,专门针对餐饮行业开发的桌面应用程序,帮助大家提供全面的管理解决方案. 项目介绍 蜀味正道是一款借助 Panuon.UI.Silver控件库开发的餐饮软件 ...
- python多线程应用-批量下载拉勾网课程
import concurrent import os import re import time from collections.abc import Iterable from Crypto.C ...
- kaggle数据集某咖啡店的营销数据分析
因为还处于数据分析的学习阶段(野生Python学者),所以在kaggle这个网站找了两个数据集来给自己练练手. 准备工作 import pandas as pd import os import ma ...
- 欢迎来到IoT解忧杂货铺
这是一间特殊的杂货铺 门面不大,却包罗万物 如果你也遇到一些烦恼 欢迎来到,IoT解忧杂货铺 解忧秘方·工业 厂里的几十台设备真让人头疼 协议种类太多太复杂 设备没法全联网 产线故障了也不知道 自己出 ...
- k8s 中的 Gateway API 的背景和简介【k8s 系列之四】
〇.Gateway API 的背景 第一阶段:Service 初始的 Kubernetes 内部服务向外暴露,使用的是自身的 LoadBlancer 和 NodePort 类型的 Service. 在 ...
- WEB 新手篇
xctf在线场景以使用了,一直想写web题来着 001 view_scoure X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了. 解: 查看网站源码,注释里有 flag 00 ...
- nginx关于正向代理与反向代理的概念区分
正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理. 反向代理 反向代理中客户端对 ...