上面左边是我的个人×××,如需进一步沟通,请加×××。  右边是我的公众号“Openstack私有云”,如有兴趣,请关注。


    继上次了解到有proxmox这个开源私有云(请参考我的上篇博客“proxmox-私有云的另一个选择”)的另一个选择之后,使用一台物理机进行了实际验证,做了一个最简单的安装和测试,同时下载了proxmox admin.pdf 文档研究如何管理以及背后使用的一些技术,对proxmox有了一个大概的了解和直观的感受。

    首先说结论,我认为,如果虚拟机数量在200以下的小型虚拟化或者私有云场景下,我会选择proxmox如果企业有vmware虚拟化的应用需求,使用proxmox替代VMware虚拟化是再合适不过了。下面说说为什么我会这么认为。

    proxmox是一个小众的开源产品,现在估计知道的人很少,主要的原因是国内介绍这个产品的资料很少,特别是中文资料,基本上都是停留在怎么安装使用方面,另一个就是使用的人也很少,但是使用过一次之后,会发现,他和vmware一样好用!而且免费,同时还支持各类存储,包括分布式存储ceph和zfs,能够像openstack一样轻松的实现超融合,在使用分布式存储的情况下可以很方便廉价的实现虚拟机的HA以及动态迁移,这简直是一个虚拟化的大杀器!!!

    我原来一直在使用维护以及安装方面openstack(我不是搞开发的),就是想找到一款能够适用大部分有虚拟化或私有云需求的中小型企业使用的开源的私有云产品,经过很长时间的学习和实验,基本解决了openstack落地会涉及的各类问题,包括HA设计,存储网络设计,安装,容灾备份,监控,等等问题。整个学习下来,发现真正掌握openstack并落地使用还真不是一件简单的事情,现在另一个念头在我脑子里越来越清楚,那就是:

    openstack用在小规模私有云场景下是大才小用,杀猪用了宰牛刀!!!

    上面有点啰嗦了,下面主要分析一下openstack和proxmox的一些共同点和不同点,以及各自的优势,我大概总结了一下,没有什么条理,想到哪儿就写到哪儿吧:

    1、openstack和proxmox都是开源软件,都是免费的,但是proxmox是一家公司维护的,如果想更好的技术支持,可以直接选择这家公司的订阅服务,具体是否有更好更直接的技术服务,比如上门调研设计安装维护什么的,没有了解过,估计没有,使用订阅服务,只是它会apt update 定期更新软件源,让整个平台对生产系统有更好的支持度,订阅更新的软件包经过更多的实际验证测试,真正能够达到生产系统级别要求,这些当然都是这个厂家说的,你可以理解为没订阅就相当于centos订阅了就相当于redhat ,只是一个商业版一个开源版。

    2、proxmox我更愿意称呼为虚拟化平台,可以直接替代vmware,可以这么说,vmware能够实现的功能proxmox基本能实现,vmware不能实现的功能proxmox可能也能实现。为什么说我更愿意认为他是虚拟化平台,是因为proxmox主要是提供了虚拟机主要实现Iaas功能,对于Iaas层上面Pass层基本没有涉及,比如没有提供容器编排,大数据,数据库编排等模块。

    3、超大规模的私有云应用场景,openstack要更胜一筹。通过了解proxmox所使用的技术可以得出这个结论,proxmox使用的数据库是sqllite文件数据库,官方文档说的是上千个虚拟机管理是没有任何问题的,其实潜台词就是说上万个估计就有问题了,为什么没有使用和openstack一样的mariadb,我觉得主要还是定位不一样造成的,对于上千个虚拟机的虚拟化产品,其实还真是没必要使用mariadb,用sqllite有什么好处呢,主要就是方便管理和实现文件系统级别的HA。    

    4、proxmox的安装使用超级方便。真的就是10多分钟就能安装一个物理节点并且直接可以登录web管理界面进行使用了,当然后面上传ISO镜像,生成虚拟机,网络管理配置,创建存储等等例行的工作还是一样需要做的。但是安装使用方面,proxmox真的做的特别棒,web管理界面很友好直观,同时很多系统层面的配置都可以直接在web界面中实现,比如物理网卡的管理、存储池的管理配置这种主要的系统配置都可以在web界面中实现,而openstack在这一块显得非常笨拙。proxmox更像是vmware的操作风格,基本上可以这么说,会使用vmware的人,也会使用promox。

    5、proxmox没有实现网络虚拟化,无法实现私有云内大规模网络虚拟化的需求,不像openstack可以自己定制内部vxlan网络和路由器,这个特性对于公有云是必备条件,但是对于私有云,规模不是特别大的情况下,可以接受。如果虚拟机规模过千,就确实需要考虑openstack了。

    6、proxmox对于存储的使用可以说做到了出神入化的境界。proxmox可以直接使用物理机本地存储,可以用lvm,可以用分布式存储ceph,可以用传统的磁盘阵列提供的共享存储,也可以使用zfs,可以使用NFS,等等等等。创建虚拟机的时候,可以自行选择将虚拟机放在哪个存储池中,不同的存储池中的虚拟机数据,可以采取不同的备份策略,比如文件系统的存储池,直接备份文件,对于支持快照的存储,可以采用快照备份,非常灵活。

    7、proxmox中linux虚拟机偏向于推荐使用容器(CT)实现,具体采用的技术是LXC,windows虚拟机使用kvm。CT虚拟机的生成,直接提供模板文件下载,在联网的情况下,直接点击下载就可以,模板下载完成后直接通过模板生成linux虚拟机,当然,也可以使用kvm方式的linux虚拟机。kvm虚拟机的使用主要通过上传ISO镜像直接进行安装,和vmware是一样的。当然也可以通过导出导入的方式生成虚拟机,前提是你需要有原来制作好的虚拟机备份。proxmox也可以直接使用openstack中的镜像文件,比如openstack中的各种镜像包含cloud-init虚拟机初始化脚本可以很方便的初始化生成虚拟机完成主机名IP地址等参数的初始化,proxmox可以直接拿过来使用,但是具体操作稍显复杂,我个人只是看了原版管理配置手册,没有动手实践。

    8、proxmox更适合做桌面云。由于proxmox相对于openstack更轻量,更易于管理使用,所以也就更适合在中小型企业中使用桌面云。关于桌面云,现在通常的概念是需要在虚拟化平台的基础上再加上VDI的相关组件,比如用户认证模块、桌面连接分配管理模块、桌面web管理模块等等,并且VDI组件基本都是收费的,我测试了杰云科技的deskpool的桌面云,试用版可以有25个用户的授权,超过25个就需要购买license了,同时试用版创建的虚拟机还不能挂载数据盘等限制。基于我的开源癖好,反对一切收费软件,我从另一个角度去分析桌面云,其实对于规模不是很大的环境,根本就不需要VDI,是的,根本不需要!     不管是proxmox,还是openstack,我直接生成windows虚拟机并分配好IP,用户直接通过在瘦客户端设置RDP连接就可以直接使用了,哪来这么复杂的什么用户管理、资源池管理。桌面统一管理的需求,主要是在不固定瘦客户端的场景下使用,比如在一个大公司里面使用桌面云,将账号分配给员工,员工无论在哪一台瘦客户端上,只要直接使用自己账号密码,都能登陆到自己的同一台windows虚拟机上。但是我们大部分的公司都是固定座位的啊,所以这种情况下面,告诉每个员工他的虚拟机IP地址和账号密码是什么,他自己直接通过瘦客户端设置连接到自己的虚拟机上就OK了!    桌面这一块还涉及到视频画面质量、音频、操作等用户体验的问题,这一块需要通过动手实践去检验,但是我相信,对于普通公司办公的需求,这一块要求不会太高,即使员工要求高,老板也不会让你有这个要求的 :)

    好了,也就先想到这么多,打字也打累了,后面再想到其他的再进行补充。


再次总结一下:

    小型虚拟化或者私有云场景下,可以选择proxmox,大型私有云场景下,使用openstack。固定座位的办公桌面云,proxmox  直接满足,不用VDI 。


PromixVE 系列文章:

  • proxmox-私有云的另一个选择

  • proxmox 之 与openstack的比较

  • ProxmoxVE 之集群安装(V5.2)

  • ProxmoxVE(V5.2) 之 使用外部ceph存储(luminous)   

  • ProxmoxVE 之 5.3集群安装及使用ceph

  • ProxmoxVE 之 创建centos7基础镜像模板

  • ProxmoxVE 之 创建win10基础镜像模板

  • ProxmoxVE 之 V2V迁移(vmware->PVE)

  • ProxmoxVE 之 安装oracle12C rac集群

  • ProxmoxVE 之 安装oracle12C 数据库(CDB和PDB)

  • ProxmoxVE 之 oracle12C 多CDB和PDB