lvresize 没有扩展 lvm 分区

lvresize 没有扩展 lvm 分区

我有一个 Hyper-V 虚拟机,我刚刚扩展了 VHD,并且可用空间显示在lsblk命令中,但我无法扩展 lv,它始终显示没有可用空间。

我的配置和测试:

lsblk

NAME                              MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

fd0 2:0    1     4K  0 disk
sda                                 8:0    0    51G  0 disk
├─sda1                              8:1    0   128M  0 part /boot
└─sda2                              8:2    0  49.9G  0 part
  ├─vg00-lv_raiz (dm-0)           252:0    0   6.1G  0 lvm  /
  ├─vg00-lv_swap1 (dm-1)          252:1    0     4G  0 lvm  [SWAP]
  ├─vg00-lv_var (dm-2)            252:2    0   6.1G  0 lvm  /var
  ├─vg00-lv_opt (dm-3)  [1]          252:3    0     3G  0 lvm  /opt
  ├─vg00-lv_u01 (dm-4)            252:4    0     6G  0 lvm  /u01
  └─vg00-lv_oracle_oradata (dm-5) 252:5    0 344.7G  0 lvm  /oracle/oradata
sdb                                 8:16   0   210G  0 disk /oracle/archive
sdc                                 8:32   0    40G  0 disk /oracle
sdd                                 8:48   0   500G  0 disk
└─sdd1                              8:49   0   320G  0 part
  └─vg00-lv_oracle_oradata (dm-5) 252:5    0 344.7G  0 lvm  /oracle/oradata

你看,SDD 有 500GB,我需要将所有可用空间扩展到只有 344GB 的 LV lv_oracle_oradata

[root@dbmega oracle 21:57:50]# df -h
Filesystem                          Size  Used Avail Use% Mounted on
/dev/mapper/vg00-lv_raiz            5.9G  1.7G  3.9G  31% /
tmpfs                                24G     0   24G   0% /dev/shm
/dev/sda1                           124M   52M   67M  44% /boot
/dev/mapper/vg00-lv_opt             2.9G  5.8M  2.8G   1% /opt
/dev/mapper/vg00-lv_u01             5.8G  2.5G  3.0G  46% /u01
/dev/sdc                             35G   23G   11G  69% /oracle
/dev/mapper/vg00-lv_var             5.9G  1.3G  4.4G  23% /var
/dev/sdb                            197G   75G  113G  41% /oracle/archive
//10.10.10.2/Backup_Oracle        3.7T  994G  2.7T  27% /oracle/backup
/dev/mapper/vg00-lv_oracle_oradata  340G  317G  5.3G  99% /oracle/oradata

当我尝试使用

[root@dbmega oracle 22:03:32]# lvresize -L +1GB /dev/mapper/vg00-lv_oracle_oradata
  Extending logical volume lv_oracle_oradata to 345.69 GiB
  Insufficient free space: 32 extents needed, but only 0 available

我怎样才能延长这个时间而不丢失任何数据,有些文章建议删除分区。

答案1

是的,您的空间sdd是 500G,但其上的 LVM PV 分区大小为 320G。这意味着,您有一个未分配的空间,但目前 LVM 无法使用它。在运行之前lvresize,您确实需要使这个空间可用。

始终查看vgspvslvs以查看 LVM 状态,特别是有多少可用空间等等。如果在进行更改之前运行它,您将看到您的 VG 确实没有足够的空间来扩大卷。(这些命令将输出简要信息; 、 和 提供更详细的vgdisplay输出pvdisplaylvdisplay


第一种方法是扩大分区。使用fdisk,您应该删除此分区并在其原位置创建更大的分区。仔细查看创建分区的起始扇区是否完全相同,如果它询问是否找到签名,请回答“否”(不擦除)。或者,您可以使用growpart。这两种变体在这里都描述过很多次,搜索有关如何在不丢失数据的情况下调整分区大小的信息。这可能需要重新启动主机。当您在 500G 分区上有 320G PV 时,您可以继续使用pvresize /dev/sdd1


或者,您也可以sdd2在可用空间上创建一个额外的分区,使用 在其上创建 LVM 标签pvcreate /dev/sdd2,然后使用 将其添加到 LVM vgextend vg00 /dev/sdd2


两种方法都会将丢失的 180G 添加到 VG,但第一种方式可能需要重新启动并且通常比较困难,而第二种方式肯定是在线的并且更容易,但会使磁盘处于有点脏的状态(两个 LVM PV 分区都是同一个 VG 的成员)。

现在您可以运行lvresize。不要忘记resize2fs或无论您的文件系统工具是什么,都要使文件系统填充卷!

相关内容