首页主机资讯centos分区如何进行系统迁移

centos分区如何进行系统迁移

时间2025-12-18 02:56:04发布访客分类主机资讯浏览1348
导读:CentOS 分区级系统迁移实操指南 一、场景与总体思路 典型场景包括:同架构物理机/虚拟机之间的系统盘克隆、跨硬盘替换、仅迁移某些目录到新分区、以及跨发行版的就地转换升级。 基本原则:先完整备份(含分区表与引导)、尽量使用离线迁移减少运...

CentOS 分区级系统迁移实操指南

一、场景与总体思路

  • 典型场景包括:同架构物理机/虚拟机之间的系统盘克隆、跨硬盘替换、仅迁移某些目录到新分区、以及跨发行版的就地转换升级。
  • 基本原则:先完整备份(含分区表与引导)、尽量使用离线迁移减少运行态差异、迁移后校验引导与文件系统一致性、必要时调整 fstab/UUID/网络 配置。

二、方案一 整盘克隆到新硬盘(保留分区布局,最稳妥)

  • 适用:同架构、从旧盘迁移到新盘,或整机替换。
  • 步骤
    1. 准备与备份
      • 关机后接入新盘;确认设备名(如 /dev/sdb),避免误操作。
      • 备份关键分区表与引导信息:
        • 备份分区表:sfdisk -d /dev/sda > sda.sfdisk
        • 备份 MBR/GPT 引导:dd if=/dev/sda of=/root/mbr.bak bs=512 count=1
    2. 克隆分区表
      • 精确克隆:sfdisk /dev/sda < sda.sfdisk
      • 或按容量重建分区后继续下一步(需保证分区大小≥原分区已用数据)。
    3. 克隆文件系统
      • 非 LVM:对每个分区执行 dd if=/dev/sda1 of=/dev/sdb1 bs=4M conv=noerror,sync
      • LVM:先 pvcreate/vgcreate/lvcreate 建立相同 LV 结构,再对每个 LV 执行 dd(或使用 LVM 快照+镜像方式减少停机)。
    4. 扩容目标分区文件系统(如新盘更大)
      • ext4:resize2fs /dev/sdb1
      • xfs:xfs_growfs /mountpoint(注意:XFS 不支持缩小)
    5. 修复引导(关键)
      • BIOS/MBR:
        • grub2-install --target=i386-pc /dev/sdb
        • 生成配置:grub2-mkconfig -o /boot/grub2/grub.cfg
      • UEFI:
        • 挂载 EFI 分区(如 /dev/sdb1 为 vfat):mount /dev/sdb1 /boot/efi
        • grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=CentOS
        • grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    6. 验证
      • 以新盘启动,检查 df、lsblk、mount、/etc/fstab 的 UUID 是否匹配,必要时修正 fstab 使用 UUID。
  • 提示:若跨机器迁移,优先保持控制器/固件类型一致;差异较大时,建议改用 rsync 方式迁移根文件系统并在目标机全新安装引导。

三、方案二 仅迁移部分目录到新分区或新盘(不改系统盘)

  • 适用:把 /home /var /data 等迁移到新磁盘/新分区,系统盘保持不动。
  • 步骤
    1. 准备新分区并挂载
      • 分区与格式化:fdisk /dev/vdc → mkfs.xfs /dev/vdc1(或 ext4)
      • 挂载临时目录:mkdir /mnt/newpart; mount /dev/vdc1 /mnt/newpart
    2. 迁移数据(保持权限与时间戳)
      • rsync -aAX --info=progress2 /data/ /mnt/newpart/
    3. 校验
      • diff -r /data /mnt/newpart 或 du -sh 对比;抽样校验关键文件。
    4. 切换挂载点
      • 备份并编辑 /etc/fstab,建议使用 UUID(blkid 获取):
        • UUID=xxxx-xxxx /data xfs defaults 0 0
      • 原子切换:
        • mount --move /data /mnt/olddata
        • mount /dev/vdc1 /data
        • 确认无误后 rm -rf /mnt/olddata
    5. 应用与清理
      • 重启依赖该目录的服务(如数据库、容器),观察日志与磁盘占用。
  • 要点:使用 rsync -aAX 可保留 ACL/扩展属性;XFS 仅支持在线扩容,如需缩小需先备份-重建-恢复。

四、方案三 跨发行版就地转换升级(系统盘数据保留)

  • 适用:在 CentOS 7/8Anolis OS 7/8Alibaba Cloud Linux 3 等之间做原地转换,保留系统盘数据。
  • 能力与限制
    • 支持的典型路径:CentOS 7.x → Anolis 7/8、Alibaba Cloud Linux 2/3;CentOS 8.x → Anolis 8、Alibaba Cloud Linux 3;部分场景支持 CentOS 7.9 → RHEL 7、CentOS 8.5 → RHEL 8(白名单)。
    • 迁移工具会重装系统软件包,涉及内核/工具链变化,部分内核接口相关场景(如 OOT 模块、硬件使能)可能不兼容,需预先评估。
    • 资源与软件限制:需预留内存≥600 MiB,/usr≥250 MiB、/var≥4 GiB、/boot≥100 MiB;不提供 i386 包;部分特性(如 epel-modular)可能不可用;迁移不可直接指定 RHEL 小版本。
  • 基本流程(以 Anolis 为例)
    • 安装迁移工具并检测环境:
      • wget https://gitee.com/anolis/centos2anolis/raw/master/centos2anolis.py
      • yum -y install python3
    • 执行迁移(示例到 Anolis OS 8):
      • python3 centos2anolis.py -v 8.2
    • 重启并验证:cat /etc/os-release,检查关键服务与驱动。

五、常见问题与排错要点

  • 启动失败
    • 检查 BIOS/UEFI 启动项与设备顺序;确认 /bootEFI 分区已正确挂载且 grub 配置指向正确的 UUID/设备
    • 使用 LiveCD/救援模式挂载原系统分区后执行 grub2-install 与 grub2-mkconfig 修复。
  • 文件系统与分区
    • XFS 不支持缩小,扩容需从后向前调整(先扩分区/PV/LV,再 xfs_growfs)。
    • 迁移后若发现挂载异常,优先用 UUID 而非设备名更新 /etc/fstab,避免盘序变化导致误挂载。
  • LVM 场景
    • 目标机需先创建相同的 VG/LV 名称与大小(或使用镜像/快照方式),再逐 LV dd 克隆;必要时 vgimportclone 处理 VG UUID 冲突。
  • 网络与主机标识
    • 克隆后可能出现 IP 冲突/主机名重复,按需调整 /etc/hostname、/etc/sysconfig/network-scripts/ifcfg-* 或使用 DHCP。
  • 云环境
    • 云盘克隆后需确保 UUID 唯一、更新 fstab 与引导;部分平台提供快照/镜像工具,优先使用平台原生能力。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos分区如何进行系统迁移
本文地址: https://pptw.com/jishu/774687.html
CentOS服务器如何配置JSP支持 CentOS下JSP项目部署步骤

游客 回复需填写必要信息