删除从另一个磁盘扩展的 LV 磁盘空间时出现问题

删除从另一个磁盘扩展的 LV 磁盘空间时出现问题

我有一台 Redhat 服务器,上面有两个磁盘,一个 100GB,一个 500GB。500GB 的磁盘没有使用,但我后来用它来扩展 /var LV。所有挂载点上的文件系统都是 xfs,实际上你无法在 xfs 文件系统上减少 LV。

到目前为止所做的工作是:

  1. 在 500GB 磁盘上创建一个分区
  2. 将 LV lv_var 扩展为 500gb 磁盘的 50%

我还没有使用 xfs_grow 扩展文件系统,所以 /var 上的 fs 仍然为 2gb。那么我的问题是,如何才能安全地删除 500gb 磁盘上的扩展磁盘空间,而不会损害 /var 上的文件系统。

lsblk:

sda                            8:0    0   65G  0 disk
└─sda3                         8:3    0   64G  0 part
  ├─vg_rhel-lv_var           253:4    0  250G  0 lvm  /var
sdb                            8:16   0  500G  0 disk
└─sdb1                         8:17   0  500G  0 part
  └─vg_rhel-lv_var           253:4    0  250G  0 lvm  /var

答案1

通常,您会将 pvmove 与 lvreduce 结合使用,但没有足够的空间将范围从 sdb1 移动到 sda3。我将在此答案中保留 pvmove 信息,但您可以直接使用 lvreduce。

如果您没有lvresize -r调整文件系统大小,您仍然可以缩小 lv。

然后,您可以使用 lvreduce 来减小 lv 的大小lvreduce -L 500g /dev/vg_rhel/lv_var。注意不要缩小到小于实际文件系统。之后您可以安全地运行 xfs_check(我认为),但我认为必须将其卸载,对于 var,这可能需要单用户模式。

当然,如果您确实想调整 var 的大小,正如您提到的那样,您无法缩小 xfs。在这种情况下,您必须创建一个全新的卷,复制所有内容(首先以尽量减少停机时间),启动到单用户模式,完成复制(使用 rsync 获取最终更改),更改 fstab 以安装新卷,重新启动,然后您就可以释放旧卷。

Pvmove 信息,这对于在 pv 之间移动 lv 非常有帮助。

https://linux.die.net/man/8/pvmove

在这种情况下,可能pvmove -n lv_var /dev/sdb1 /dev/sda3

请原谅这个答案的格式,因为我使用的是移动设备,无法使用所有功能。任何人都可以随意编辑。

因此,您将 var 逻辑卷的范围从 sdb1(无论哪个分区是 pv 的一部分)移动到 sda3(同样,无论哪个分区是 pv 的一部分)。

然后,sda3 上的所有 var 都将被占用,而 sdb1 将处于闲置状态,没有为任何 lv 分配任何区段。然后,如果这是您的目标,您可以使用 vgreduce 和 pvremove。

相关内容