Featured image of post Proxmox VE 安装和初始设置指南Featured image of post Proxmox VE 安装和初始设置指南

Proxmox VE 安装和初始设置指南

Proxmox VE 分步安装指南涵盖 ISO 设置、首次启动配置、存储库管理、网络调整和安装后最佳实践。

Proxmox VE是什么?

Proxmox 虚拟环境 (Proxmox VE) 是一个开源服务器虚拟化平台,在单个 Web 界面下结合了基于 KVM 的虚拟机和基于 LXC 的容器。它基于 Debian Linux 构建,集成了实时迁移、高可用性、软件定义存储和内置防火墙等企业功能。其无代理设计和中央管理界面使其成为家庭实验室、小型企业和数据中心等的热门选择。

该平台支持 ZFS、Ceph 和 LVM 存储,并包含用于自动化的 RESTful API。安装过程很简单,但安装后立即进行正确的配置对于稳定和安全的环境至关重要。

下载 ISO 并创建安装介质

从 Proxmox 官方网站下载最新的 Proxmox VE ISO。 ISO 是适合标准 USB 驱动器的混合映像。使用 Rufus (Windows)、Balena Etcher(跨平台)或 dd (Linux) 等工具写入映像。

# Linux: write ISO to USB drive (replace /dev/sdX with your device)
sudo dd if=proxmox-ve_*.iso of=/dev/sdX bs=1M status=progress

ISO 包括 Proxmox VE 安装程序和可启动的 Debian 基本系统。首次启动时,您会看到安装程序菜单,其中包含图形或基于终端的安装选项。建议大多数用户使用图形安装程序。

安装演练

分区

安装程序提供了几种分区方案。对于大多数部署,如果您需要快照、压缩和校验和等高级功能,请选择 ext4 with LVMZFS

文件系统使用案例优点缺点
ext4+LVM通用、最大兼容性简单易懂没有原生快照
ZFS家庭实验室,关键数据快照、压缩、RAID更高的 RAM 使用率
Btrfs实验或单磁盘设置快照、子卷Proxmox 不太成熟

如果您有足够的 RAM(至少 8 GB),强烈建议将 ZFS 用于根文件系统。它通过 Proxmox 备份机制和 lz4 透明压缩实现即时快照。

网络配置

在安装过程中分配静态 IP 地址。生产服务器请勿依赖 DHCP。安装程序要求以下信息:

  • IP 地址 (CIDR):例如 192.168.1.100/24
  • 网关:例如,192.168.1.1
  • DNS 服务器:例如 1.1.1.1 或您的本地 DNS

根密码和电子邮件

设置强 root 密码。 Proxmox 使用 root 帐户进行 Web UI 身份验证和 SSH 访问。您还可以配置系统电子邮件地址 - Proxmox 在此发送有关硬件问题、备份失败和证书过期的警报。

首次登录Web UI

安装完成后,重新启动并记下控制台中显示的 IP 地址。打开浏览器并导航至:

https://<YOUR_IP>:8006

接受自签名证书警告。使用用户名 root 和您在安装过程中设置的密码登录。仪表板显示 CPU、内存、网络和存储使用情况的摘要图表。

删除企业存储库

Proxmox 附带默认启用的企业存储库,需要付费订阅才能访问。对于非生产或家庭实验室使用,请将其替换为非订阅存储库。

# Remove enterprise repo
rm /etc/apt/sources.list.d/pve-enterprise.list

# Add no-subscription repo
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

然后更新系统:

apt update && apt full-upgrade -y

登录时会出现有关缺少订阅的弹出窗口。要抑制它:

sed -i 's/^/#/' /etc/apt/sources.list.d/ceph.list

系统更新和内核管理

保持 Proxmox 更新对于安全性和稳定性至关重要。该平台使用 Proxmox-kernel(自定义内核)而不是现有的 Debian 内核。更新后,重新启动以激活新内核。

apt update && apt dist-upgrade -y
reboot

使用以下命令检查已安装的内核版本:

uname -r

Proxmox 保留了以前的内核,因此如果新内核出现问题,您可以启动到它。使用 proxmox-boot-tool 来管理内核版本。

网桥配置

Proxmox 在安装过程中创建一个桥接口 vmbr0。该桥将您的虚拟机连接到物理网络。配置位于 /etc/network/interfaces 中。

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

要为单独的网络(例如,隔离的实验室网络)添加第二个网桥,请使用不同的子网复制该块,并省略隔离网桥的 bridge-ports 行。

主机名和 DNS 配置

验证主机名和 /etc/hosts 是否配置正确。 Proxmox 要求主机名解析为主 IP 地址。

# /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.100 proxmox.example.com proxmox

文件 /etc/hostname 应仅包含短主机名:

proxmox

测试分辨率:

hostname --ip-address

如果返回错误的地址,Proxmox 服务可能无法启动。

防火墙基础知识

Proxmox 包括一个通过 Web UI 或通过 pve-firewall 管理的内置防火墙。首先启用数据中心级防火墙:

Datacenter → Firewall → Options → Enable: Yes

然后配置每个节点或每个虚拟机的规则。至少允许管理网络使用 HTTPS (8006) 和 SSH (22)。防火墙是有状态的,并按顺序应用规则 - 首先放置最具体的规则。

还可以从 CLI 生成并应用防火墙规则:

pve-firewall compile
pve-firewall restart

创建第一个用户

日常操作中最好不要使用 root。创建具有管理员权限的单独用户。

pveum user add admin@pve --password <password>
pveum acl modify / --user admin@pve --role Administrator

注销 root 会话并以新用户身份登录。如果需要,可以更精细地分配角色 - 例如,创建具有 PVEVMAdmin 角色的用户,该用户只能管理虚拟机。

为管理员启用双因素身份验证

Proxmox 支持基于 TOTP 的双因素身份验证。在 Web UI 中的 数据中心 → 双因素身份验证 下启用它。

  1. 选择 TOTP 作为提供商。
  2. 使用身份验证器应用程序(Authy、Google Authenticator 或 Bitwarden)扫描二维码。
  3. 输入当前代码以验证设置。

对于 root 帐户,如果 Web UI 无法访问,请通过 CLI 配置 2FA:

pveum user tfa add root@pam --type totp

将设置期间打印的恢复代码存储在安全位置。如果没有它们,丢失身份验证器设备就意味着失去对 root 帐户的访问权限。

备份 /etc/pve

目录 /etc/pve 是一个特殊的 FUSE 支持的文件系统,用于存储所有 Proxmox 集群配置。它存在于每个节点上,但更改在集群范围内同步。定期备份该目录对于灾难恢复至关重要。

tar czf /root/pve-backup-$(date +%Y%m%d).tar.gz /etc/pve

对于更结构化的方法,如果您有 Proxmox 备份服务器,请使用 proxmox-backup-client。否则,安排一个 cron 作业:

0 3 * * * tar czf /root/pve-backup-$(date +\%Y\%m\%d).tar.gz /etc/pve

通过将备份提取到临时目录并验证文件可读来测试您的备份。

安装后检查表

每次安装 Proxmox 后运行此清单:

  • 禁用企业存储库,启用非订阅存储库
  • 系统全面升级
  • /etc/network/interfaces 中确认静态 IP
  • 主机名解析正确
  • 以最少的允许规则启用防火墙
  • 非 root 管理员用户已创建
  • 已配置双因素身份验证
  • /etc/pve 计划备份
  • NTP时间同步已验证
  • 为 root/admin 设置基于 SSH 密钥的身份验证