第一阶段:准备新磁盘
1. 对 /dev/vdb 进行分区
我们将创建一个主分区 /dev/vdb1。
Bash
sudo fdisk /dev/vdb
交互操作说明(请依次输入):
- 输入
n(新建分区) -> 回车 - 输入
p(主分区) -> 回车 - 输入
1(分区号) -> 回车 - (起始扇区) -> 直接回车(使用默认)
- (结束扇区) -> 直接回车(使用默认,用完所有空间)
- 输入
w(保存并退出) -> 回车
2. 格式化分区
您的系统根目录使用的是 xfs 文件系统(麒麟/CentOS 默认),为了性能和兼容性,建议新磁盘也用 xfs。
Bash
sudo mkfs.xfs /dev/vdb1
第二阶段:停止服务与数据迁移 (关键步骤)
⚠️ 注意: 在移动数据前,必须停止正在使用该目录的软件。
3. 停止业务程序
您需要根据实际情况停止服务。如果不确定服务名,可以先尝试杀死相关进程(请确保业务允许停机):
Bash
# 示例:查找并停止相关java进程,或者使用 systemctl stop xxx
# 请根据您的实际服务名操作,例如:
# systemctl stop xxx
# 或者手动 kill
4. 备份并重命名现有目录
我们将现有的目录改名,既做到了备份,又腾出了原来的路径名。
Bash
mv /opt/zxnbmk /opt/zxnbmk_backup
5. 创建新挂载点并挂载
现在创建一个空的 /opt/zxnbmk,并将新磁盘挂载上去。
Bash
mkdir /opt/zxnbmk
mount /dev/vdb1 /opt/zxnbmk
6. 恢复数据
将备份目录的数据完整复制 到新磁盘中。使用 -a 参数确保权限、时间戳、所有者完全不变。
Bash
cp -a /opt/zxnbmk_backup/* /opt/zxnbmk/
7. 验证数据和权限
检查新磁盘里的内容是否和备份一致。
Bash
ls -ld /opt/zxnbmk
ls -la /opt/zxnbmk/
第三阶段:设置永久挂载
8. 获取新分区的 UUID
执行以下命令,复制 /dev/vdb1 的 UUID:
Bash
blkid /dev/vdb1
输出示例(复制双引号里的内容): UUID="1234-5678-abcd-efgh" ... TYPE="xfs"
9. 编辑 /etc/fstab
打开文件:
Bash
vi /etc/fstab
按 G 跳到最后一行,按 o 在下方插入新行。 写入以下内容(请务必将 UUID 替换为你刚刚获取的真实 UUID):
Plaintext
UUID=你的UUID粘贴在这里 /opt/zxnbmk xfs defaults 0 0
- 解释:
xfs: 对应之前格式化的文件系统。defaults: 默认挂载参数。0 0: 第一个0表示不备份,第二个0表示开机不进行fsck检查(xfs文件系统通常设为0)。
保存退出(按 Esc,输入 :wq 回车)。
这两个数字在 Linux 运维中被称为 Dump(转储) 和 Pass(检查次序) 。虽然现在大多数服务器为了启动速度都把它们设为
0 0,但了解它们的规则能让你在维护时更有底气。这是它们的详细选择指南:
第五列:Dump(备份标志)
这一位是给
dump备份工具看的。它决定了该文件系统是否需要被备份。
数值 含义 建议 0 不备份(忽略)。这是目前 99% 场景下的选择。 推荐选择 。现代备份通常使用云快照或专门的备份软件,很少用到古老的 dump命令。1 需要备份。表示该分区是重要数据。 除非你真的在使用 dump工具进行每日定时备份,否则没必要设为 1。
第六列:Pass(fsck 检查顺序)
这一位决定了在系统开机自检(
fsck)时,检查磁盘错误的先后顺序。
数值 含义 建议 0 不检查。开机时不进行磁盘完整性自检。 XFS 推荐选 0。由于 XFS 是日志型文件系统,它有自己的故障恢复机制,强制在启动时执行 fsck 反而可能出错。 1 最高优先级 。通常只给根目录 /使用。系统必须先确保根目录正常,才能挂载其他东西。 2 次级优先级。检查完根目录后,再并行检查这些分区。 如果是 ext4等非根分区,通常设为 2。
💡 针对你的情况(Kylin V10 + XFS + 3TB/500G)
你的最佳选择是:
0 0
- 原因 1 :你使用的是 XFS 文件系统。XFS 在设计上就不建议使用传统的
fsck(它甚至没有fsck.xfs这种命令,而是用xfs_repair)。在fstab里设为0可以避免系统启动时出现不必要的自检卡顿。- 原因 2 :磁盘很大(3TB)。如果设为
2,万一触发了大规模自检,开机可能要多等半小时。📌 总结一下最终写法:
Plaintext
# 这种写法最稳妥,开机最快 UUID=xxxxxx /opt/zxnbmk xfs defaults 0 0温馨提示 :在保存
/etc/fstab后,千万记得运行mount -a。如果命令没报错,说明配置对了;如果报错了请立即修改,否则重启后系统可能会进入"紧急模式(Emergency Mode)"导致无法正常开机。
10. 测试自动挂载配置
这一步是为了防止配置错误导致开机起不来。
Bash
# 先卸载刚才手动挂载的
umount /opt/zxnbmk
# 测试通过 fstab 挂载
mount -a
如果没有任何报错 ,且 df -h 能看到 /opt/zxnbmk 大小是 500G,说明配置成功!
第四阶段:收尾
11. 启动服务
启动您的服务,并验证软件是否正常运行。
12. 处理旧数据(可选)
确认软件运行正常,且新磁盘数据无误后(建议观察几天),您可以删除之前的备份以释放根目录空间:
Bash
# ⚠️ 确认一切正常后再执行!
rm -rf /opt/zxnbmk_backup
✅ 最终检查清单
执行完上述步骤后,运行以下命令给我看(或者你自己检查),确认最终状态:
Bash
ArteryBase
df -h /opt/zxnbmk
lsblk
cat /etc/fstab