开源超融合私有云神器proxmox VE
发布时间:2022-03-17 人浏览
Prxomox VE由位于奥地利维也纳的Proxmox Server Solutions GmbH开发;这让人有点意外。
其实欧洲在IT技术方面,还是很强的,比如大名鼎鼎的mysql出自瑞典,分布式文件系统moosefs出自波兰。
Proxmox主打产品有两款:Proxmox Virtual Environment与Proxmox Mail Gateway;
本专栏仅仅涉及proxmox虚拟化,即PVE。
Proxmox主要特征
Proxmox VE is a powerful open-source server virtualization platform to manage two virtualization technologies - KVM (Kernel-based Virtual Machine) for virtual machines and LXC for containers - with a single web-based interface. It also integrates out-of-the-box-tools for configuring high availability between servers, software-defined storage, networking, and disaster recovery.
这段文字出自proxmox的官方网站;我简单地翻译一下;
Proxmox是开源的虚拟化管理平台。虚拟化管理平台与私有云管理平台能不能划等号;我无法确定;但与vmware或者openstack这类云管理平台相比较;功能上不存在明显的差异。
同时支持KVM虚拟机和LXC容器虚拟化。
用单一的web界面管理所有资源–物理节点、网络、存储、虚拟机等等。
多个物理节点可组成集群并配置成高可用环境。在proxmox体系结构里;节点集群与高可用是分离的。集群是高可用的前提;但集群可以不配置成高可用;比如对服务质量要求不高的场合;集群仅仅是为了统一管理上的方便。
其实;这些特征看起来一点也不吸睛;能不能不要这么低调呢;好东西;要大力宣传嘛;下边我来总结一下proxmox的优点。
易于安装部署。以iso文件提供;刻录到光盘或者u盘;分分钟就安装完毕。虽然vmware的esxi也是iso安装;但其管理平台却是分离的;需要单独出来。Promox去中心化;单节点安装的是它;集群安装的还是它。
配置迅速。一条指令创建起一个集群;几条指令就可以创建好分布式文件系统。
管理简便;支持中文。Web界面;布局合理;功能菜单/链接一目了然。
机动灵活。单台可用;多台也可以集群。
可控性强。Proxmox基于debian 9,底层是完整的debian发行版;除了在web界面进行操控外;还可以直接登录debian;进行各种操作。而exsi;虽然也是基于linux;但对系统进行了大量阉割;能自行操作的空间已经很小;进那么几个简单的指令而已;reboot都没有了。
多维度超融合。不需外挂存储;计算资源与存储整合到一个物理设置;此为硬件上的超融合;proxmox同时服务器虚拟化与桌面虚拟化;此为应用超融合;这个对组织机构内部网络来说;大大地节省资金和最大限度利用资源;。
项目成本低。因为是开源软件;没有巨额的软件授权费;商业软件是按cpu 核数计算授权费的;采购一台服务器;授权费少则几万;多则数十万;。超融合去中心化;省去了昂贵的共享存储;光纤阵列等;。自行采购服务器;按需插上磁盘;比商业的超融合硬件;便宜很多很多。
Proxmox主要功能
○支持kvm(Kernel-based Virtual Machine)与LXC;Linux Containers;
Kvm是基于操作系统内核的全虚拟化解决方案;与内核集成;因而具备与逻辑相接近的性能。在部署之前;需要确定硬件是否支持虚拟化。X86结构的cpu;intel芯片需要开启vt-x,而AMD芯片则需要开启AMD-v。查AMD官网;最新型号的宵龙epcy 7601核心数32个;线程数达到前所未有的64个。采购2个cpu;配置足够的内存和磁盘;单台物理服务;可虚拟出好多好多的系统;#xff01;
○基于容器的虚拟化;LXC;
linux容器是一种轻量化的虚拟化技术;在操作系统之上进行资源隔离。直观的说;kvm是安装多个操作系统;一个操作系统就是一个虚拟机;而linux容器;只有宿主操作系统;其上是容器而不是其它操作系统。
○虚拟机在线/离线迁移
在一个集群环境下;物理节点上的虚拟机;可以随意迁移到其它物理节点;并支持在线迁移。实践证明;如果资源配置不够高;主要指硬盘性能;固态硬盘最强;在线迁移慢得会让你怀疑人生;特别是那些卖设备给做的方案;动不动就4TB的企业级大容量sata;更是糟糕得想砸服务器。
有很多办法可以保持业务的连续性;因此;最佳的建议还是离线迁移虚拟机。
○管理功能management
从单个物理节点;到大规模节点集群;所需的功能已经默认安装。从浏览器就可以管理所有的计算资源。独特的多主设计;其实也就是无主了;去中心化;组建起来的集群;统一管理虚拟机、容器、存储等资源;无需额外管理服务器;如vmware的vcenter;。单独的管理服务器存在;增加了系统的复杂度;同时也增加了单点失效的风险。
Proxmox集群文件系统。Proxmox使用自己独有的集群文件系统pmxcfs,该文件系统是基于数据库格式;以文本方式存储配置。这么一个普通的文件;可以支持数以千计的虚拟机的规模。该配置文件;通过corosync在集群中实时同步。这些集群文件系统的配置;永久保存在磁盘上;同时也驻留一份在内存中-文件的极限值是30M;但却足够存储数以千计的虚拟机配置。以下为某个proxmox集群文件系统的具体格式及内容;
root@www:~# more /etc/corosync/corosync.conf
logging {
debug: off
to_syslog: yes
}
nodelist {
node {
name: m
nodeid: 2
quorum_votes: 1
ring0_addr: 172.16.228.38
}
node {
name: formyz
nodeid: 4
quorum_votes: 1
ring0_addr: 172.16.228.59
}
node {
name: www
nodeid: 1
quorum_votes: 1
ring0_addr: 172.16.228.60
}
}
quorum {
provider: corosync_votequorum
}
totem {
cluster_name: formyz
config_version: 5
interface {
bindnetaddr: 172.16.228.60
ringnumber: 0
}
ip_version: ipv4
secauth: on
version: 2
}
Web统一管理接口。不需要安装专门的客户端;vmware早期的版本;需要在windows下安装客户端;非常具有局限性;后来也改进成支持web管理;也不需要单独部署一个管理服务器。以前部署的oracle vm;就需要一个专门的vm manager服务器。
命令行接口。老司机们;所谓的高级用户;可以用命令行管理所有的虚拟化环境;包括各种组件。下两图是web方式与命令行方式对同一对象进行展示的效果;
命令行方式查看宿主服务器创建的虚拟机
浏览器查看所创建的虚拟机
RESTfull API。以JSON为主要数据格式;让开发者或者用户可以很方便的集成第三方工具。
基于角色的权限管理。Proxmox内置多种管理角色;以利于对计算资源进行精细化管理及各种操作。
从图中可以看出;一共是12种角色权限。其作用域是全局的;数据中心;除了内建的角色外;还可以自定义创建角色。
身份认证;authentication Realm;。Proxmox支持多种身份认证源;比如Microsoft Active Directory, LDAP;linux标准的PAM;用linux系统帐号;以及proxmox的PVE认证。
○proxmox高可用集群
平台运行期间;资源管理器监控集群上所有的虚拟机及linux容器;一旦虚拟或者容器发生故障;他们将自动漂移到正常运行的物理节点。物理节点部分失效;运行其上的虚拟机或者容器自动漂移;这样描述可能更容易理解一些。
○proxmox桥接网络
Proxmox单一物理网卡可创建多个桥接接口;官方宣传的数字可到4094个网桥;直观一点的说;可以创建多个虚拟网段;用于支持更大规模的应用。
对于多网卡的物理主机;如dell某些型号的服务器;板载4个网卡。可以两两绑定网卡;以获得更大的带宽或者更高的可用性。特别需要注意的是;进行网卡绑定;bond;操作;类别必须是桥接。
○存储系统
Proxmox支持的存储模式非常灵活;虚拟机镜像既可存储在本地;也可以存储在共享存储之中;如nfs、SAN(存储区域网络)。
虚拟机存储于共享网络;最大的好处就是在线迁移而不是导致服务停止。当然;不用共享存储;分布式存储也是一种共享机制;物理机失效时;虚拟机无法漂移或者手动迁移。
通过web管理界面;用户可以添加如下类型的存储;
◆网络存储
LVM Group (network backing with iSCSI targets)
iSCSI target
NFS Share
Ceph RBD
Direct to iSCSI LUN
GlusterFS
◆本地存储
LVM Group (local backing devices like block devices, FC devices, DRBD, etc.)
Directory (storage on existing filesystem)
ZFS
○备份与恢复
Proxmox执行的是完整备份;包括虚拟机/容器的配置文件及所有数据。备份操作可通过web界面进行;也可以在命令行下执行。
Web界面定义好开始时间;到点以后;可以在系统看见执行的指令;如下图所示;
通过查询到的系统指令;可以知道备份的文件都存储到什么位置;以利于了解背后的真相。
为了更保险;可以对不可再生数据;如数据库数据、用户上传数据等;进行应用级别的备份。数据库有自身的备份机制;用户数据可以用rsync同步工具。
○proxmox防火墙
个人认为;没必要启用这个功能;建议在网络入口处使用专用设备来保证授权访问。以web界面配置防火墙;比直接在命令行敲iptables要风险要小很多;这样能避免输入上的马虎。
反正我本人是从来没打算使用proxmox自带的防火墙;你呢;
服务与支持
方法一;自己动手;丰衣足食。
proxmox社区提问。需要懂英文;有可能没人回复。有中文的社区;但不是很活跃。我加入了一个proxmox的微信公众号;更新频度低;文档数也不多。
阅读免费的文档。官方提供的文档;还是非常权威及易于实现的;照着文档一步步实验;多半能成功;。为了方便读者;我把链接直接给出 https://pve.proxmox.com/pve-docs 。
Proxmox官方wiki。个人建议先看官方的免费文档;要扩展知识面时;再来阅读wiki可能比较有利。
Proxmox操作视频。通过科学上网;在YouTube网站搜promxox;有很多关于proxmox技术操作的视频;虽然是各种语言;我都听不懂;讲述;但不影响学习和取得经验。看这些视频;体验更为直观;建议有条件的;多看视频;再结合文档;很快就能驾驭proxmox。
题外话
通过本文的介绍;亲;你是否对私有云神器proxmox有一个整体的印象;是不是信心满满;可轻松驾驭之;
想想也是;其实真没啥复杂。无非是几台服务器;执行几条指令;点几次鼠标嘛;#xff01;可能有人会说;我没有服务器;更没有几台服务器;怎么实验呢;#xf在这里我就给大家支支招;应该可以解决这个疑问。
我的实验环境主要由两台物理设施组成;一台技嘉迷你pc和一台杰云的云终端盒子。
技嘉迷你pc安装proxmox;做集群实验时;就在其上做虚拟机嵌套处理;做桌面虚拟化时;启用proxmox的spice协议;拿云终端盒子去连接。
我在狗东上购买的迷你pc;cpu是8线程;内存4g,硬盘1TB。在测试安装oracle 12g rac过程中;性能严重不足;通过加内存到24G;性能得以大大改善。当然;如果考虑到成本;可以参照这个配置;选购其它小众一点的品牌。
迷你主机;小巧又安静
https://blog.csdn.net/solore/category_9596098.html
http://download.proxmox.wiki/iso/