我可以从故障的 LVM 卷中调整 reiserfs 的大小吗?

我可以从故障的 LVM 卷中调整 reiserfs 的大小吗?

前段时间,我拿了一些备用件来为 backuppc 做测试。两个较大的硬盘驱动器通过 LVM 合并为一个卷。几个月后,似乎第二个驱动器出了问题。上次检查时,如果我能说服文件系统调整大小,我的数据刚好可以放在第一个驱动器上。

我将文件系统设置为 reiserfs,因为有报告称它在 backuppc 上运行良好。我开始使用 resierfsck 来查看损坏程度,包括尝试--rebuild-tree使用坏块列表(来自 badblocks 程序)。但每次运行时,它都会发现一个新的坏块并停止,所以看起来磁盘已经无可救药了。

resize_resierfs告诉我我需要reiserfsck --check先运行,即使有-f。这反过来告诉我它无法运行,因为不完整--rebuild-tree

至少数据只是备份,因此重新开始不会丢失任何重要数据,只是需要花费大量时间下载初始备份。

答案1

您真正想要做的是将逻辑卷从该驱动器中移除,而最好的办法是将物理盘区迁移到另一个磁盘。如果您只是调整文件系统的大小,则无法预测可用空间将从何处而来。

假设故障驱动器是 ,/dev/sdb而新驱动器是/dev/sdc,则程序如下:

准备新磁盘

pvcreate /dev/sdc

将其添加到卷组

vgextend myvolumegroup /dev/sdc

将数据移动到新磁盘

pvmove /dev/sdb /dev/sdc

注意:pvmove 是慢的,所以你可能想要做

pvmove -v /dev/sdb /dev/sdc

反而。

答案2

使用pvmove将该 LV 的所有范围移至 VG 中的其他 PV 上。

答案3

我同意磁盘似乎无济于事。您的方法(缩小文件系统、缩小 LV、移出坏磁盘)似乎也不错。

这可能会(我的意思是可能会,磁盘故障可能会导致所有赌注都失效)起作用:

  1. 获取另一个磁盘,至少与发生故障的磁盘一样大。
  2. 将其添加到卷组(pvcreate、vgextend)。
  3. 将 LV 从故障磁盘上移开(pvmove)。

这将在 PE/块级别上工作,绕过文件系统。但是您遇到了读取错误,所以我不知道它是否会成功或失败。

答案4

我使用过的每个分区调整程序(gparted、Partition Magic 等)都会在提交任何更改之前对文件系统执行健康检查。除非有人知道某个应用程序不支持并且仍然支持 reiserfs,否则最好的办法是从头开始。我能想到的任何其他方法都会花费更多的工作和更长的时间。

否则,您可以尝试通过文件系统工具重新映射所有坏块,但如果驱动器运行速度确实很快,它们出现的速度可能比您重新映射它们的速度还快。

相关内容