Home

Linux 创建 NFS 存储

第一阶段:在 NFS 服务端(存储节点)配置

假设 NFS 服务器的 IP 为 192.168.1.100,存储空间位于 /data/db2migrate

1. 安装服务


yum install -y nfs-utils
# Ubuntu/Debian
apt-get install -y nfs-kernel-server

2. 创建目录并授权

注意: 目录权限必须允许源机和目标机的 DB2 实例用户(通常是 db2inst1)读写。最简单的方法是保持 UID 一致或先给 777 权限。

mkdir -p /data/db2migrate
chmod 777 /data/db2migrate

3. 配置共享规则

编辑 /etc/exports 文件,添加以下行(将网段替换为你的实际网段):

/data/db2migrate 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
  • rw: 读写权限。
  • sync: 资料同步写入内存与磁盘,保证数据安全性。
  • no_root_squash: 允许客户端以 root 身份操作(方便挂载和调整权限)。

4. 启动服务

systemctl enable --now nfs-server
exportfs -arv  # 使配置立即生效

第二阶段:在客户端(源物理机 & 目标集群)挂载

源机和目标机都需要执行以下操作。

1. 安装客户端工具

yum install -y nfs-utils  # 或 apt-get install nfs-common

2. 创建挂载点

mkdir -p /mnt/db2_backup
chown db2inst1:db2iadm1 /mnt/db2_backup

3. 执行挂载(关键参数)

为了 DB2 大文件传输的稳定性,必须使用优化参数:

mount -t nfs -o rw,bg,hard,intr,rsize=32768,wsize=32768,tcp,nolock 192.168.1.100:/data/db2migrate /mnt/db2_backup
  • hard/intr: 如果 NFS 掉线,进程会挂起直到恢复,而不是直接返回 I/O 错误(防止数据损坏)。
  • rsize/wsize: 设置较大的读写块大小,提升大数据量迁移性能。
  • nolock: 避免在导出过程中出现文件锁定冲突。

第三阶段:DB2 迁移操作流程

1. 在源机导出

切换到 DB2 实例用户:

su - db2inst1
cd /mnt/db2_backup
db2move <DBNAME> export

2. 在目标机加载

在目标机挂载好同一个 NFS 目录后,确认表空间和表定义已创建,然后执行:

su - db2inst1
cd /mnt/db2_backup
db2move <DBNAME> load

避坑指南总结(Tips)

检查项建议
磁盘空间NFS 所在的分区务必准备 1.5TB 以上(全库 622GB + 膨胀空间)。
网络隔离尽量使用私网/业务内网 IP 挂载,避免消耗公网带宽。
权限问题如果 db2move 报错无法创建文件,检查 /mnt/db2_backup 的目录权限,确保 db2inst1rwx 权限。
防火墙确保 NFS 端口(2049, 111)在防火墙中已开启。
Linux 网络 存储