在 Ubuntu 服务器上调整逻辑卷大小后的紧急模式

在 Ubuntu 服务器上调整逻辑卷大小后的紧急模式

我在家里的一台个人电脑上运行最新版本的ubuntu服务器作为服务器。我上面有两个逻辑卷。vg0vg1。最近,我注意到我/dev/vg0/lv-var安装的分区/var太小了。我备份了/var和中的所有内容/home,然后继续减少/dev/vg0/lv-home分区并增加/dev/vg0/lv-var分区。我使用的命令如下所示:

umount /home
lvreduce --size 325G /dev/vg0/lv-home
lvextend -L +100.22G /dev/vg0/lv-var
xfs_growfs /dev/mapper/vg0-lv--var

一切似乎都奏效了。请注意,我没有这样umount /var做,因为它被许多基本流程使用。

重新启动后,系统现在启动到emergency mode我什至无法使用键盘进行故障排除,因为它在处理 USB 连接时遇到问题,并且出现类似于以下内容的错误unable to enumerate USB device

/home我觉得可能是我重启前没有remount的问题。

尝试在安全模式下安装回家时,我得到:

mount: /home: can't read superblock on /dev/mapper/vg0-lv--home.

当系统启动时我可以看到:

[FAILED] Failed to mount /home. (100.0% complete)

我尝试过xfs_repair,但我什至无法将卷安装在任何地方,因为我得到can't read superblock on /dev/mapper/vg0-lv--home

我正在考虑删除逻辑卷,创建一个新卷并将其安装到主目录。我有数据备份,但如何做到这一点并让系统知道/home在启动时安装新创建的数据?

答案1

我备份了/var和中的所有内容/home

那太棒了!您现在需要该备份/home

您在使用时lvreduce没有--resizefs先缩小其中的文件系统。结果,您切断了/home文件系统的一部分,并且它现在已损坏并导致您进入紧急模式。

如果您的/home文件系统是 XFS 文件系统,那么目前无论如何都无法非破坏性地缩小它。制作备份,然后收缩分区/逻辑卷,然后重新mkfs启动收缩的分区/LV 并恢复备份是目前收缩 XFS 文件系统的唯一可用(生产质量)的方法。

因此,暂时注释掉紧急模式/home中的条目/etc/fstab,让系统或多或少正常启动,启动以退出紧急模式,然后重新取消注释条目mkfs,挂载它,并恢复您的内容从备份。/dev/vg0/lv-home/etc/fstab/home/home

你应该分层思考:

  • 物理磁盘没问题
  • 用作LVM物理卷的分区没问题
  • LVM逻辑卷层已适当收缩,所以也很好
  • 逻辑卷中的文件系统没有收缩,因此它的尾部被切断。

如果文件系统类型/home是 XFS,您只需要运行sudo mkfs.xfs /dev/vg0/lv-home,文件系统就可以再次挂载(尽管是空的)。之后,只需从备份中恢复内容即可。

相关内容