开源虚拟机平台-ProxmoxVE
2011-11-23 11:11:34 阿炯

Proxmox VE (Proxmox Virtual Environment) 是一个集成OPENVZ并支持KVM应用的环境。有方面易用的Web界面,基于Java的UI和内核接口,可以登录到VM客户方便的操作,还有易用的模板功能,支持VT和ISCSI。其基于 Debian Linux 开发并使用了基于 Ubuntu 的定制内核,包含安装程序、网页控制台和命令行工具,并且向第三方工具提供了 REST API,Proxmox VE 支持两类虚拟化技术:基于容器的 LXC 和硬件抽象层全虚拟化的 KVM。其支持两类虚拟化技术:基于容器的 LXC(自 4.0 版开始,3.4 版及以前使用 OpenVZ 技术)和硬件抽象层全虚拟化的 KVM。软件授权条款有几种,开源部分采用的是 GNU AGPL (Affero General Public License) 条款,并提供企业订阅服务与授权密钥。



PVE是一种开源的虚拟化平台,支持容器化(LXC)和虚拟机(KVM),可用于创建和管理虚拟化环境。它基于Debian并提供了一个Web界面,使得用户能够方便地管理虚拟机、容器、存储和网络等资源。PVE适用于个人用户、小型企业或大型企业,支持高可用性、集群管理、存储集成和备份等功能。在虚拟化领域,可能大家耳熟能详的可能就是 VMware、VirtualBox、Hyper-V 等虚拟化平台,Proxmox VE 同样也是一款非常优秀的开源虚拟化平台,它不但可以运行虚拟机还支持 LXC 容器,也可以应用在企业生产环境中,在个人测试学习不订阅的情况下,可用于免费使用。

其由位于奥地利首都维也纳的 Proxmox Server Solutions GmbH 公司开发。这家公司由 Martin Maurer 和 Dietmar Maurer 两位创始人在 2005 年创立,Proxmox VE 是一个基于 Debian Linux 的完整开源(基于:GNU Affero通用公共许可证第3版许可)服务器管理平台,专为企业级虚拟化设计。PVE是一款开源的虚拟化平台,它运行在 Debian 操作系统之上。它结合了 /KVM (Kernel-based Virtual Machine) 和 LXC (Linux Containers) 两种主流的虚拟化技术,支持虚拟机和容器的运行,支持多种操作系统和应用程序,此外 PVE 还提供高可用集群管理、软件定义存储、备份和恢复以及网络管理等企业级功能。

1.KVM(Kernel-based Virtual Machine):基于内核的虚拟机管理程序,用于运行高性能的虚拟机。
2.LXC(Linux Containers):轻量级的容器技术,提供隔离的执行环境,非常适合运行基于 Linux 的应用程序和服务。

主要特点和功能:

高性能虚拟化:Proxmox VE 提供基于KVM的高性能虚拟化技术,支持创建和管理虚拟机。
容器虚拟化:支持LXC/LXD容器技术,允许在同一物理服务器上运行多个隔离的Linux容器。
易于管理:提供基于Web的图形用户界面,使得虚拟机和容器的管理变得简单直观。
高可用性:支持虚拟机和容器的高可用性集群,即支持多个节点组成一个集群,确保服务的连续性和可靠性。
存储管理:提供对 Ceph 分布式存储系统的原生支持,集成了ZFS和LVM存储技术,提供数据冗余、快照和复制功能。
备份和恢复:支持在线备份和恢复,包括虚拟机和容器的快照和复制。
网络管理:提供灵活的网络配置选项,提供 VLAN、VXLAN、Bonding、桥接等功能,使用户能够灵活配置网络架构。
安全特性:包括防火墙、安全补丁更新和访问控制列表(ACL)等安全功能。
硬件兼容性:支持广泛的硬件,包括Intel、AMD和ARM架构。
虚拟机模拟器:作为底层模拟器 QEMU 提供虚拟硬件仿真,并支持实时迁移、备份等高级功能。用户可以通过 PVE 的 Web 界面管理 QEMU 虚拟机。
开源和免费:Proxmox VE 是一个开源项目(基于GNU Affero通用公共许可证第3版许可),提供免费使用。
实时迁移:支持虚拟机和容器的实时迁移,无需停机。
模板和克隆:允许创建虚拟机和容器的模板,便于快速部署和管理。
REST API和命令行工具:提供REST API和命令行工具,方便自动化和脚本化管理。

