rsync镜像数据盘本质是同步已挂载文件系统内容,需确认挂载点、排除虚拟目录、保留元数据,手动处理fstab、权限校验及服务配置,不涉及磁盘结构或引导修复。

用 rsync 镜像整台服务器的数据盘,本质是同步已挂载的文件系统内容,不是复制磁盘结构或未格式化空间。它适合迁移业务数据、保留权限与时间戳、支持断点续传和增量更新,但需手动处理引导、分区、虚拟目录等。
确认数据盘挂载点与目标路径
先明确你要镜像的是哪块盘——不是 /dev/sdb 这类设备节点,而是它挂载后的路径,比如 /data 或 /mnt/disk2。运行以下命令确认:
-
lsblk -f查看设备、挂载点、文件系统类型 -
df -hT确认实际使用中的挂载路径和容量 - 确保目标位置(如新服务器上的
/data)已创建、格式化并挂载好,且有足够空间
执行 rsync 同步(推荐带排除与元数据保留)
使用 -aAX 组合保证权限、ACL、SELinux 上下文等不丢失;显式排除临时/虚拟目录避免报错或污染:
- 基本命令(从旧服务器拉取到新服务器):
rsync -aAXv --exclude={"/proc/*","/sys/*","/dev/*","/run/*","/tmp/*","/mnt/*","/media/*","/lost+found"} /data/ user@new-server:/data/ - 注意源路径末尾的
/:写成/data/表示同步目录内容;写成/data会把整个/data目录复制进去(即变成/data/data/) - 加
-e "ssh -p 2222"可指定非默认 SSH 端口;加--progress查看实时进度
同步后必须检查与补全
rsync 不自动处理以下事项,需人工介入:
-
fstab 更新:若新服务器磁盘设备名不同(如旧为
/dev/sdb1,新为/dev/nvme0n1p1),需修改/etc/fstab中对应行 -
权限与上下文校验:在新服务器上运行
ls -lZ /data(SELinux)或getfacl /data(ACL),对比旧服务器是否一致 - 服务依赖检查:确认应用(如 MySQL 数据目录、Nginx 网站根目录)指向的是新挂载点,且用户可读写
- 不涉及系统盘?不用动 boot/grub:仅镜像数据盘时,无需重装 GRUB 或修复引导
补充建议:提高可靠性与效率
生产环境建议组合使用以下做法:
- 首次同步前,在新服务器上清空目标目录:
rm -rf /data/*(确保无残留冲突文件) - 同步完成后跑一次校验:
rsync -avn --delete /data/ user@new-server:/data/(-n 表示 dry-run,检查差异) - 对大容量数据盘,可分卷同步(如按子目录
/data/app、/data/logs分批执行),便于中断恢复和定位问题 - 若网络不稳定,加
--partial --progress支持断点续传


















