Chapter 02 · Installing Proxmox VE

第 2 章 安装 Proxmox VE

2.安装 Proxmox VE Installing Proxmox VE

Proxmox VE 基于 Debian。因此 , Proxmox 提供的安装盘镜像(ISO 文件)中包含一套完整的 Debian 系统 , 以及所有必需的 Proxmox VE 软件包。

TIP

关于 Proxmox VE 版本与 Debian 版本之间的对应关系 , 请参见 FAQ 中的支持关系表

安装器会引导您完成整个过程 , 包括对本地磁盘进行分区、应用基本系统配置(如时区、语言、网络) , 并安装所有必要的软件包。整个过程通常只需几分钟。使用官方 ISO 安装 , 是面向新用户与老用户的推荐方式。

作为替代方案 , Proxmox VE 也可以安装到已有的 Debian 系统之上。此方式仅推荐给高级用户 , 因为它要求您对 Proxmox VE 的细节有深入了解。

2.1.系统需求 System Requirements

在生产环境中运行 Proxmox VE 时 , 我们推荐使用高品质的服务器硬件。为进一步降低单台主机故障带来的影响 , 您可以在集群中运行 Proxmox VE , 并使用高可用(HA)虚拟机与容器。

Proxmox VE 支持本地存储(DAS) 、 SAN 、 NAS 以及 Ceph RBD 这类分布式存储。详情参见 存储章节

2.1.1.最低需求(仅用于评估) Minimum Requirements, for Evaluation

以下最低需求仅适用于评估目的 , 不应用于生产环境:

  • CPU:64 位(Intel 64 或 AMD64)
  • 支持 Intel VT / AMD-V 的 CPU / 主板 , 以获得 KVM 全虚拟化支持
  • 内存:1 GB , 并额外预留客户机所需内存
  • 硬盘
  • 一块网卡(NIC)
  • Intel 64 或 AMD64 , 且 CPU 支持 Intel VT / AMD-V 特性标志。
  • 内存:操作系统与 Proxmox VE 服务最少 2 GB, 再加上为客户机专门分配的内存。使用 Ceph 或 ZFS 时需要更多内存 , 大致按每 TB 已用存储约 1 GB 内存估算。
  • 使用快速且冗余的存储 , 最佳实践是使用 SSD。
  • 操作系统存储 :使用带电池保护写缓存(BBU)的硬件 RAID ; 或者使用无硬件 RAID 的 ZFS(可选配 SSD 作为 ZIL)。
  • 虚拟机存储:
    • 本地存储 :使用带电池保护写缓存(BBU)的硬件 RAID ; 或为 ZFS 与 Ceph 使用无硬件 RAID 的磁盘。ZFS 和 Ceph 都与硬件 RAID 控制器不兼容。
    • 共享存储与分布式存储均可。
    • 推荐使用带 PLP(Power-Loss-Protection , 掉电保护)的 SSD 以获得良好性能。不建议使用消费级 SSD。
  • 冗余的(多)千兆网卡(Multi-Gbit NIC) , 并根据所选存储技术与集群拓扑追加网卡。
  • 对于 PCI(e) 直通(passthrough) , CPU 需支持 VT-d / AMD-d 特性标志。

2.1.3.简易性能概览 Simple Performance Overview

若想在已安装的 Proxmox VE 系统上快速了解 CPU 与硬盘性能 , 可运行系统自带的 pveperf 工具。

NOTE

这只是一个非常粗略的通用基准测试。建议进行更细致的测试 , 尤其针对系统的 I/O 性能。

2.1.4.访问 Web 界面的受支持浏览器 Supported Web Browsers for Accessing the Web Interface

访问基于 Web 的用户界面时 , 推荐使用以下浏览器之一:

  • Firefox , 当年度发布的版本 , 或最新的 Extended Support Release(ESR)
  • Chrome , 当年度发布的版本
  • Microsoft 当前仍在支持的 Edge 版本
  • Safari , 当年度发布的版本

从移动设备访问时 , Proxmox VE 会呈现一套轻量、基于触控的界面。

2.2.准备安装介质 Prepare Installation Media

请从以下地址下载安装器 ISO 镜像 :https://www.proxmox.com/en/downloads/proxmox-virtual-environment/iso