重要进程服务介绍:

pvedaemon:核心守护进程,负责处理用户通过 Web UI 或命令行发出的管理请求。它是管理和控制虚拟机、容器、存储、备份等操作的关键服务。功能:创建、删除、启动、停止虚拟机和容器;管理存储资源;监控系统状态和性能。

pveproxy:提供 Web 界面的后台服务。它为管理员提供了友好的图形用户界面,支持集群管理、虚拟机和容器操作、网络和存储配置等功能。功能:提供 Web 界面访问。处理用户的 HTTP 请求并转发给其他服务。提供 SSL 加密的管理访问。

pvestatd:负责收集集群中各个节点的状态信息,包括虚拟机、容器的运行状态、存储和网络的使用情况等,并将这些信息传递给其他服务进行管理决策。功能:收集节点和虚拟机的实时状态信息。提供统计信息用于性能监控和高可用性管理。

pve-cluster:集群的核心管理服务,负责集群中的数据同步、节点通信和配置管理。它基于 corosync 提供分布式数据存储,用于共享配置文件、存储、网络等信息。功能:管理节点的加入和离开。同步集群配置文件。提供虚拟机和容器的实时迁移功能。

pve-ha-manager:高可用性集群的核心服务,它负责在主节点宕机或出现故障时,自动将虚拟机或容器切换到其他节点继续运行。功能:实现虚拟机和容器的高可用性。自动故障切换,保证业务连续性。管理高可用性的资源调度。


Features
- Backup and Restore
* GUI and CLI, works for OpenVZ containers and KVM VM´s
* "Backup Now" via GUI
* Complete new backup scheduler
* All jobs can be monitored as “Recent tasks”
* vzdump package is obsolete, all code went into pve-manager package

- OpenVZ
* Multiple storages for OpenVZ container, no limit to /var/lib/vz anymore!!!
* vswap support
* Improved init.log (shows startup logs of a OpenVZ container)

- KVM monitor
- Simple File Manager
* Upload ISO images and templates via browser
* No size limit anymore, you can upload DVD iso to all storage types via browser, even BD works
* Works on all nodes, e.g. if you are connected on node1 you can upload images to storage on node2

- Logging
* Syslog viewer complete reworked, auto refresh
* Clusterwide “Recent tasks”, major improvements

- “Right-click” menus
* Starting and shutdown container and VM´s
* Open VNC Console

- VNC Console
* Can be opened also for non-running container and VM´s (easier to debug startup issues for KVM guests)

- Browser support
* Initial support for IE, Firefox and Chrome are preferred (use always latest versions)


基本架构

PVE主要由以下几个核心组件构成:
Proxmox VE管理节点:负责整个虚拟化环境的管理和控制。管理员可以通过Web管理界面或命令行接口来管理所有资源。
KVM(Kernel-based Virtual Machine):这是一个开源的虚拟化技术,允许PVE创建和管理虚拟机。每个虚拟机都运行一个完整的操作系统,支持完全的隔离。
LXC(Linux Containers):轻量级容器技术,可以让多个容器共享宿主操作系统的内核,适用于需要高效性和快速启动的场景。
存储管理:PVE支持多种存储方式,包括本地存储、网络附加存储(NAS)、分布式存储(如Ceph)、共享存储(如NFS、iSCSI等)。
网络管理:PVE提供了灵活的网络配置选项,可以通过虚拟交换机、桥接网络、VLAN等技术实现网络隔离和负载均衡。

简单安装

