Linux 虚拟化技术 KVM/ESXI/Docker

要理清KVM、Docker这些工具的关系,得先懂Linux虚拟化的3个核心技术层面 ------技术层面、核心原理、依赖条件。

  1. KVM:Linux 内核自带的 "硬件虚拟化工具"技术层面:纯硬件辅助虚拟化,是Linux内核的一个模块,不是独立系统。得先装 Linux 系统(比如 CentOS、Debian),再加载 KVM 模块,配合QEMU(模拟硬件)用,比如用virt-manager图形化管理虚拟机。它显著的特点就是,开源免费(对于一个企业来说,这点很重要),性能接近物理机,适合中小企业和开源场景,是现在 Linux 虚拟化的 "主力选手"。

  2. ESXI:VMware的裸金属hypervisor技术层面,也是硬件辅助虚拟化,但和KVM不一样 ------ 它是 "裸金属" 的,不用依赖Linux,像普通操作系统那样直接装在物理硬件上。通过vSphere客户端管理,界面友好,企业级功能多(比如虚拟机迁移、高可用),毕竟是有收费版本的软件。它和KVM都是硬件辅助虚拟化,但ESXI是独立系统,KVM是Linux内核模块,前者适合追求稳定的大企业,后者适合爱折腾的开源党。

  3. XEN:从 "半虚拟" 到 "硬件辅助" 的老将技术层面,它一开始是半虚拟化(客户机需改内核),后来支持硬件辅助虚拟化(HVM 模式,不用改内核),现在两种模式都能用。曾经是虚拟化 "王者"(比如阿里云早期用 XEN),但现在被 KVM 抢了不少市场,不过在某些对兼容性要求高的场景还在⽤,实话实说,我没用过。

  4. Docker:操作系统级虚拟化的 "容器代表"技术层面,划重点!Docker 不是硬件虚拟化,而是操作系统级虚拟化------它不造小电脑,而是在 Linux 系统里用namespace隔出独立进程空间,用cgroups限制CPU/内存。它和KVM的区别:Docker 容器启动只要几秒(KVM 虚拟机要几分钟),资源占用少(一个容器几百 MB,虚拟机可能动不动就几个G),但隔离性比 KVM 弱(共享宿主机内核)

虚拟化技术产品

VirtualBox:Oracle 的桌面级工具,跨平台(Windows/Linux 都能用),运维偶尔用来搭本地测试环境;

Proxmox VE:开源整合方案,把 KVM(虚拟机)和LXC(容器)打包在一起,中小企业用着省心,这个就经常用了。我自己的好几台迷你主机就跑的PVE。企业数字化转型的基石:PVE虚拟化平台全面解析

OpenVZ:早期容器技术,比Docker轻量但灵活性差,现在很少新部署了;

QEMU:常和KVM组合使用,KVM负责加速,QEMU负责模拟硬盘 / 网卡,单独用性能差。

Proxmox VE与ZStack、VMware、OpenStack比较

相关推荐
哎呦,帅小伙哦15 小时前
pthread 互斥锁属性:type、pshared 与 robust
linux
Irene199115 小时前
在 WSL Ubuntu 上安装和使用 Hive
linux·hive·ubuntu
我叫张小白。15 小时前
CentOS 7 安装 MySQL 8.0 完整指南(含远程连接配置)
linux·mysql·centos
ABILI .15 小时前
Linux上安装部署k8s单机版(minikube)
linux·运维·kubernetes
量子炒饭大师15 小时前
【Linux系统编程】——【自动化构建-make/Makefile】拒绝手动编译!构建你的赛博代码加工厂,重塑逻辑矩阵效率极限
linux·运维·自动化·makefile·make·自动化构建
xiaogg367815 小时前
k8s 部署yaml文件和Dockerfile文件配置
java·docker·kubernetes
_codemonster15 小时前
测试用例怎么写
运维·服务器·测试用例
eggrall15 小时前
Linux信号——信号产生
linux·运维·服务器
zincsweet16 小时前
虚拟地址空间
linux
Ha_To16 小时前
26.5.19 未授权漏洞
linux·服务器·网络