Proxmox VE 安装介质是混合(hybrid)ISO 镜像 , 可通过两种方式使用:

  • 作为 ISO 镜像文件 , 可直接刻录到 CD 或 DVD。
  • 作为裸扇区(IMG)镜像 , 可直接写入 USB Flash Drive(U 盘)。

推荐使用 U 盘安装 Proxmox VE, 因为这种方式更快。

2.2.1.将 U 盘制作为安装介质 Prepare a USB Flash Drive as Installation Medium

U 盘至少需要 1 GB 可用容量。

NOTE

不要使用 UNetbootin。它无法正确处理 Proxmox VE 的安装镜像。

IMPT

请确认 U 盘未被挂载 , 且其中 不包含任何重要数据

2.2.2.GNU/Linux 操作指引 Instructions for GNU/Linux

在类 Unix 操作系统上 , 使用 dd 命令把 ISO 镜像复制到 U 盘。先找到 U 盘对应的正确设备名(见下文) , 然后运行 dd

# dd bs=1M conv=fdatasync if=./proxmox-ve_*.iso of=/dev/XYZ
NOTE

请务必把 /dev/XYZ 替换为真实的设备名 , 同时调整输入文件名(if)的路径。

CAUT

务必小心 , 千万不要写错磁盘 !

查找正确的 U 盘设备名 Find the Correct USB Device Name

有两种方法可以确定 U 盘的设备名。第一种是比较插入 U 盘前后 dmesg 输出末尾的行。第二种是比较 lsblk 命令的输出。打开终端运行:

# lsblk

然后插入 U 盘再次运行:

# lsblk

会出现一个新设备 , 这就是您要使用的那一块。为保险起见 , 请核对报告的容量是否与您的 U 盘一致。

2.2.3.macOS 操作指引 Instructions for macOS

打开终端(在 Spotlight 中搜索 Terminal)。

使用 hdiutil 的 convert 选项把 .iso 文件转换为 .dmg 格式 , 例如:

# hdiutil convert proxmox-ve_*.iso -format UDRW -o proxmox-ve_*.dmg
TIP

macOS 倾向于自动在输出文件名后追加 .dmg

获取当前设备列表:

# diskutil list

现在插入 U 盘并再次运行该命令 , 以确定分配给它的设备节点(例如 /dev/diskX)。

# diskutil list
# diskutil unmountDisk /dev/diskX
NOTE

将 X 替换为上一步得到的磁盘编号。

# sudo dd if=proxmox-ve_*.dmg bs=1M of=/dev/rdiskX
NOTE

上一条命令中使用的是 rdiskX 而不是 diskX, 这是有意为之 , 可以提升写入速度。

2.2.4.Windows 操作指引 Instructions for Windows

使用 Etcher Using Etcher

Etcher 开箱即用。从 https://etcher.io 下载后 , 它会引导您选择 ISO 与目标 U 盘。

使用 Rufus Using Rufus

Rufus 是一款更轻量的替代工具 , 但必须使用 DD 模式(DD mode)才能正常工作。从 https://rufus.ie/ 下载 , 安装或直接使用便携版。选择目标盘和 Proxmox VE ISO 文件。

IMPT

点击 Start 后 , 如果弹窗询问是否下载不同版本的 GRUB , 请点击 No。在下一个对话框中选择 DD 模式。

2.3.使用 Proxmox VE 安装器 Using the Proxmox VE Installer

安装器 ISO 镜像包含以下内容:

  • 完整的操作系统(Debian Linux, 64 位)
  • Proxmox VE 安装器 , 可将本地磁盘分区为 ext4 、 XFS 、 BTRFS(技术预览) 或 ZFS 并安装操作系统
  • 支持 KVM 与 LXC 的 Proxmox VE Linux 内核
  • 管理虚拟机、容器、主机、集群及所有必要资源的完整工具链
  • 基于 Web 的管理界面
NOTE

所选磁盘上的 所有现有数据都将在安装过程中被抹除。安装器不会为其他操作系统添加启动菜单项。

请插入 已制作好的安装介质(例如 U 盘或 CD-ROM)并从该介质启动。

TIP

请确保服务器固件设置(BIOS/UEFI)中已启用从该安装介质(例如 USB)启动。若要启动 Proxmox VE 8.1 之前版本的安装器 , 需先禁用 Secure Boot。

Proxmox VE GRUB 启动菜单
图 2.1 :Proxmox VE 安装器 GRUB 启动菜单