PVE的安装过程相对简单,通常只需要将其安装在一个空白的硬盘上,类似于普通的Linux系统安装。安装过程包括以下几个步骤:
下载Proxmox VE的ISO镜像文件。
使用U盘或虚拟机安装工具将ISO写入USB设备或虚拟硬盘。
启动计算机并进入安装界面。
配置网络设置、时间和语言设置。
安装完毕后,配置Web管理界面,通过浏览器访问PVE的Web管理界面(默认地址是https://<PVE_IP>:8006)。

虚拟机与容器管理

虚拟机管理
PVE通过KVM提供虚拟机支持。每个虚拟机都可以运行独立的操作系统,支持各种操作系统,如Linux、Windows、BSD等。
创建虚拟机时,可以选择硬件资源(CPU、内存、硬盘等)和操作系统镜像。
可以在Web界面上启动、停止、暂停和重启虚拟机。
PVE支持快照和备份功能,可以帮助管理员快速恢复虚拟机的状态。
高级功能包括虚拟机迁移、克隆和模板创建。

容器管理
PVE还支持LXC容器,它是一个轻量级的虚拟化技术。相比虚拟机,LXC容器消耗的资源更少,启动速度更快。
LXC容器通过共享宿主机内核来实现隔离。
PVE支持容器的创建、配置、启动、停止等操作。
容器适用于运行轻量级的应用程序或服务,例如Web服务器、数据库等。

存储管理
PVE支持多种存储选项,可以选择本地存储、共享存储或分布式存储。
本地存储:直接连接到PVE节点的存储设备(如硬盘、SSD)。
共享存储:例如NFS、iSCSI等网络存储设备,可以在集群中共享存储空间。
分布式存储:例如Ceph,支持高可用性和数据分布功能,适合大型集群环境。
PVE通过存储插件提供了对不同存储后端的支持,管理员可以灵活地选择存储方式。

网络管理
PVE提供了丰富的网络配置选项:
虚拟交换机(vSwitch):PVE允许在多个虚拟机之间进行网络隔离,可以创建虚拟交换机以连接多个虚拟机。
桥接网络(Bridge):将虚拟机连接到宿主机的物理网络,支持公网和私网通信。
VLAN支持:PVE支持VLAN(虚拟局域网)配置,适用于有网络隔离需求的场景。
网络隔离和防火墙:通过设置虚拟交换机和防火墙规则,PVE可以实现细粒度的网络隔离和安全控制。

高可用性与集群管理
PVE支持通过集群功能来实现高可用性(HA)。
PVE集群:通过PVE集群,可以将多个PVE节点连接在一起,形成一个统一的管理平台。集群内的虚拟机和容器可以在不同的物理节点之间迁移。
高可用性(HA):PVE集群支持虚拟机或容器的自动迁移和重启功能,当一个节点发生故障时,集群中的虚拟机会自动迁移到其他健康的节点,确保服务的连续性。
Ceph存储:使用Ceph等分布式存储解决方案,可以实现高可用存储和数据冗余。

备份与恢复
PVE支持虚拟机和容器的定期备份,可以选择全备份或增量备份,备份数据可以存储在本地或远程存储中。
快照:创建虚拟机或容器的快照,保存当前状态,便于后续恢复。
定期备份:通过设置备份计划,PVE可以自动执行备份任务,保证数据的安全。

管理接口之Web界面与命令行
PVE提供了直观的Web管理界面,用户可以通过浏览器访问管理平台,进行虚拟机、存储、网络和集群的管理。
Web界面:提供了图形化界面,支持虚拟机和容器的创建、配置、监控和管理。
命令行:PVE也提供了强大的命令行工具,管理员可以使用命令行进行高级操作和自动化脚本编写。

安全性与权限管理
PVE提供了多层次的安全控制和权限管理:
用户权限管理:可以为不同的用户设置不同的权限,控制其对虚拟机、存储、网络等资源的访问权限。
防火墙:通过防火墙规则,管理员可以控制虚拟机和容器的网络访问。
SSL加密:Web管理界面支持SSL加密,确保通信安全。

日志与监控
PVE提供了系统日志和性能监控功能,管理员可以实时查看虚拟机的资源使用情况、性能数据等。
监控:可以查看虚拟机的CPU、内存、磁盘和网络使用情况。
日志:提供详细的操作日志,方便管理员排查故障和进行审计。

PVE是一个功能强大且易于使用的虚拟化平台,适用于各种规模的组织。通过提供KVM虚拟机和LXC容器的支持,它可以灵活地满足不同的虚拟化需求。其高可用性、集群管理、存储集成和备份等功能,使其成为企业数据中心和云环境中的理想选择。与其它虚拟化平台对比。

对比 Proxmox VE、VMware、VirtualBox 和 Hyper-V 四个虚拟化平台的主要差异:
特性/平台Proxmox VEVMwareVirtualBoxHyper-V
开源/免费开源/免费(社区版)部分免费(VMware Workstation)/商业版开源/免费商业版
操作系统Linux跨平台(Windows, Linux, macOS)跨平台(Windows, Linux, macOS)Windows
虚拟化技术KVM/LXCESXi/ESXVBOXHyper-V
用户界面Web UI/命令行图形界面/命令行图形界面/命令行图形界面/PowerShell
支持的虚拟机类型KVM虚拟机和LXC容器虚拟机虚拟机虚拟机
高可用性支持支持不支持支持
存储管理ZFS/LVMSAN/NAS/VMDK动态分配/固定大小SAN/NAS/VHD
网络管理支持VLAN/桥接支持VLAN/NAT/桥接支持NAT/桥接/内部网络支持VLAN/NAT/桥接
实时迁移支持支持不支持支持
备份和恢复支持快照/复制支持快照/复制支持快照支持快照/复制
硬件兼容性广泛广泛广泛仅限Windows
性能非常高适中
安全性社区支持企业级支持社区支持企业级支持
社区和文档社区支持广泛文档和社区社区支持微软官方支持
使用场景服务器虚拟化/容器企业级虚拟化个人/教育/测试企业级虚拟化

请注意,上述表单提供了一个大致的对比,具体的特性和性能可能会随着各个平台版本的更新而变化,每个平台都有其特定的优势和适用场景,选择哪个平台取决于你的具体需求、预算和技术水平。PVE 架构和服务紧密结合了虚拟化和容器技术,并通过集群、存储和网络的统一管理,提供了一个强大、灵活且可扩展的虚拟化平台。

处理器类别的选择对性能和兼容性有显著影响,例如:KVM64 模式:是一个较为基础的CPU模型,是一个专为KVM优化的CPU模型,类似于 Pentium 4 的水平。QUME64 模式:是 KVM64 的超集,提供了更多的功能和更好的兼容性。HOST  模式:相当于CPU的完全模拟,即主机是什么CPU,虚拟机也是什么CP x86-64-v2-AES 模式:是PVE 8.0版本中新的默认VM CPU类型,提供了比 qemu64/kvm64 更重要的额外特性,并改善了许多计算操作的性能。


最新版本:4.1
此版本基于最新 Debian V8,Linux Kernel 4.2.6 和 LXC/QEMU 2.4.1。Proxmox 4.1 "Virtual Environment" 主要是一些改进和 bug 修复:为 ISO 安装器提供更好的 ZFS 集成;更好的启动和暂停;LXC 容器硬盘大小调节;一些 LXC 技术预览。更多改进内容请看发行说明。增加 SPICE 多监视器远程浏览器,同时包含支持直接在 Proxmox VE 主机上构建 Ceph 存储集群,另外就是 Open vSwitch。改进了在线备份,支持 Vmware pvscsi 和 vmxnet3,新的 ZFS 存储插件,最新的 NIC 驱动程序和 bug 修复。

最新版本:5.2
2018年5月16日 - 开源虚拟化平台Proxmox VE的开发商Proxmox Server Solutions GmbH宣布推出5.2版。 Proxmox VE 5.2附带了一些新功能,例如用于虚拟机配置自动化的Cloud-init软件包,CIFS / SMB存储插件以及通过图形用户界面进行的Let's Encrypt证书管理。 Proxmox开发团队进一步扩展了集群功能,可通过Web界面创建和配置Proxmox VE集群。开源虚拟化管理平台Proxmox VE 5.2基于Debian 9.4,以及更新和修改的Linux Kernel 4.15。

Cloud-Init支持自动化VM配置
Proxmox VE 5.2现在支持Cloud-Init,这是一款多分发程序包,可在首次引导时处理虚拟机的初始设置,并允许调配已根据模板部署的虚拟机。使用Cloud-Init软件包Proxmox用户可以通过图形用户界面轻松配置主机名,添加SSH密钥,设置安装点或运行安装后脚本。它还支持例如Ansible,Puppet,Chef,Salt等自动化工具访问预先安装的磁盘映像并从中复制新的服务器。

SMB/CIFS存储插件
灵活的Proxmox VE存储模型现在集成了可通过Web界面管理的SMB/CIFS存储插件。 CIFS以及NFS是网络附加存储(NAS)中使用的主要文件系统。 CIFS是Windows操作系统用于文件共享的“通用Internet文件系统”,它允许连接到Windows文件服务器或其他SMB兼容服务器与SMB/CIFS后端。

Let's Encrypt GUI加密证书管理
使用新版本5.2,Proxmox用户现在可以通过Proxmox界面管理他们的Let's Encrypt证书,从而显着减轻了管理员的工作量。Let's Encrypt是一个自动化的开放式证书颁发机构(CA),提供启用网站安全HTTPS(SSL/TLS)所需的免费数字证书。 Proxmox用户已经能够创建自4.2版以来的Let's Encrypt证书,现在他们可以通过Web界面通过两次简单的点击来颁发和续订证书。Proxmox VE 5.2提供了许多附加功能,以提高可用性,可扩展性和安全性,其中包括:
通过图形用户界面创建集群。此功能使创建和加入Proxmox群集的节点非常简单直观,即使对于新手用户也是如此。
LXC的扩展功能:现在创建模板或将磁盘从一个存储设备移动到另一个存储设备也适用于LXC。 移动磁盘功能可用于停止/暂停容器,而不是备份/恢复。
如果安装了QEMU来宾代理,则GUI上会显示虚拟机的IP地址。
管理员现在可以通过GUI轻松创建和编辑新角色。
可以设置恢复操作的I/O限制(全局或每个存储更加细化),以避免在恢复备份时I/O负载过高。
在Proxmox VE防火墙中配置ebtables。


更新细节如下:
1、操作系统升级至Debian Stretch 9.4
2、Linux内核升级至4.15.17
3、Qemu 2.11.1
4、LXC 3.0.0
5、Ceph 12.2.5
6、ZFS 0.7.8
7、GUI支持Cloudinit
8、GUi支持集群创建、加入
9、GUI支持证书管理
10、新增SMB/CIFS存储插件
11、GUI显示虚拟机IP(需要安装qemu-guest-agent)
12、LXC支持模版、克隆、磁盘移动
13、GUI支持角色创建、编辑
14、新增虚拟机恢复操作限速功能
15、更完善的xterm.js集成
16、基本/高级GUI
17、新增ebtables支持
18、文档更新
19、大量补丁和bug修复

最新版本:6.0
Proxmox VE v6.0 已经发布,v6.0 版本包括对用于虚拟环境的开源技术的最新版本的更新,如 5.0 Linux 内核(基于 Ubuntu 19.04“Disco Dingo”)、QEMU 4.0.0、LXC 3.1.0、Ceph 14.2(Nautilus)、ZFS 0.8.1 和 Corosync 3.0.2。Proxmox VE 6.0 提供了一些新的特性和修复错误。

更新内容:
Ceph Nautilus(14.2)和改进的 CJoseph 仪表板管理:允许使用 Proxmox VE/Ceph-cluster 来设置和管理超收敛的基础设施,6.0 集成了最新的 ceph 14.2 版本的特性,并为基于 web 的用户界面带来了许多新的管理功能
安装程序现在通过 UEFI 支持 ZFS 根目录,例如可以在 NVMe SSD 上启动 ZFS 镜像
v6.0 中包含了新的 QEMU 功能
v6.0 提供了对自定义 Cloudinit 配置的支持,并允许用户将其存储为代码片段
Corosync 现在使用单播作为默认传输方法
ZFS 的新特性包括增强安全性和数据保护,这是因为通过将加密直接集成到“zfs”实用程序中,增加了对本机加密和舒适的密钥处理的支持

其他更改:
自动清理旧内核映像:旧内核映像不再被标记为‘NeverAutoRemove’,这有助于防止在小分区上安装/引导时出现问题
安装程序中改进的 ISO 检测:安装程序检测 ISO 的方式已经被重新设计,包括了更多的设备,从而缓解了在某些硬件上检测的问题
现在可以为整个池创建备份任务
每 24 小时自动旋转一次认证密钥:通过将密钥生存期限制为 24 小时,可以减少密钥泄漏或恶意管理员的影响
用户界面中的 Node 视图提供了更快的 syslog 视图

最新版本:7.0
Proxmox VE v7.0 稳定版本已于2021年7月上旬正式发布,该版本中值得关注的更新内容包括:
基于 Debian 11 "Bullseye",但使用较新的 Linux kernel 5.11;
更新至 LXC 4.0、QEMU 6.0、OpenZFS 2.0.4;
Ceph Pacific 16.2 作为新的默认版本,Ceph Octopus 15.2 仍然被支持;
Btrfs 存储技术,具有卷宗快照,内置RAID,并通过数据和元数据的校验进行自我修复;
新的 "Repositories" 面板,通过 GUI 轻松管理软件库;
使用 OpenID Connect 的单点登录(SSO);
QEMU 6.0 带有 "io_uring",是对未引用的虚拟机磁盘的清理选项;
LXC 4.0 完全支持 cgroups2;
重新设计的 Proxmox 安装程序环境;
ACME 独立插件,改进了对双栈(IPv4 和 IPv6)环境的支持;
将 ifupdown2 作为新安装的默认值;
chrony 作为默认的 NTP 守护程序;
以及大量的改进和错误修复等;
更多详情可查看此处

最新版本:8.0
Proxmox VE v8.0 已正式于2023年6月下旬发布,新特性如下:
新的 Ceph Enterprise 存储库: Proxmox 虚拟环境完全集成了 Ceph Quincy,允许直接从任何集群节点运行和管理 Ceph 存储,并轻松设置和管理超融合基础设施。
身份验证领域同步作业:基于 LDAP 领域(LDAP 和 Microsoft Active Directory)的用户和组的同步现在可以配置为定期自动运行。
为软件定义网络 (SDN) 定义的网络资源,现在也可作为 Proxmox VE 访问控制子系统 (ACL) 中的对象使用。可以向特定用户和组授予主机网桥和 VNet 的细粒度权限。
资源映射:现在可以在 API 和 Web 界面中创建和管理资源(例如 PCI (e) 或 USB 设备)与 Proxmox VE 集群中的节点之间的映射。VM guest 虚拟机可以分配这样一个抽象资源:它可以与每个节点上的具体资源相匹配。这使得具有直通设备的虚拟机能够进行离线迁移。
双因素身份验证/TOTP 的安全锁定:为了进一步提高安全性,登录尝试次数过多(第二因素身份验证失败)的用户帐户将被锁定。
安装程序 ISO 的基于文本的用户界面 (TUI):已添加基于文本的用户界面。
x86-64 -v2-AES 模型是通过 Web 界面创建的 VM 的新默认 CPU 类型。它提供了比 qemu64/kvm64 重要的额外功能,并提高了许多计算操作的性能。更多信息请参考更新公告


官方主页:http://www.proxmox.com/