开源超融合私有云神器proxmox VE

2023-05-16

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,配置足够的内存和磁盘,单台物理服务,可虚拟出好多好多的系统!
在这里插入图片描述
○基于容器的虚拟化(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有一个整体的印象?是不是信心满满,可轻松驾驭之?

想想也是,其实真没啥复杂。无非是几台服务器,执行几条指令,点几次鼠标嘛!可能有人会说,我没有服务器,更没有几台服务器,怎么实验呢?在这里我就给大家支支招,应该可以解决这个疑问。

我的实验环境主要由两台物理设施组成:一台技嘉迷你pc和一台杰云的云终端盒子。

技嘉迷你pc安装proxmox,做集群实验时,就在其上做虚拟机嵌套处理;做桌面虚拟化时,启用proxmox的spice协议,拿云终端盒子去连接。

我在狗东上购买的迷你pc,cpu是8线程,内存4g,硬盘1TB。在测试安装oracle 12g rac过程中,性能严重不足,通过加内存到24G,性能得以大大改善。当然,如果考虑到成本,可以参照这个配置,选购其它小众一点的品牌。
迷你主机,小巧又安静

云终端盒子,试过多种,建议选购支持协议多的产品。下图是我在某宝购买的杰云J50,600大洋,不包邮!
在这里插入图片描述
看,这两种设备加起来,估计没一台苹果手机贵。我看有些人,花7-8千买苹果手机,眼都不眨一下,准备试验环境,升职加薪,自然也应该不在话下吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开源超融合私有云神器proxmox VE 的相关文章

随机推荐

  • 信息安全之信息摘要技术

    什么是信息摘要 xff1f 指一段数据的特征信息 xff0c 当数据发生了改变 xff0c 信息摘要也会发生改变 信息摘要是由哈希函数生成的 主要为了保证数据的完整性 xff0c 保证接收到的数据不被篡改 常见的摘要计算方法有MD5 128
  • 信息安全技术之数字签名

    什么是数字签名 xff1f 就类似于生活中公司发布一些文件 放假通知啥的 xff0c 老板会在文件的后面签名或者会盖上公司的印章 xff0c 目的就是标识这个文件是公司发布的 在计算机中我们没办法像真实世界那样签名 xff0c 这时候我们就
  • 设置Mysql C API断线自动重连

    Mysql的C API自带重连功能 xff0c 执行语句时发现连接断开 xff0c mysql库会尝试重连 xff0c 并重新执行语句 使用mysql options函数设置MYSQL OPT RECONNECT选项可以开启自动重连功能 默
  • mysql_query()和myql_real_query()的区别

    函数原型 span class token keyword int span span class token function mysql query span span class token punctuation span MYSQ
  • mysql_store_result和mysql_use_result的区别

    mysql store result 本次查询的所有结果都缓存到客户端 xff0c 这样做的好处是可以随意的访问结果中的值 xff0c 例如可以使用mysql data seek 和mysql row seek 访问任意位置的数据或者行 同
  • linux下实时跟踪文件变化tail指令

    很多时候我们程序进入后台之后 xff0c 日志信息会写入到文件中 此时如果用一般的文件操作指令 例如cat xff0c 手动的一次一次的查看 tail命令在这个时候就非常有用 span class token comment 使用 f参数指
  • 【教程】老主板可以用上Nvme协议的固态硬盘?当然可以!!!!(注意:只适用于支持UEFI BIOS的主板)

    如今固态硬盘分为SATA协议和Nvme协议的 xff0c 虽然SATA协议的固态硬盘已经可以满足大多数用户的需求 xff0c 但是和Nvme协议的固态硬盘比起来差别还是很大的 xff0c SATA协议的固态硬盘最多500 600MB s的传
  • 解决windeployqt打包QML程序无法启动的问题

    windeployqt exe是qt自带的打包工具 xff0c 在打包qml程序时需要带上 qmldir参数 xff0c 指定qml导入符号的路径 xff0c 否则会出现无法启动的问题 windeployqt xxx exe qmldir
  • windows下如何找到占用文件或文件夹的程序

    我们在操作一个文件或文件夹时 xff0c 经常会遇到被占用的问题 xff0c 如下图 绝大部分情况下我们知道是那些程序占用 xff0c 可以直接关闭他 xff0c 但是也有很多时候我们不知道是哪个程序占用的 xff0c 可以用下面的方式来解
  • 正则表达式的零宽断言

    概念 断言 xff1a 就是说正则可以指明在指定的内容的前面或后面会出现满足指定规则的内容 零宽 xff1a 代表断言是一个占位符 xff0c 并不会在查找结果中输出 实例 使用的测试原文如下 xff1a lt w t gt 测试1 lt
  • 如何在Qt中使用zlib

    前言 环境 xff1a qt5 9 9 zlib1 2 1 windows10 QtCreator4 11 0 本文介绍了在Qt中使用zlib的方式 使用的场景是在上位机软件中使用解压缩功能 点击此处下载本文完整的示例代码 问题 比较麻烦的
  • 如何在程序中解析获取word文档(docx格式)的文本内容

    原理 docx格式的word文档其实是一个压缩包 xff0c 文本内容 格式 图片等是分别存储在不同的文件中的 xff0c office通过这些文件还原出我们所看到的word文档 下面以一个简单的示例来说明docx格式 示例 首先我们新建一
  • QFormLayout布局该什么时候使用

    概述 QFormLayout是一种支持两列的格子布局方式 xff0c 左列是标签 xff0c 右列是窗口部件 可以方便且快速的实现标签和输入组件的组合 xff0c 如下图 示例 像上面的例子 xff0c 使用QGridLayout 栅格布局
  • Qt判断文件类型 QMimeType

    前言 通常来说我们判断一个文件的类型是根据后缀名称来的 xff0c 例如 xff1a txt是文本文件 exe是二进制文件可执行程序 在程序中需要预设后缀名称 xff0c 有些时候不太容易把属于某类文件的后缀名写全 比如说图片类型的文件 x
  • 在qmake中定义子项目的编译顺序(依赖关系)

    背景 当一个大项目中包含多个子项目时 xff0c 往往子项目之间有依赖关系 xff0c 这时需要在pro文件中指明子项目的编译顺序 xff0c 否则编译整个项目的时候可能会失败 实现 现有项目一名称为Porject1 xff0c 包含三个子
  • lua面向对象-----继承的实现

    前言 在lua里是没有类的概念的 xff0c 但是可以利用表 xff08 table xff09 和元表特性来实现面向对象和继承 lua的表类似于一个对象 xff0c 每个对象都有自己的方法和属性 当访问一个表中不存在的属性时 xff0c
  • 使用Qt实现阿里云API签名

    最近需要使用阿里云API来访问物联网平台 xff0c 但是阿里官方的C 43 43 版API有些复杂而且编译有些问题 xff0c 所以决定自己来实现 xff0c 这里主要就是要解决签名的问题 xff0c 下面把签名实现的部分分享一下 使用示
  • Ubuntu下dpkg安装软件遇到包依赖问题的处理方法

    在Ubuntu环境下通过dpkg命令安装deb包时 xff0c 如果遇到包依赖问题 xff0c 如 sudo dpkg i xxx deb Reading database 227173 files and directories curr
  • proxmox VE备份优化手记--两次优化,大幅度提高性能

    问题描述 某项目由两套proxmox组成 xff0c 一套运行所有的应用程序 xff0c 一台运行mysql数据库 为了保险起见 xff0c proxmox外挂共享存储 xff0c 夜间对所有的虚拟机进行自动备份 备份是用的一台4U服务器
  • 开源超融合私有云神器proxmox VE

    Prxomox VE由位于奥地利维也纳的Proxmox Server Solutions GmbH开发 xff0c 这让人有点意外 其实欧洲在IT技术方面 xff0c 还是很强的 xff0c 比如大名鼎鼎的mysql xff0c 出自瑞典