选择正确的启动项(例如 Boot from USB)之后 , 会显示 Proxmox VE 的安装菜单 , 可从以下选项中任选其一:

Install Proxmox VE (Graphical)

启动常规图形安装。

TIP

安装向导可仅通过键盘操作。按 ALT 键加按钮上带下划线的字符即可点击相应按钮 , 例如 ALT + N 即为点击 Next 按钮。

Install Proxmox VE (Terminal UI)

启动终端模式的安装向导。它与图形安装器提供完全一致的整体安装体验 , 但通常对特别老旧或特别新的硬件兼容性更好。

Install Proxmox VE (Terminal UI, Serial Console)

启动终端模式安装向导 , 并额外将 Linux 内核配置为使用主机的(第一个)串口进行输入输出。适用于完全无显示器、仅有串口控制台的机器。

Proxmox VE 终端模式安装器
图 2.2 :Proxmox VE 终端 UI 安装器

两种模式使用同一套安装流程代码 , 共享十余年累积的 bug 修复 , 并保持功能对等。

TIP

若图形安装器由于驱动等原因无法正常工作 , 可改用 Terminal UI 选项。也可参考 添加 nomodeset 内核参数

Advanced Options: Install Proxmox VE (Graphical, Debug Mode)

以调试模式启动安装。在安装过程的若干步骤会打开一个控制台 , 便于出问题时排查。按 CTRL-D 可退出调试控制台。也可以用此选项启动一个带有全部基础工具的 Live 系统 , 用于 修复受损的 ZFS rpool 或修复已有 Proxmox VE 安装的 引导加载程序(bootloader)

Advanced Options: Install Proxmox VE (Terminal UI, Debug Mode)

与图形调试模式相同 , 但准备运行基于终端的安装器。

Advanced Options: Install Proxmox VE (Serial Console Debug Mode)

与终端调试模式相同 , 并额外将 Linux 内核配置为使用(第一个)串口进行输入输出。

Advanced Options: Install Proxmox VE (Automated)

以无人值守(unattended)模式启动安装器 , 即使 ISO 未被正确准备为自动化安装也可运行。此选项可用于收集硬件信息 , 或调试自动化安装配置。详见 无人值守安装

Advanced Options: Rescue Boot

通过此选项可启动一个现有系统。它会扫描所有已连接硬盘 , 一旦发现已有安装 , 则使用 ISO 中的 Linux 内核直接引导进入该磁盘。适用于引导加载程序(GRUB / systemd-boot)出现问题 , 或 BIOS/UEFI 无法从磁盘读取引导扇区的情况。

Advanced Options: Test Memory (memtest86+)

运行 memtest86+ 以检测内存功能与完整性。运行此选项前 , 必须在 UEFI 固件设置中关闭 Secure Boot。

通常选择 Install Proxmox VE (Graphical) 开始安装。

选择目标硬盘
图 2.3 :选择目标硬盘

首先需阅读最终用户许可协议(EULA)。随后可选择安装的目标硬盘。

CAUT

默认情况下会使用整台服务器并 抹除所有现有数据。继续安装前请确认服务器上没有重要数据。

点击 Options 按钮可选择目标文件系统 , 默认是 ext4。当选择 ext4xfs 时 , 安装器会使用 LVM, 并提供额外选项以限制 LVM 空间(详见 下文)。

Proxmox VE 也可以安装在 ZFS 之上。 ZFS 提供多种软件 RAID 级别 , 因此对于没有硬件 RAID 控制器的系统是不错的选择。目标磁盘需要在 Options 对话框中选择。更多 ZFS 特定参数可在 Advanced Options 中修改。

WARN

不支持在任何硬件 RAID 之上运行 ZFS, 否则可能导致数据丢失。

选择地理位置与键盘布局
图 2.4 :选择地理位置、时区与键盘布局

下一页需配置一些基础选项 , 如地理位置、时区和键盘布局。地理位置用于选择就近的下载服务器 , 以加快更新速度。安装器通常能自动检测这些设置 ; 只有在自动检测失败 , 或希望使用您所在国家不常见的键盘布局时 , 才需要手动更改。

设置 root 密码与邮箱
图 2.5 :设置 root 密码与邮箱

