Ubuntu 17.10下LVM根分区迁移、备份及热管理操作咨询
针对Ubuntu 17.10 LVM根分区迁移及热操作的解答
嘿,作为LVM新手能想到用它来管理存储已经很棒了!结合你的生产服务器场景、熟悉GPT和GParted的背景,我一步步给你梳理清楚问题:
一、将524GB LVM根分区迁移至500GB SSD + 外置硬盘备份
第一步:先做好数据备份(生产服务器重中之重!)
绝对不能跳过备份环节,推荐用rsync做增量备份,比dd更灵活,适配不同大小的存储设备:
- 把外置硬盘接到服务器,用GParted格式化成ext4(和根分区文件系统一致),然后挂载到系统:
sudo mkdir /mnt/backup sudo mount /dev/sdc1 /mnt/backup # /dev/sdc1替换成你的外置硬盘分区 - 执行备份命令,排除系统临时/虚拟目录,只备份有用数据:
sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/backup- 简单解释参数:
-a保留权限、时间戳等归档属性,-A/-X保留访问控制列表和扩展属性,-v显示备份进度,--exclude过滤不需要备份的系统临时目录。
- 简单解释参数:
- 备份完成后,验证下关键文件(比如
/etc下的配置)完整性,没问题再卸载外置硬盘:sudo umount /mnt/backup
第二步:迁移根分区到500GB SSD
注意:原根分区524GB比目标SSD大,需要先缩小原LV的大小再迁移:
- 初始化SSD:用GParted给SSD创建GPT分区,分区类型选「LVM」(对应代码8e00),假设新分区是
/dev/sdb1。 - 创建LVM物理卷(PV):
sudo pvcreate /dev/sdb1 - 扩展现有卷组(VG)到新PV:Ubuntu默认卷组名为
ubuntu-vg,执行:sudo vgextend ubuntu-vg /dev/sdb1 - 缩小原根LV的文件系统和逻辑卷:
- 先强制检查文件系统完整性(必须做!):
sudo e2fsck -f /dev/ubuntu-vg/root - 缩小文件系统到480GB(留20GB冗余,避免SSD空间不足):
sudo resize2fs /dev/ubuntu-vg/root 480G - 缩小逻辑卷到对应大小:
sudo lvreduce -L 480G /dev/ubuntu-vg/root
- 先强制检查文件系统完整性(必须做!):
- 迁移LV到新SSD的PV:执行
pvmove命令迁移数据(可在线操作,但建议暂停VirtualBox虚拟机,避免数据不一致):sudo pvmove /dev/sdaX /dev/sdb1 # /dev/sdaX替换成原根分区所在的PV - 清理旧PV并扩展新LV:
- 迁移完成后,移除旧PV:
sudo vgreduce ubuntu-vg /dev/sdaX sudo pvremove /dev/sdaX - 把根LV扩展到SSD全部可用空间:
sudo lvextend -l +100%FREE /dev/ubuntu-vg/root sudo resize2fs /dev/ubuntu-vg/root
- 迁移完成后,移除旧PV:
- 更新引导配置:确保系统重启后正常引导:
- 执行
sudo update-grub更新GRUB - 用
blkid查看新LV的UUID,替换/etc/fstab里的旧UUID - 重启服务器测试,确认系统和数据正常
- 执行
二、LVM热操作根文件系统的疑问
1. 处理根文件系统是否无需启动盘?
LVM支持大部分在线操作(比如扩展LV、迁移PV),ext4根文件系统在线扩展完全没问题;但在线缩小文件系统虽然ext4支持,但风险较高(比如系统崩溃、数据损坏),生产服务器更建议在单用户模式或启动盘下操作缩小步骤,更稳妥。
如果只是做PV迁移(pvmove),完全可以在线完成,不需要启动盘,但尽量在业务低峰期操作,并暂停虚拟机避免数据不一致。
2. 能否用GParted完成迁移?
GParted可以辅助完成基础LVM操作:比如初始化GPT分区、创建PV、调整LV大小,但核心的PV迁移(pvmove)功能GParted不支持,必须用终端命令完成。你可以用GParted做前期准备,剩下的迁移、缩扩容步骤还是得靠终端。
内容的提问来源于stack exchange,提问作者MeSo2
相关产品推荐
相关产品推荐

