KVM 虚拟化环境搭建 - ProxmoxVE
送大家一套完全开源免费的 VmWare / vSphere 的代替方案,代价是稍微动一下手,收获是你再也不需要任何商用付费的虚拟机软件了。KVM 整套解决方案一般分三层:
- KVM:内核级别的虚拟化功能,主要模拟指令执行和 I/O
- QEMU:提供用户操作界面,VNC/SPICE 等远程终端服务
- Libvirtd:虚拟化服务,运行在 Hypervisor 上提供 TCP 接口用于操作虚拟机的创建和启停
第一个是 Linux 内核自带,后两个是各大发行版自带的标准组件。这里的 qemu 不是原生的 Fabrice 的 qemu,而是定制的 kvm 版本的 qemu 。
你当然可以用 qemu-system-x86 程序写很长的一串参数来启动你的虚拟机,但是这样十分不友好,所以有了 Libvirtd 这个东西,将物理机的所有资源:存储/网络/CPU 管理起来,并且提供统一的服务接口。
那么 KVM + Libvirtd 有几种不同层次的玩法:
- 初级:在 /etc/libvirtd/qemu 下面用 xml 描述每一台虚拟机的配置,然后用 virsh 在命令行管理虚拟机,最后用 VNC/SPICE 按照配置好的端口链接过去,模拟终端操作。
- 中级:使用各种 libvirtd 的前端,比如基于桌面 GUI 的 Virt Manager 给你界面上直接编辑和管理虚拟机,桌面版本的 VNC/SPICE 会自动弹出来,像 VmWare 一样操作。
- 高级:使用基于 Web 的各种 virt manager 进行集群管理,比如轻量级的 WebVirtMgr / Kimchi,适合小白的 Proxmox VE。基本是用 WebVnc/Web
- 超级:上重量级的 OpenStack,搭配自己基于 libvirt (libvirtd 的客户端库,比如有 python-libvirt 的封装)写的各种自动化脚本。
前两种太弱智了,OpenStack 又基本需要一个 DevOps 团队才玩得转。所以作为个人或者中小团队,买了台硬件过来,想把它变成一套小型的阿里云,腾讯云的系统,可以在 web 上创建/配置虚拟机,装系统,管理硬件资源,进行迁移备份等,基本就是第三套解决方案。
不想折腾的话,最简单的做法是直接下载 ProxmoxVE 社区版的 ISO ,刻录到 U 盘里,按照安装普通操作系统一样的安装到物理机上,立马把你的物理机变成一台 Hypervisor:
Proxmox VE 安装后启动,你可以登陆进去,ProxmoxVE 基于 Debian 9 ,进去可以用 apt-get 进行版本升级。接着按提示打开网页:https://your-ip:8006/ 用系统 root 密码登陆:
ProxmoxVE 可以方便的管理各种硬件资源(计算,存储,网络)和虚拟机系统,你可以方便的新建一台虚拟机并进行硬件配置:
各项配置应有尽有:
配置好了以后启动虚拟机,选择“console”就可以使用 webvnc 终端安装操作系统了:
嫌终端太小看不过来的话,可点右上角的 Console 按钮,弹出一个终端独占窗口,全屏化安装:
ProxmoxVE 除了上面这些功能外,还能方便的对虚拟机进行:复制,快照,迁移。你如果有硬盘阵列,它还能使用 ZFS 帮你做软件 Raid,保证数据安全性,不需要学习复杂的 zfs 命令行,web上点点点就出来了。
小到个人 Linux Box ,大到商用的虚拟化集群,Proxmox VE 都能帮你方便的管理起来,提供开箱即用的体验,全部都是基于开源免费方案。唯一的问题是 Proxmox VE 本身和 Sublime Text 一样属于付费软件,但是可以免费使用,只不过免费版每次登陆 web后台会弹出一个对话框:
提醒你要去注册而已,不过连这个烦人的对话框也是可以干掉的,登陆到物理机的系统里面,修改一下 pvemanagerlib.js 这个文件的判断条件就行:
sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/pve-manager/js/pvemanagerlib.js不过该对话框也只有登陆的时候才会出现一次,如果不是强迫症的话,犯不着更改。
个人使用的话,二十分钟就可以在安装完 Proxmox VE,里面创建三个虚拟机,一个跑黑群晖或者各种 Docker 容器,一个开发用 Ubuntu/Debian ,另外一个跑个 Windows 10,网络设置成桥接模式,同一个路由器下可以直接访问,最后把他们的电源选项都配置成随同物理机开机自动启动,妥了,基本满足日常使用。
跑 Windows 的话,web 上用 VNC 操作桌面效率太低了,可以考虑使用 SPICE ,或者安装完系统以后打开 Windows 的远程桌面服务,以后用远程桌面操作。
到这里,你真的不需要 VmWare / HyperV / vSphere 这些乱七八糟的东西了。性能问题?KVM对性能的损耗只有 1%-2% ,你就是 VmWare 再快,1%了不起了嘛?99% 和 98% 有区别么?当然 VmWare / HyperV 的图形性能模拟的不错,虚拟机里可以玩点小游戏,这属于娱乐需求了,跑后台服务的话基本不用考虑。







40到50人的团队搞OpenStack,失败的案例不计其数。失败的原因通常是把功能描绘的太邪乎,对团队的能力盲目信任。
40-50人的团队,老老实实 webvirtmgr 或者 proxmoxve 即可,openstack 这种,等服务器过 100 台再说。
说出来你可能不信, 我都是先吭哧吭哧看半个小时手册和google, 手写一个超长的命令行, 然后以后每次都ctrl+r从历史记录里面找...
向你致敬
原来你说KVM对标VMware肯定是过了,不过proxmox那就没问题啦!从个人实践来看,proxmox能替代vsphere 99%的功能,剩余那1%的功能大概率你用不上。
恩,vmware属于商业模式被颠覆的东西,只能守着老用户不断的恐吓开源东西不靠谱,经常出问题,丢数据,损失上亿,跟 IBM吓他的小型机用户别用linux一样。但是仍然挡不住时代的变迁。
支持开源!![[赞同]](data:image/png;base64,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)
你可以找相关评测和论文,我自己也比较过,我自己的比较 1%以内
虽然是多年以前的,但还是回一下 我遇到了一样的情况,跑win虚拟机性能相当差
可以搜索到的优化手段,硬件直通 手动指定cpu特性 enlightment,透明巨页,vcpupin与io线程,调节时钟,host的cpu支配模式,中断相关优化等等等等全试过 性能依然极差 相比裸机,cpu跑分有85% 实际跑程序性能降低到一半以下
能直通不?
当然可以啊,虚拟机内操作外部 USB 盘,操作外部 sata 阵列,妥妥的。
直通网卡有bug,一直没配好
我的几个pve集群已经都已经快六七年了,生产环境,这货真的好用,一个人就能搞定