接下来需指定超级用户(root)的密码与邮箱地址。密码长度至少 8 个字符。强烈建议使用更强的密码 , 参考建议:

  • 密码长度不少于 12 个字符。
  • 同时包含大小写字母、数字和符号。
  • 避免字符重复、键盘图案、常见字典词、字母或数字序列、用户名、亲友或宠物姓名、恋爱关系(当前或过往)以及个人信息(例如身份证号、祖先名字或生日)。

邮箱地址用于向系统管理员发送通知 , 例如:

  • 可用软件包更新信息。
  • 周期性 cron 任务的错误信息。
网络配置
图 2.6 :网络配置

所有此类通知邮件都将发送到此邮箱。

最后一步是网络配置。处于 UP 状态的网络接口在下拉菜单中其名称前会显示实心圆点。请注意 , 安装期间只能指定 IPv4 或 IPv6 地址之一 , 不能同时指定。如需双栈(dual stack)节点 , 请在安装完成后再追加其他 IP 地址。

安装摘要
图 2.7 :安装摘要确认

下一步会显示先前所选选项的摘要。请再次核对每一项设置 , 若需修改可使用 Previous 按钮回退。

点击 Install 后 , 安装器开始格式化磁盘并把软件包拷贝到目标磁盘。请等待此步骤完成 ; 然后移除安装介质并重启系统。

正在复制软件包
图 2.8 :正在复制软件包到目标磁盘

拷贝软件包通常需要几分钟 , 主要取决于安装介质的速度与目标磁盘性能。

完成软件包拷贝与配置后即可重启服务器。默认情况下几秒后会自动重启。

安装失败时 Installation Failure

若安装失败 , 请在第二个 TTY(CTRL + ALT + F2)查看具体错误 , 并确认系统满足 最低需求

若仍无法正常安装 , 请参阅 如何获取帮助 一章。

2.3.1.安装后访问管理界面 Accessing the Management Interface Post-Installation

Proxmox VE Web 界面登录窗口
图 2.9 :Web 管理界面登录窗口

成功安装并重启后 , 即可通过 Proxmox VE Web 界面进行后续配置:

  1. 在浏览器中打开安装时所设 IP 加上 8006 端口 , 例如 :https://youripaddress:8006
  2. 使用 root(认证域 PAM)与安装时设定的密码登录。
  3. 上传订阅密钥(subscription key)以访问企业仓库。否则 , 需要配置公共的、测试充分度较低的其他软件包仓库 , 才能获取安全修复、 bug 修复与新特性。
  4. 检查 IP 配置和主机名。
  5. 检查时区。
  6. 检查 防火墙设置

2.3.2.LVM 高级配置选项 Advanced LVM Configuration Options

使用 ext4xfs 时 , 安装器会创建名为 pve 的卷组(Volume Group , VG) , 以及三个逻辑卷(Logical Volume , LV):rootdataswap。可通过以下参数控制卷的大小:

hdsize

定义要使用的硬盘总大小。通过此参数可以在硬盘上保留未分配空间 , 供后续分区(例如在同一硬盘上再建一个 PV 与 VG 作为 LVM 存储)。

swapsize

定义 swap 卷大小。默认等于已安装内存容量 , 最小 4 GB , 最大 8 GB。得到的值不得大于硬盘容量的八分之一(hdsize / 8)。

NOTE

若设为 0 , 则不创建 swap 卷。

maxroot

定义 root 卷的最大大小 , 用于存放操作系统。可用存储空间大于 48 GiB 时 , 默认值为硬盘容量的四分之一(hdsize / 4) , 最大 96 GiB ; 可用存储小于 48 GiB 时 , root 卷至少为硬盘容量的一半(hdsize / 2)。

maxvz

定义 data 卷的最大大小。实际 data 卷大小按下式计算:

datasize = hdsize - rootsize - swapsize - minfree

其中 datasize 不得大于 maxvz

NOTE

使用 LVM thin 时 , 仅当 datasize 大于 4 GB 才会创建 data 池。

NOTE

若设为 0 , 则不创建 data 卷 , 存储配置也会相应调整。

minfree

定义 LVM 卷组 pve 中应保留的空闲空间大小。可用存储大于 128 GB 时默认为 16 GB , 否则为 hdsize/8

NOTE

LVM 创建快照需要 VG 中有空闲空间(lvmthin 快照不需要)。

2.3.3.ZFS 高级配置选项 Advanced ZFS Configuration Options

