先分清哪一块是系统盘
下单时选择 Proxmox VE 8 或 Proxmox VE 9。系统镜像已经包含这两份,交付后用 SSH 登录即可。不需要再拿 U 盘安装,安装程序也不会把两块盘收成硬件阵列,因为机箱里没有阵列卡。
登录后执行 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL,再执行 findmnt / 和 pvesm status。两块大约 1TB 的 NVMe 会各占一行,类型是 disk。根分区所在的那一块是系统盘。另一块的挂载点为空,就是还没有使用的第二块。记下 /dev/disk/by-id/ 里的稳定名字和序列号。重启后 nvme0n1 和 nvme1n1 有可能对调,后面的分区和格式化都用 by-id,不用这次看到的编号。
local-lvm 所在的那块盘不能执行 mkfs。空盘的 MOUNTPOINT 一列是空的,容量大约 1TB,而且没有出现在 findmnt / 的源设备里。虚拟机磁盘默认落在系统那块
镜像把 Proxmox 装到一块 NVMe 上时,这块盘上通常有两处存储。local 是根文件系统里的目录,路径在 /var/lib/vz,默认可放 ISO、片段,以及 vzdump 备份。local-lvm 是同一块盘上的 LVM-Thin,虚拟机磁盘和容器磁盘写在这里。两处名字不同,物理设备仍是这一块 NVMe。
因此新建一台来宾、存储选 local-lvm 时,磁盘文件在系统盘上。备份任务若仍选 local,备份文件进入 /var/lib/vz/dump,还是系统盘。一块盘离线时,来宾磁盘和这份备份一起不可读。界面里看到两个存储名称,并不表示已经用上了第二块 NVMe。
用 lsblk 看 local-lvm 对应的卷组落在哪一个 NVMe。它应和根分区在同一块上。第二块大约 1TB 的盘此时还没有分区,也没有进入这个卷组。这是直连交付的预期状态,不是漏装了一块阵列。
备份改到另一块 NVMe
第二块盘单独分区、单独建文件系统,挂到一个新目录,例如 /mnt/backup-nvme。分区表用 GPT,一个分区即可。文件系统用 ext4 就够放备份文件。/etc/fstab 写 UUID,不写 /dev/nvme0n1p1 这种会变的名字。写完执行 mount -a,再用 findmnt /mnt/backup-nvme 确认源设备是第二块盘的 by-id,而不是系统盘。
然后在 Proxmox 里添加目录存储。数据中心里选择存储、添加、目录,路径填这个挂载点,内容只勾「VZDump 备份」。命令行对应 pvesm add dir backup-nvme --path /mnt/backup-nvme --content backup。存储 ID 自定,不要和已有的 local 重名。pvesm status 里这一行应为 active,可用空间应接近第二块盘的容量,而不是根分区剩下的那一点。
已有的备份任务要改到这个存储。只把新目录添加出来、任务仍指向 local,新的备份还是写进系统盘。还没有来宾时,先确认挂载点和存储状态,再创建来宾。有来宾之后做一次备份:vzdump 的 --storage 写成新的存储 ID。快照模式要求来宾磁盘所在的存储支持快照,local-lvm 可以。备份文件出现在第二块盘的目录里,名字以 vzdump- 开头。
local 可以继续放 ISO。只要备份任务不再选择它,虚拟机磁盘和备份就分成了两块 NVMe。不必为了这个目的重装系统。加购的 2TB 仍是单独一块
加购的 2TB NVMe 每块每月 $84,最多两块,独立直连,不加入硬件阵列。它在 lsblk 里是新的一行 disk,容量大约 2TB,不会自动变成前两块 1TB 的成员,也不会自动扩容 local-lvm。处理方式和空着的那块 1TB 相同:单独分区、单独挂载、单独登记一个存储。
第二块 1TB 已经用来放备份时,这块 2TB 适合放更多的虚拟机磁盘。在新挂载点上添加目录存储,内容勾磁盘镜像,来宾磁盘创建时选择这个存储,而不是继续把大磁盘写进系统盘的 thin 池。若备份才是放不下的那一类,就把备份任务改到这块 2TB,原来的 1TB 第二块可以留作磁盘镜像。两种安排都保持「磁盘一组、备份另一组」,不要把磁盘和唯一一份备份写进同一块盘。
不要把 2TB 盘 vgextend 进系统盘那个卷组。卷组跨到两块容量不同的 NVMe 上之后,虚拟机磁盘的区段可能落在任意一块,备份若还在根分区上,故障范围会叠在一起。这也不是硬件阵列。加购盘为什么不能并进阵列,见加购盘不并进阵列。两块默认 1TB 若要做成软镜像,可用容量会靠近 1TB,这一篇的分盘放法就不再成立,做法见两块盘做软阵列。
| 盘 | 在系统里 | 适合放置 |
|---|---|---|
| 第一块 1TB | 根分区和 local-lvm | 系统和原有的虚拟机磁盘 |
| 第二块 1TB | 空盘,需自行挂载 | vzdump 备份 |
| 加购 2TB | 另一块独立 disk | 更多磁盘镜像,或容量更大的备份 |
容量按两块相加,不按镜像之后的剩余
两块 1TB 都作为独立文件系统使用时,可用空间接近 2TB,还要扣掉分区表、文件系统和根分区里已经占用的系统文件。把它理解成 RAID 1 之后只剩 1TB,会对不上 lsblk 里的两行 disk,备份目录也会没有第二块盘可放。
虚拟机磁盘和它的备份各占一份空间。一块来宾磁盘分配了 400GB,系统盘的 thin 池要能放下这 400GB 里实际写入的部分,第二块盘还要能放下一份备份。不能把 400GB 只从总容量 2TB 里减一次。精简置备会让磁盘卷看起来比实际写入小,备份文件的大小仍取决于这次备份模式和压缩。规划时按将要写入的数据量在两块盘上各留位置,而不是只看存储列表里的一个总数。
ext4 默认会保留一部分块给根用户。备份目录若只给 vzdump 使用,空间会比盘的标称容量少一截。这是文件系统的保留,不是第二块盘没有交付。挂载后用 df -h 看这一行的大小,用这个数字安排备份保留份数。
做完一次备份,核对文件在哪一块
确认第二块盘已挂上
findmnt /mnt/backup-nvme的源设备指向第二块 NVMe 的 by-id。重启一次之后,这个挂载点仍在,根分区也还在。确认存储不是 local
pvesm status里备份存储的路径是新挂载点。备份任务的存储一栏是这个 ID。任务详情里若仍写local,改完再跑。跑一次 vzdump
选一台可以快照的来宾,存储指向新目录。结束后在该目录找到
vzdump-文件。对这个文件执行findmnt -T,源设备应是第二块盘。看系统盘没有同步变满
备份进行时观察
df -h /。文件若写进/var/lib/vz/dump,根分区会增长,说明任务还指着local。停掉这次任务,改存储后再做。
保留份数要按第二块盘的可用空间来设。份数留得很多、单份又接近整块来宾磁盘时,下一次备份会在写到一半时失败,并留下不完整的文件。失败的那一份不要当作可以恢复的副本。删掉不完整文件后,把保留份数降到这块盘放得下的数量,再跑一次成功的备份。
搬迁已经写在 local-lvm 上的大磁盘时,先关机,再迁移到新的目录存储,最后开机核对。不要在来宾仍在写入时直接拷贝磁盘文件。备份文件则只在新存储上重新生成,不必把系统盘旧目录里的历史备份当作还在保护这块新盘。
这台机器的磁盘就是这样交付的
两档内存的默认磁盘相同:2 × 1TB NVMe,无硬件 RAID,盘独立直连,可用容量按 2TB 计算。128GB 月租 $455,256GB 月租 $612。内存是 DDR4-3200 ECC RDIMM,不能加条。要 256GB 就选 256GB 那一档。CPU 都是 AMD EPYC 7543P,32 核 64 线程。加一块 2TB 后,128GB 这一档的月租是 $539。加购块数是 0、1、2,每块 $84,先加进月租,再乘周期月数。季付乘 3,不另打折。无安装费。
机器部署在日本东京。宿主机用 SSH 登录,地址在控制台。磁盘布局改完之后,登录地址不会因此改变。Proxmox VE 8 和 9 在免费系统列表里,第二块盘和加购盘都要在系统里自行挂载,镜像不会把它们收成一块硬件卷。
分盘完成的标志只有一个:虚拟机磁盘所在的块设备和备份文件所在的块设备不是同一个。存储列表里的名称、备份任务的存储 ID、以及 findmnt -T 的源设备,这三处一致,才算备份已经离开系统那块 NVMe。