{pve} 是一个用于运行虚拟机和容器的平台。它基于 Debian Linux,并且完全开源。为了最大程度的灵活性,我们实现了两种虚拟化技术 - 基于内核的虚拟机 (KVM) 和基于容器的虚拟化 (LXC)。
一个主要的设计目标是尽可能简化管理工作。你可以在单个节点上使用 {pve},或组建一个多节点的集群。所有管理任务都可以通过我们的基于网页的管理界面来完成,即使是新手用户也可以在几分钟内设置和安装 {pve}。
中央管理系统
虽然许多人从单个节点开始,{pve} 可以扩展到一个大型的集群节点集。集群堆栈完全集成,并随默认安装一起提供。
- 独特的多主设计
-
集成的基于网络的管理界面为您提供了一个清晰的概览,涵盖了所有的KVM客户端和Linux容器,甚至是您整个集群的状态。您可以轻松地通过图形用户界面管理您的虚拟机和容器、存储或集群。无需安装单独的、复杂的和昂贵的管理服务器。
- Proxmox 集群文件系统 (pmxcfs)
-
{pve} 使用独特的 Proxmox 集群文件系统 (pmxcfs),这是一个数据库驱动的文件系统,用于存储配置文件。这使您能够存储数千台虚拟机的配置。通过使用 corosync,这些文件将在所有集群节点上实时复制。文件系统将所有数据存储在磁盘上的持久化数据库内,尽管如此,数据的副本仍存在于 RAM 中,这提供了最大30MB的存储大小 - 足以容纳数千个虚拟机。
{pve}是唯一使用这种独特的集群文件系统的虚拟化平台。
- 基于网络的管理界面
-
{pve}使用起来很简单。管理任务可以通过内置的基于web的管理界面来完成——无需安装单独的管理工具或带有庞大数据库的额外管理节点。多主工具允许您从集群的任何节点管理整个集群。基于JavaScript框架(ExtJS)的中央网络管理使您能够控制GUI的所有功能,并监视每个单独节点的历史记录和系统日志。这包括运行备份或恢复作业、实时迁移或HA触发的活动。
- 命令行
-
对于习惯于Unix shell或Windows Powershell舒适度的高级用户,{pve} 提供了一个命令行界面来管理虚拟环境的所有组件。这个命令行界面具有智能的标签补全功能,以及形式为UNIX手册页的完整文档。
- REST API
-
{pve} 使用了 RESTful API。我们选择 JSON 作为主要数据格式,并且整个 API 使用 JSON Schema 正式定义。这使得第三方管理工具(如自定义托管环境)能够快速且容易地集成。
- 基于角色的管理
-
您可以通过使用基于角色的用户和权限管理来为所有对象(如虚拟机、存储、节点等)定义细粒度的访问控制。这允许您定义特权,并帮助您控制对对象的访问。这个概念也被称为访问控制列表:每个权限指定一个主体(用户或组)以及在特定路径上的一个角色(一组特权)。
- 认证域
-
{pve}支持多种认证源,包括Microsoft Active Directory、LDAP、Linux PAM标准认证或内置的{pve}认证服务器。
灵活存储
{pve} 存储模型非常灵活。虚拟机镜像可以储存在一个或多个本地存储设备上,也可以保存在像NFS这样的共享存储或者SAN上。没有限制,您可以根据需要配置任意数量的存储定义。您可以使用Debian Linux支持的所有存储技术。
将虚拟机存储在共享存储上的一个主要好处是能够在不产生任何停机时间的情况下实时迁移运行中的机器,因为集群中的所有节点都可以直接访问虚拟机磁盘镜像。
我们目前支持以下类型的网络存储:
-
LVM组(使用iSCSI目标的网络支持)
-
iSCSI 目标
-
NFS共享
-
CIFS共享
-
Ceph 块存储设备
-
直接使用iSCSI LUNs
-
GlusterFS
支持的本地存储类型包括:
-
LVM 组(本地后端设备,如块设备、光纤通道设备、DRBD 等)
-
目录(现有文件系统上的存储)
-
ZFS 是一种计算机文件系统,由 Sun Microsystems 创建,并在 2005 年以开源形式发布。"ZFS" 并不是一个需要翻译的词汇,而是该文件系统的名称,因此在中文中通常也直接称为 "ZFS"。
集成备份和恢复
集成的备份工具(vzdump
)可以创建运行中容器和KVM客人的一致性快照。它基本上会创建一个包括VM或CT配置文件在内的VM或CT数据的存档。
KVM实时备份适用于包括NFS、CIFS、iSCSI LUN、Ceph RBD上的VM镜像在内的所有存储类型。新的备份格式针对快速有效存储VM备份进行了优化(稀疏文件、无序数据、最小化I/O)。
高可用性集群
一个多节点的{pve} HA集群能够定义高可用的虚拟服务器。该{pve} HA集群基于经过验证的Linux HA技术,提供稳定可靠的HA服务。
灵活网络
{pve} 使用桥接网络模型。所有虚拟机都可以共享一个网络桥接,就像每个客户机的虚拟网络电缆都插入到同一个交换机中。为了将虚拟机连接到外部世界,桥接会连接到物理网络卡并被分配TCP/IP配置。
为了进一步增加灵活性,可以实现VLANs(IEEE 802.1q)和网络绑定/聚合。通过这种方式,可以为{pve}主机构建复杂、灵活的虚拟网络,充分利用Linux网络堆栈的强大功能。
集成防火墙
集成防火墙允许您在任何虚拟机或容器接口上过滤网络包。常见的防火墙规则集可以分组到`‘安全组’'中。
超融合基础设施
{pve}是一个虚拟化平台,它紧密集成了计算、存储和网络资源,管理高可用性集群、备份/恢复以及灾难恢复。所有组件都是软件定义的,并且彼此兼容。
因此,可以通过集中的网络管理界面将它们像单一系统一样管理。这些能力使得{pve}成为部署和管理开源[超融合基础设施](https://en.wikipedia.org/wiki/Hyper-converged_infrastructure)的理想选择。
超融合基础设施(HCI)的优势{pve}
超融合基础设施(HCI)特别适用于基础设施需求高而管理预算低的部署环境,以及适用于分布式设置,例如远程和分支机构环境或用于虚拟私有和公共云。
HCI提供以下优势:
-
可扩展性:计算、网络和存储设备(即、服务器和存储的快速独立扩展)的无缝扩展。
-
低成本:{pve} 是开源的,并集成了您需要的所有组件,如计算、存储、网络、备份和管理中心。它可以替代昂贵的计算/存储基础设施。
-
数据保护与效率:备份和灾难恢复等服务已集成。
-
简洁性:简易配置和集中式管理。
-
开源:没有供应商锁定。
超融合基础设施:存储
{pve}具有紧密集成的支持,用于部署超融合存储基础设施。例如,您可以仅使用web界面部署和管理以下两种存储技术:
-
Ceph:一个既能自我修复又能自我管理的共享、可靠且高度可扩展的存储系统。了解如何在{pve}节点上管理Ceph服务,请查看如何在{pve}节点上管理Ceph服务。
-
'ZFS:是一个结合了文件系统和逻辑卷管理器的工具,它具有广泛的数据防腐败保护、各种RAID模式、快速且成本低廉的快照功能等特点。了解如何在{pve}节点上利用ZFS的强大功能。'
除了上述内容,{pve} 还支持集成多种附加存储技术。您可以在存储管理器章节中了解它们。
为什么选择开源
{pve} 使用 Linux 内核,并基于 Debian GNU/Linux 发行版。{pve} 的源代码是根据 GNU Affero 通用公共许可证,版本3 发布的。这意味着你可以随时检查源代码或者自己为项目做出贡献。
在Proxmox,我们致力于尽可能使用开源软件。使用开源软件保证了对所有功能的完全访问权限——同时也确保了高安全性和可靠性。我们认为每个人都应该有权访问软件的源代码,以便运行它、在其基础上构建,或者向项目提交更改。鼓励每个人做出贡献,同时Proxmox确保产品始终符合专业质量标准。
开源软件也有助于降低成本,并使您的核心基础设施不依赖单一供应商。
您与{pve}的福利
-
开源软件
-
没有供应商锁定
-
Linux 内核
-
快速安装且易于使用
-
基于Web的管理界面
-
REST API
-
庞大的活跃社区
-
低管理成本和简单部署
获取帮助
Proxmox VE 维基
信息的主要来源是{webwiki}。它将参考文档与用户贡献的内容结合在一起。
社区支持论坛
{pve} 本身是完全开源的,因此我们总是鼓励我们的用户使用 {forum} 讨论和分享他们的知识。该论坛由 Proxmox 支持团队进行管理,并拥有来自世界各地的庞大用户群。不用说,如此庞大的论坛是获取信息的好地方。
邮件列表
这是通过电子邮件与 {pve} 社区快速沟通的一种方式。
-
用户邮件列表: {PVE} 用户列表
{pve}是完全开源的,欢迎贡献!开发者的主要交流渠道是:
-
给开发者的邮件列表: {PVE} 开发讨论
商业支持
{proxmoxGmbh}同样提供企业级支持,可以通过{pricing-url}[{pve} 订阅服务计划]获得。 所有拥有订阅的用户可以访问{pve} 企业存储库,并且如果是基础、标准或者高级订阅—还能够使用Proxmox客户门户。客户门户提供帮助和支持,保证来自{pve}开发者的响应时间。
为了获取批量购买折扣,或者了解更多信息,请联系sales@proxmox.com[销售部门]。
缺陷跟踪器
Proxmox在https://bugzilla.proxmox.com运行一个公共的错误跟踪器。如果出现问题,请在那里提交您的报告。问题既可以是错误,也可以是对新功能或增强的请求。错误跟踪器有助于跟踪问题,并且一旦解决,将会发送通知。
项目历史
该项目始于2007年,随后在其后发布了第一个稳定版本。 2008. 在那个时候,我们使用OpenVZ来管理容器,而使用KVM来管理虚拟机。集群功能有限,用户界面很简单(由服务器生成的网页)。
但我们迅速使用https://corosync.github.io/corosync/[Corosync]集群堆栈开发了新功能,新的Proxmox集群文件系统(pmxcfs)的引入是一个重大进步,因为它完全隐藏了集群的复杂性,让用户操作变得简单。管理一个16节点的集群就像管理一个单一节点一样简单。
我们还推出了一个新的REST API,它有一个完整的声明性规范,用JSON-Schema编写。这使得其他人可以将{pve}集成到他们的基础设施中,并且使得提供额外服务变得容易。
此外,新的REST API使得可以用现代的HTML5应用程序替换原始用户界面,该应用程序使用JavaScript编写。我们也用https://kanaka.github.io/noVNC/[noVNC]替换了旧的基于Java的VNC控制台代码。因此,您只需要一个网络浏览器就可以管理您的虚拟机。
支持各种存储类型是另一个重大任务。值得注意的是,{pve} 是第一个默认情况下在 Linux 上搭载 ZFS 的发行版。 2014. 另一个里程碑是能够在hypervisor节点上运行和管理 Ceph 存储。这样的设置极其具有成本效益。
当我们开始时,我们是最早提供KVM商业支持的公司之一。KVM项目本身不断发展,现在是一个广泛使用的虚拟机监控器。每个版本都会带来新功能。我们开发了KVM实时备份功能,它可以在任何类型的存储上创建快照备份。
4.0版本最显著的变化是从OpenVZ转移到了[LXC](https://linuxcontainers.org/)。容器现在已经深度集成,并且它们可以使用与虚拟机相同的存储和网络功能。
完善 {pve} 文档
对 {pve} 文档的贡献和改进一直受到欢迎。有多种方式可以做出贡献。
如果您在这份文档中发现错误或其他改进空间,请在Proxmox错误跟踪系统中提出更正建议:https://bugzilla.proxmox.com/[Proxmox bug tracker]。
如果你想提出新的内容,选择以下选项之一:
-
维基:对于特定的设置、操作指南或教程,维基是贡献的正确选择。
-
参考文档:对所有用户都有用的一般内容,请将您的贡献提议给参考文档。这包括所有关于如何安装、配置、使用以及排除{pve}功能问题的信息。参考文档采用https://en.wikipedia.org/wiki/AsciiDoc[asciidoc格式]编写。要编辑文档,您需要克隆位于`git://git.proxmox.com/git/pve-docs.git`的git仓库;然后遵循https://git.proxmox.com/?p=pve-docs.git;a=blob_plain;f=README.adoc;hb=HEAD[README.adoc]文档。
Note
|
如果你对开发{pve}代码库感兴趣,{webwiki-url}Developer_Documentation[开发者文档]的维基文章会指引你如何开始。 |
翻译 {pve}
{pve}用户界面默认为英语。然而,多亏了社区的贡献,其他语言的翻译也可用。我们欢迎任何支持,以添加新语言、翻译最新功能以及改进不完整或不一致的翻译。
我们使用https://www.gnu.org/software/gettext/[gettext]来管理翻译文件。像https://poedit.net/[Poedit]这样的工具提供了一个很好的用户界面来编辑翻译文件,但你可以使用任何你习惯的编辑器。翻译不需要任何编程知识。
使用git进行翻译
语言文件可以通过https://git.proxmox.com/?p=proxmox-i18n.git[git仓库]获取。如果你熟悉git,请根据我们的{webwiki-url}开发者文档[Developer Documentation]做出贡献。
你可以通过以下操作创建一个新的翻译(将<LANG>替换为语言ID):
git clone git://git.proxmox.com/git/proxmox-i18n.git
cd proxmox-i18n
make init-<LANG>.po
或者你可以使用你选择的编辑器来编辑一个现有的翻译:
poedit <LANG>.po
不使用git的翻译
即使你不熟悉git,你也可以帮助翻译{pve}。首先,你可以下载语言文件[这里](贡献者许可协议(webwiki-url)Developer_Documentation#Software_License_and_Copyright。
测试翻译
为了在{pve}中使用翻译,你必须首先将`.po`文件翻译成`.js`文件。你可以通过调用位于同一仓库中的以下脚本来完成这一操作:
./po2js.pl -t pve xx.po >pve-lang-xx.js
生成的文件 pve-lang-xx.js
可以复制到您的proxmox服务器上的目录 /usr/share/pve-i18n
,以便进行测试。
或者,您可以通过从仓库的根目录运行以下命令来构建一个deb包:
make deb
Important
|
要让其中任何一个方法工作,你需要在系统上安装以下的perl包。对于Debian/Ubuntu: |
# apt-get install perl liblocale-po-perl libjson-perl
发送翻译
您可以将完成的翻译(`.po`文件)发送给Proxmox团队,地址是office(at)proxmox.com,并附上签名的贡献者许可协议。或者,如果您有一些开发经验,您可以将其作为补丁发送到{pve}开发邮件列表。请参阅{webwiki-url}Developer_Documentation[开发者文档]。