使用 ZFS 时 , 安装器会创建名为 rpool 的 ZFS 池。不会创建 swap 空间 , 但可以在安装盘上保留未分区空间供 swap 使用。也可以在安装后创建 swap zvol, 但这种方式可能带来问题(参见 ZFS swap 注意事项)。

ashift

定义所创建 ZFS 池的 ashift 值。ashift 至少应等于底层磁盘的扇区大小(2 的 ashift 次方 = 扇区大小) , 也应考虑未来可能加入池的磁盘(例如替换故障盘)。

compress

定义 rpool 是否启用压缩。

checksum

定义 rpool 使用的校验和算法。

copies

定义 rpoolcopies 参数。语义见 zfs(8) 手册页 , 同时请留意 :这不能替代磁盘级别的冗余。

ARC max size

定义 ARC 的最大可增长大小 , 从而限制 ZFS 使用的内存。更多细节参见 如何限制 ZFS 内存使用

hdsize

定义要使用的硬盘总大小。可用于为进一步分区(例如创建 swap 分区)保留空闲空间。hdsize 仅对引导磁盘生效 , 即 :RAID0 / RAID1 / RAID10 的第一块磁盘或镜像 ; RAID-Z[1/2/3] 的所有磁盘。

2.3.4.BTRFS 高级配置选项 Advanced BTRFS Configuration Options

使用 BTRFS 时不会创建 swap 空间 , 但可在安装盘上保留未分区空间供 swap 使用。可以创建独立的分区、 BTRFS 子卷 , 或者使用 btrfs filesystem mkswapfile 命令创建 swap 文件。

compress

定义 BTRFS 子卷是否启用压缩。支持多种算法 :on(等价于 zlib) 、 zliblzozstd。默认 off

hdsize

定义要使用的硬盘总大小。可用于为进一步分区(例如创建 swap 分区)保留空闲空间。

2.3.5.ZFS 性能建议 ZFS Performance Tips

ZFS 在内存充足时表现最佳。若打算使用 ZFS , 请确保分配足够的 RAM。一个经验公式是 :4 GB 基础 + 每 TB 原始磁盘空间 1 GB。

ZFS 支持使用独立磁盘作为写缓存 , 称为 ZFS Intent Log(ZIL)。请为其使用一块高速硬盘(SSD)。安装后可通过以下命令添加:

# zpool add <pool-name> log </dev/path_to_fast_ssd>

2.3.6.添加 nomodeset 内核参数 Adding the nomodeset Kernel Parameter

在特别老旧或特别新的硬件上 , 显卡驱动可能引发问题。如果安装器在启动阶段卡住 , 可尝试追加 nomodeset 参数。此参数会阻止 Linux 内核加载任何显卡驱动 , 强制其继续使用 BIOS / UEFI 提供的 framebuffer。

在 Proxmox VE 启动菜单中选中 Install Proxmox VE (Terminal UI), 按 e 编辑该条目。用方向键移动到以 linux 开头的行 , 把光标移到行尾 , 在末尾原有参数后用空格分隔再追加 nomodeset

然后按 Ctrl-XF10 以该配置启动。

2.4.无人值守安装 Unattended Installation

自动化安装方式允许以无人值守的方式安装 Proxmox VE, 从而完全自动化裸机(bare-metal)部署流程。安装完成并启动后 , 还可进一步使用 Ansible 等自动化工具对系统做后续配置。

安装器所需的各项选项必须在一份 应答文件(answer file) 中提供。该文件支持使用过滤规则 , 以决定使用哪些磁盘和网卡。

使用自动化安装前 , 需先选定应答文件的获取来源 , 再基于该选择准备安装 ISO。

准备完成的 ISO 在初始启动菜单中会显示新的启动条目 Automated Installation, 并在 10 秒倒计时后自动选中。

更多无人值守安装的细节与说明 , 请 访问我们的 wiki

2.5.在 Debian 上安装 Proxmox VE Install Proxmox VE on Debian

Proxmox VE 以一组 Debian 软件包的形式发布 , 可以安装在标准 Debian 系统之上。配置好软件包仓库后 , 运行以下命令:

# apt-get update
# apt-get install proxmox-ve

在已有的 Debian 系统之上安装看起来简单 , 但前提是基础系统已正确安装 , 并且您明确知道如何配置和使用本地存储。同时还需要手工配置网络。

总体而言 , 这种方式并不简单 , 使用 LVM 或 ZFS 时尤为复杂。

详细的分步指南可参见 官方 wiki