温馨提示×

Linux分卷如何进行数据迁移

小樊
41
2025-12-23 21:17:40
栏目: 智能运维

Linux 分卷数据迁移实用指南

一、常见场景与总体思路

  • 迁移对象通常分为两类:一是基于LVM 的逻辑卷(LV),二是普通分区/文件系统。总体思路是“先准备目标空间→挂载到临时目录→全量拷贝保留属性→校验→切换挂载点→配置自动挂载”。对正在被占用的目录(如 /home),建议在救援/单用户/LiveCD环境操作,减少文件变更带来的不一致。
  • 关键工具与要点:
    • LVM:pvcreate / vgcreate / lvcreate / pvmove / lvextend / resize2fs / xfs_growfs
    • 通用:lsblk / fdisk -l / blkid / mount / umount / cp -a / rsync -aAX
    • 文件系统:扩容时 ext4 用 resize2fsXFS 用 xfs_growfs(XFS 仅支持在线扩容,不支持在线收缩)。

二、LVM 场景的迁移与扩容

  • 场景 A:迁移到新盘或新 LV(保持原 LV 不变)

    1. 准备目标空间
      • 新盘分区并将类型设为 Linux LVM(MBR 为 8e,GPT 为 8e00),或直接使用裸盘。
      • 创建 PV、VG、LV,并格式化文件系统(如 ext4):
        • pvcreate /dev/sdX[1-9]
        • vgcreate vgX /dev/sdX[1-9]
        • lvcreate -n lvX -L 100G vgX
        • mkfs.ext4 /dev/vgX/lvX
    2. 挂载并拷贝
      • mount /dev/vgX/lvX /mnt
      • cp -a /data/. /mnt/(或 rsync -aAX /data/ /mnt/)
    3. 切换挂载点
      • umount /mnt
      • 备份原目录:mv /data /data.bak
      • mount /dev/vgX/lvX /data
    4. 配置自动挂载
      • blkid 获取 UUID,写入 /etc/fstab:UUID=xxxx /data ext4 defaults 0 0
      • mount -a 验证
    5. 校验
      • df -h、du -sh、文件数量/抽样校验,确认无误后可删除 /data.bak。
  • 场景 B:同卷组内更换物理盘(pvmove 在线迁移)

    1. 新盘加入 VG:pvcreate /dev/sdY;vgextend vgX /dev/sdY
    2. 在线迁移数据:pvmove /dev/sdX /dev/sdY(观察进度与 pvmove 日志)
    3. 迁移完成后从 VG 移除旧盘:vgreduce vgX /dev/sdX
    4. 视需要擦除旧盘:pvremove /dev/sdX 说明:该方式对业务影响小,适合不停机替换磁盘。
  • 场景 C:扩容 LV 及其文件系统

    1. 扩展 LV(示例增加 50G):lvextend -L +50G /dev/vgX/lvX
    2. 扩展文件系统
      • ext4:resize2fs /dev/vgX/lvX
      • XFS:xfs_growfs /mount/point(XFS 需已挂载,且只支持扩容)
    3. 校验:df -h 确认容量变化。

三、非 LVM 分区的迁移

  • 步骤
    1. 准备目标分区(fdisk/parted/gdisk),注意起始扇区对齐,避免覆盖现有分区
    2. 格式化目标分区:mkfs.ext4 /dev/sdY1(或 xfs)
    3. 挂载并拷贝:mount /dev/sdY1 /mnt;cp -a /data/. /mnt/(或 rsync -aAX)
    4. 切换挂载点:umount /mnt;备份原目录;mount /dev/sdY1 /data
    5. 写入 /etc/fstab(建议用 UUID=),mount -a 验证
    6. 校验一致性与可用性
  • 提示:如需调整分区大小,先备份,再调整分区表,最后用文件系统工具调整大小;尽量在离线/救援环境执行以减少干扰。

四、校验与回滚建议

  • 完整性校验
    • 容量与占用:df -h、du -sh
    • 文件数量/抽样:find /data -type f | wc -l;随机抽查打开/下载
    • 一致性:对关键数据做 MD5/SHA256 校验(生成清单对比)
  • 回滚预案
    • 挂载回旧路径或恢复备份目录;/etc/fstab 先注释新条目再测试
    • 保留 /data.bak 一段时间,确认稳定后再清理
  • 风险提示
    • 分区/扩容/迁移存在数据丢失风险;务必完整备份、在低峰时段执行,并准备救援环境以便快速回滚。

0