温馨提示×

centos分区怎么迁移

小樊
50
2026-09-18 09:20:34
栏目: 智能运维

在 CentOS 中“分区迁移”通常指把某个分区(如 /home、/var、/data)从一块磁盘迁到另一块磁盘,或重新划分分区结构。下面按常见场景给你一套安全可操作的做法。


一、常见迁移场景

  1. 把 /home 从系统盘迁到大容量数据盘
  2. LVM 分区之间迁移
  3. 整盘分区结构迁移(换硬盘)
  4. 非 LVM 普通分区迁移

二、迁移前必做(非常重要)

# 查看分区和挂载
lsblk
df -h
cat /etc/fstab

# 备份重要数据
rsync -av /home/ /backup/home/

⚠️ 一定要确认 fstab 正确,否则可能起不来


三、场景一:把 /home 迁移到新磁盘(最常用)

1. 新磁盘分区并格式化

fdisk /dev/sdb
# 新建分区 sdb1
mkfs.ext4 /dev/sdb1

2. 临时挂载

mkdir /mnt/newhome
mount /dev/sdb1 /mnt/newhome

3. 拷贝数据(保持权限)

rsync -av /home/ /mnt/newhome/

4. 切换挂载

umount /mnt/newhome
mv /home /home_old
mkdir /home
mount /dev/sdb1 /home

5. 写入 fstab

blkid /dev/sdb1

编辑:

vim /etc/fstab

添加:

UUID=xxxx /home ext4 defaults 0 2

6. 重启验证

reboot
df -h

确认无误后删除旧数据:

rm -rf /home_old

四、场景二:LVM 分区迁移(推荐方式)

如果是 LVM:

pvs
vgs
lvs

迁移 LV 到新 PV

vgextend centos /dev/sdb1
pvmove /dev/sda2 /dev/sdb1
vgreduce centos /dev/sda2

五、场景三:整盘迁移(换硬盘)

方法 1:rsync 全量迁移(最安全)

  1. 新盘装同样分区结构
  2. 挂载后:
rsync -av --exclude=/proc --exclude=/sys --exclude=/mnt / /mnt/newroot/
  1. 修复 grub
grub2-install /dev/sdb
grub2-mkconfig -o /boot/grub2/grub.cfg

方法 2:dd(不推荐,慢)

dd if=/dev/sda of=/dev/sdb bs=4M

六、常见问题

1. 迁移后无法开机

  • 进 rescue 模式
  • 检查 /etc/fstab
  • 重新生成 initramfs

2. SELinux 导致权限问题

restorecon -Rv /home

七、安全建议

✅ 用 rsync 不用 cp
✅ 先测试挂载再改 fstab
✅ 保留旧数据 1–2 天


如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是否使用 LVM
  • 要迁移哪个分区

我可以给你一步步精确命令。

0 踩