在 CentOS 中“分区迁移”通常指把某个分区(如 /home、/var、/data)从一块磁盘迁到另一块磁盘,或重新划分分区结构。下面按常见场景给你一套安全可操作的做法。
# 查看分区和挂载
lsblk
df -h
cat /etc/fstab
# 备份重要数据
rsync -av /home/ /backup/home/
⚠️ 一定要确认 fstab 正确,否则可能起不来
fdisk /dev/sdb
# 新建分区 sdb1
mkfs.ext4 /dev/sdb1
mkdir /mnt/newhome
mount /dev/sdb1 /mnt/newhome
rsync -av /home/ /mnt/newhome/
umount /mnt/newhome
mv /home /home_old
mkdir /home
mount /dev/sdb1 /home
blkid /dev/sdb1
编辑:
vim /etc/fstab
添加:
UUID=xxxx /home ext4 defaults 0 2
reboot
df -h
确认无误后删除旧数据:
rm -rf /home_old
如果是 LVM:
pvs
vgs
lvs
vgextend centos /dev/sdb1
pvmove /dev/sda2 /dev/sdb1
vgreduce centos /dev/sda2
rsync -av --exclude=/proc --exclude=/sys --exclude=/mnt / /mnt/newroot/
grub2-install /dev/sdb
grub2-mkconfig -o /boot/grub2/grub.cfg
dd if=/dev/sda of=/dev/sdb bs=4M
/etc/fstabrestorecon -Rv /home
✅ 用 rsync 不用 cp
✅ 先测试挂载再改 fstab
✅ 保留旧数据 1–2 天
如果你告诉我:
我可以给你一步步精确命令。