接上文,集群配置完成,写个文章回顾+记录一下。
物理机概况
第一台(E)
- 处理器: AMD EPYC 7532
- 内存: 4 * 16GB
- 硬盘: Intel P4510 4TB + KIOXIA SD10 1TB + WD Red Pro 4T
第二台(F)
- 处理器: AMD Ryzen 3700x
- 内存: 3 * 16GB
- 硬盘: Samsung 970 EVO Plus 500G + 大普微海神3000 1TB + 美光 MX500 500G + WD HC320 8TB
第三台(H)
- 处理器: Intel E5-2686v4
- 内存: 2 * 16GB
- 硬盘: Intel Optane M10 16G
为什么会有这么神秘且不均衡的配置呢?因为 F 机是最早的一台,H 机太耗电不需要的时候可以关机,以后的拓展重心基本是空余 30+ 盘位的 E 机了。
集群配置
安装操作系统、换源之类的不太重要,建议直接安装最新的版本,网上也有脚本可以迅速配置和更新。
加入集群
先连接至集群的第一个节点,一般也会作为以后远程连接的节点。

依次点开
- 数据中心
- 集群
- 加入信息
- 左下角的复制信息
然后,连接至将要加入集群的节点。
依次点开
- 数据中心
- 集群
- 加入集群
- 粘贴信息
- 输入集群首个节点的口令
- 点击加入

不出意外的话,就能看到数据中心页面有多个节点了。
存储配置
多数教程到上面那一步就结束了,然后你就会发现,很多方便的功能需要集群统一存储。
根据PVE文档,如果你的集群性能和网络连接都非常好,而且对块存储有一定理解,可以使用 Ceph/RBD 来追求最佳性能。如果没有,那建议使用任何你喜欢的文件系统搭配 NFS。NFS 不是最好的方案,但它配置简单,性能优于 Samba,且在纯 Linux 环境中兼容性非常好,在没有条件使用块存储时是个不错的选择。
我比较喜欢 ZFS 的透明压缩和 ARC 缓存功能,所以用 ZFS 演示,实际上大多数 Linux 支持的文件系统都可以。另外,在使用 ZFS 和 BtrFS 时,一定要根据自己的负载选择合适的 ashift 大小,避免写入放大问题(一般为 12-14)。
建立 ZFS 池


依次点开
- 硬盘所在的节点
- 磁盘
- ZFS
- 创建:ZFS
因为我已经创建过了所以没有盘,正常应该可以看到你有的未使用磁盘。如果找不到,回到磁盘页,找到需要使用的盘,使用GPT初始化磁盘。

完成之后应该会显示你的 ZFS 池,这些池同时会被挂载到所在节点的根目录(例如/p4510-pool)。
配置 NFS
光有文件系统还不行,要让其他节点使用同一存储,还需要 NFS。PVE 已经预装了 NFS 客户端,只需要提供存储的节点安装服务端并且简单配置即可。
1 | apt update |
先连接到提供存储节点的 shell,安装 NFS 服务端。
1 | vim /etc/exports |
再编辑 NFS 的配置文件,样例如下
1 | /p4510-pool 192.168.110.0/24(rw,fsid=3,crossmnt,sync,no_subtree_check,no_root_squash) |
其中,需要注意,fsid 每个挂载点必须不同,192.168.110.0 为允许访问的网段,根据自己情况修改。
1 | export -a |
保存配置文件后,重载配置。

最后是把 NFS 挂载到所有节点上。
依次点开
- 数据中心
- 存储
- 添加
- NFS

ID 是该 NFS 存储的名字,按自己喜好填写即可;填入服务器后可点击 Export 下拉查看是否存在正确的挂载点(如果没有,检查配置文件是否重载,防火墙是否放行 NFS);内容和节点按需要填写,其余无特殊需要可保持默认,点击添加,就可以在其他服务器上看到存储了。