跳转到内容

加一块新盘:三种做法 ​

机器里插了一块新硬盘,Web UI 的 节点 → Disks 能看到它,但没法直接用。这篇把它变成可用的存储。

初始化磁盘会清空它

下面所有做法都会抹掉目标磁盘上的全部数据。开始前:

  1. 用 lsblk -o NAME,SIZE,MODEL,SERIAL 按容量、型号和序列号三重确认目标盘,不要只看 /dev/sdb 这种名字——插拔顺序变化会让设备名漂移。
  2. 确认这块盘上没有你还要的数据。
  3. 确认它不是系统盘。系统盘是 lsblk 里挂载了 / 的那块。

先决定用哪种 ​

做法适合优点代价
目录存储 (Directory)放备份、ISO、大文件简单,什么都能放,qcow2 可快照单盘无冗余,性能一般
LVM-Thin只放虚拟机/容器磁盘性能好,原生快照,精简分配放不了 ISO 和备份,单盘无冗余
ZFS想要冗余、校验、快照数据校验、灵活快照、可多盘冗余吃内存,单盘时冗余为零但开销照吃

单盘的情况下怎么选

  • 这块盘用来放备份 → 目录存储。
  • 这块盘用来跑虚拟机 → LVM-Thin(或 ZFS,如果你想要快照和校验且内存宽裕)。
  • 这块盘用来存大文件、以后可能给 NAS 虚拟机 → 先别加进 PVE,考虑整盘直通,见硬件直通。

准备:确认磁盘并清理旧签名 ​

sh
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL,SERIAL

确认目标盘(假设是 /dev/sdb)没有挂载点、不是系统盘。

Web UI 的 节点 → Disks 里,新盘的 Usage 列应该显示 No。如果显示有分区或文件系统,说明盘上有旧数据。确认可以抹掉后,选中它点 Wipe Disk。

Wipe Disk 不可撤销

这个按钮会清除磁盘的分区表和文件系统签名。点下去之前,最后确认一次序列号。

做法一:目录存储 ​

适合放备份、ISO、模板和大文件。

Web UI ​

节点 → Disks → Directory → Create: Directory:

字段填什么
Disk选目标磁盘
Filesystemext4(稳妥)或 xfs
Name存储 ID,例如 backup-hdd
Add Storage勾上,自动注册为 PVE 存储

点 Create。PVE 会分区、格式化、挂载到 /mnt/pve/<name>,并写入 /etc/pve/storage.cfg。

之后:选内容类型 ​

创建完成后到 数据中心 → 存储 → 选中它 → 编辑,勾选它该放的内容:

  • 作备份盘:勾 VZDump backup file,顺便设置保留策略。
  • 放 ISO:勾 ISO image、Container template。
  • 放虚拟机磁盘:勾 Disk image、Container。注意此时要用 qcow2 格式才能快照。

做法二:LVM-Thin ​

适合专门放虚拟机和容器磁盘。

节点 → Disks → LVM-Thin → Create: Thinpool:

字段填什么
Disk目标磁盘
Name例如 vmdata
Add Storage勾上

创建后它只能放 Disk image 和 Container,这是块存储的固有限制。

精简分配意味着可以超额分配

LVM-Thin 允许你给客户机分配的总容量超过物理容量。方便,但写满时客户机会遇到写入失败。把 lvs -a 里的 Data% 当作必须监控的指标,细节见 local 与 local-lvm。

做法三:ZFS ​

适合想要数据校验、灵活快照,或者有多块盘想做冗余。

节点 → Disks → ZFS → Create: ZFS:

字段说明
Name池名,例如 tank
RAID Level单盘选 Single Disk;两块同容量盘选 Mirror;四块起可选 RAID10
Compression保持默认(on,通常是 lz4)。它几乎总是划算
ashift不懂就保持默认 12(对应 4K 扇区)
Devices选参与的磁盘

ZFS 的两个前提

内存:ZFS 用 ARC 做缓存,默认会占用可观的内存。在内存本来就紧张的机器上加 ZFS 池,会挤压客户机可用内存。加之前先读 ZFS 入门 里关于 zfs_arc_max 的部分。

vdev 不可随意增删:池建好后,往 RAIDZ 里加盘、或者从池里移除 vdev,限制很多。建池时就要想清楚最终形态,这和 LVM 的灵活扩容不是一回事。

创建后 PVE 会自动注册一个 ZFS 类型的存储,可以放虚拟机磁盘和容器。想在同一个池上再放文件(ISO、备份),可以建一个 ZFS 数据集并作为目录存储挂上,属于存储进阶的内容。

检查结果 ​

无论哪种做法,创建后确认:

sh
# 1. 新存储出现并处于 active
pvesm status

# 2. 配置已写入
cat /etc/pve/storage.cfg

# 3. 目录存储确认挂载点
df -h | grep /mnt/pve

# 4. ZFS 确认池状态为 ONLINE
zpool status

然后做一次真实写入测试:如果是备份盘,手动跑一次小虚拟机的备份;如果是虚拟机盘,建一台测试虚拟机并开机。能写、能读、重启宿主机后还在,才算真的可用。

重启一次再交付

目录存储依赖 /etc/fstab 或 systemd 挂载单元。重启宿主机一次,确认存储自动挂载回来。这一步能发现「当时能用、重启后消失」的问题。

常见问题 ​

Disks 里看不到新盘。 检查供电和数据线;lsblk 里也没有的话是硬件层面没认到。热插拔的盘可以试 echo "- - -" > /sys/class/scsi_host/host0/scan(各 host 编号都试一遍)。

Wipe Disk 按钮是灰的。 说明这块盘正在被使用——已挂载、在某个卷组里、或者是 ZFS 池成员。先解除占用。

加完盘之后 local-lvm 的容量没变。 这两件事无关。新盘是独立的存储,要扩 local-lvm 得把新盘加进 pve 卷组,见 local 与 local-lvm。

延伸阅读 ​

Proxmox VE 非官方中文使用指南,与 Proxmox Server Solutions GmbH 无隶属关系。