先确认盘是直连,不是阵列成员
登录之后先看块设备,不要先创建文件系统。Linux 上可以用 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL。两块大约 1TB 的 NVMe 会各自出现,类型是 disk,下面还没有分区,或者只有安装系统时写下的分区。没有名为 md 的阵列设备,也没有硬件阵列的管理入口,这是预期状态。
若其中一块已经被挂到根分区,另一块是空的,说明安装程序只用了一块盘。空盘可以单独分区,也可以在备份完成之后再决定是否加入软阵列。已经在用的那一块,不能在未备份时拆掉分区去组阵列。
可用容量按两块相加来算
直连的意思是操作系统同时看见两块盘。一块用来放系统,另一块可以放数据;也可以两块都划给虚拟机磁盘文件。这样加起来接近 2TB,具体还要扣掉分区表和文件系统自己的开销。把它理解成 RAID 1 之后只剩 1TB,会对不上 lsblk 里的两行 disk。
没有硬件阵列,也意味着一块盘离线时,另一块上的文件还在,但跨在两块盘上的目录不会自动补齐。文件放在哪一块,由挂载点决定,不由机箱里的阵列卡决定。
三种用法换的东西不一样
| 用法 | 大约容量 | 一块盘故障时 |
|---|---|---|
| 两块分开挂载 | 接近 2TB | 只影响该盘上的目录 |
| 软 RAID 1 | 接近 1TB | 另一块继续提供同一份数据 |
| 软 RAID 0 | 接近 2TB | 整组不可用 |
分开挂载适合系统盘和数据盘职责清楚的机器。数据库文件、备份目录、虚拟机磁盘可以放在第二块盘,根分区留在第一块。这种安排没有镜像,所以备份要写到这台机器以外的位置。
软 RAID 1 用容量换一份镜像。两块 1TB 组起来,可用空间接近一块盘。写入会落到两块盘,读取可以分摊。它挡住的是单盘损坏,挡不住误删除,也挡不住两块盘一起出问题。组之前两块盘上的分区会被清掉。
动手时按这个顺序
记下两块盘的名字
用
lsblk和nvme list写出类似/dev/nvme0n1、/dev/nvme1n1的名字。不要凭顺序猜测,重启后编号有可能对调。把要保留的数据拷出去
阵列创建会改写参与的盘。系统已经装在其中一块上时,只把空盘拿去单独分区,不要把根分区所在的盘卷进新阵列。
选定一种用法再分区
分开使用就对空盘执行分区和
mkfs,写进/etc/fstab时用 UUID。做镜像则在空闲的两块盘上创建阵列,再在阵列设备上建文件系统。做一次恢复演练
镜像建好之后,用阵列工具看两块成员是否都在同步。然后从备份里抽一个小文件恢复到临时目录,确认备份本身能读。
这台机器上的盘就是这样交付的
AMD EPYC 7543P 这一档,无论内存是 128GB 还是 256GB,默认磁盘都是 2 × 1TB NVMe,无硬件 RAID,盘独立直连。月租分别是 $455 和 $612。内存容量不改变磁盘的连接方式。若业务需要更多空间,可以再加 1 块或 2 块 2TB NVMe,每块每月 $84,那些盘同样不进入硬件阵列。
机房在日本东京。系统可以预装 Ubuntu、Debian、AlmaLinux、CentOS Stream、FreeBSD 或 Proxmox VE。Proxmox 把虚拟机磁盘放在目录或单独的盘上时,仍然要先决定第二块 NVMe 是独立存储还是软阵列,安装向导不会替硬件阵列做选择,因为没有那块阵列卡。
什么情况下先不要组阵列
根分区已经占满其中一块、又没有外部备份时,先不要重组。先核对 lsblk 和挂载点即可。两块盘的型号或容量不一致时,也不要假设它们能组成对称的镜像。加购盘的处理方式见另一篇笔记,那块 2TB 盘同样是直连,不会自动并进这两块 1TB。
冗余做好之后,连接方式不变:Linux 仍用 SSH,地址在控制台。磁盘布局改动不会改主机名和端口。
镜像和备份各管一件事
软 RAID 1 只保证两块成员上有同一份数据。误删除、错误的格式化、把文件写成空,都会同时出现在两块盘上。镜像因此不能代替备份。要留下的库、虚拟机磁盘和站点文件,至少再存一份到这台机器以外,并且隔一段时间从备份里抽出一个小文件,确认那份副本真的能打开。
分开挂载时,系统盘和数据盘的备份节奏可以不同。系统盘留下安装后的配置和用户,数据盘按数据库或虚拟机磁盘的写入量来做。两份备份不要写回即将被替换或即将被重新分区的那块 NVMe,否则盘一换,备份跟着消失。
创建阵列之前再看一次容量。两块都接近 1TB,才适合对称的镜像。其中一块明显更小的话,镜像可用空间会向小的那块看齐,多出来的扇区用不上。这种组合更适合分开挂载:大的一块放数据,小的一块留系统。加购的 2TB 盘不要和这两块 1TB 凑成一组镜像,原因见加购那篇。
阵列建好后,把阵列名字或 UUID 写进启动配置和 fstab。只在当前会话里组装,重启后设备可能还在,文件系统却不会回到原来的目录。写完之后重启一次,确认根分区或数据目录仍在预期位置,lsblk 里成员状态是同步完成,而不是一直停在降级。降级时先不要写入新的业务数据,等两块成员都回到阵列再继续。
Proxmox 若把虚拟机磁盘放在目录里,目录所在的文件系统就是上面选定的那一种。镜像、分开的第二块盘、或者以后加的 2TB,对虚拟机来说只是不同的存储目录。安装向导不会创建硬件卷。选错目录之后再搬迁,要停掉虚机再迁移磁盘文件,避免一边写一边拷。