扩展 LVM 卷的卷大小

如果您扩展一个块存储卷,这个卷通过缺省附加块磁盘附加组件连接到一个大于或等于 2 TB 的虚拟机并且先前格式化为逻辑卷管理器 (LVM),您必须完成额外步骤。

关于本任务

如果您正在使用 Red Hat Enterprise Linux® 6.x ,并且将块存储卷扩展至大于或等于 2 TB ,那么必须手动调整安装在虚拟机上的逻辑卷的大小。 在此手动扩展过程中,您必须拆离卷或重新启动虚拟实例。 因此,您可能希望在维护窗口期间完成此任务。

如果在 Red Hat Enterprise Linux 6.x上将逻辑卷扩展至 2 TB 或更多,那么在 刷新 操作期间或在使用附加组件的新部署期间,将生成以下错误消息:The block storage device size expansion is not reflected in the mounted logical volume. Automatic logical volume size refresh is not supported on RHEL 6.x if the size is expanded to 2 TB or more. To refresh the logical volume size, manually rescan the device, create a new partition, restart or the detach volume, and then add the partition to a physical volume, volume group, logical volume and refresh the mount.

从 " 目录 > " 页面中展开连接并安装到虚拟机的块存储器之后, 使用 SSH 登录到虚拟机,并完成以下步骤:

过程

  1. 在模式实例块存储器表中识别与块存储器关联的安装点。
  2. 运行 df -Ph 以获取与安装点对应的逻辑卷文件系统名称。 文件系统名称的格式如下: /dev/mapper/<volume_group_name>-<logical_volume_name>
    例如,如果安装点为 /mount1,那么在运行 df -Ph 时,必须看到类似于以下输出的内容:
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/datavg0-LV21328  3.0G  1.6M  2.8G  1%    /mount1
  3. 从上一步中运行的命令的输出中获取卷组名称和逻辑卷名称。
    在上一步的示例中,卷组名称为 datavg0,逻辑卷名称为 LV21328
  4. 运行 pvs 命令以获取与卷组关联的物理设备。 pvs 命令返回具有分区号的物理设备。
    运行 pvs 命令时,会看到类似以下示例的输出:
       PV         VG      Fmt   Attr   PSize       PFree 
       /dev/sda2  rhel    lvm2  a--    11.75g      0
       /dev/sdb1  datavg0 lvm2  a--    1020.00m    0      
       /dev/sdb2  datavg0 lvm2  a--    1020.00m    0

    如果卷组为 datavg0,那么物理设备将为 /dev/sdb

  5. 重新扫描设备以获取新大小: echo 1 > /sys/block/<PHYSICAL_DEVICE>/device/rescan
    例如,echo 1 > /sys/block/sdb/device/rescan
  6. 运行以下命令以修正任何对齐错误: parted /dev/sdb print。 当系统提示您修正或忽略错误时,请输入 Fix
  7. 运行以下命令以获取扩展磁盘段的开始和结束值: parted -s /dev/<PHYSICAL_DEVICE> u MB p free。 扩展磁盘分段是输出中的最后一项。
    上述命令返回与以下示例类似的输出:
    parted -s /dev/sdb u MB p free
    Model: IBM 2145 (scsi)
    Disk /dev/sdb: 3221MB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    Number  Start     End       Size      File system  Name          Flags          
            0.02MB    1.05MB    1.03MB                  Free Space 
    1       1.05MB    1073MB    1072MB                  P1           lvm      
    2       1073MB    2147MB    1075MB                  P2           lvm        
            2147MB   3221MB   1074MB                   Free Space           

    开始值为 2147 MB,结束值为 3221 MB。

  8. 对分区运行以下命令: parted -s -a optimal /dev/<PHYSICAL_DEVICE> mkpart <Partition_Name> <start> <end>。 开始和结束值必需与您在上一步中检索的值相同(包括末尾的 MB 字符串)。
    以下示例将使用从上一步中获取的开始和结束值创建新分区:parted -s -a optimal /dev/sdb mkpart P3 2147MB 3221MB
  9. 运行以下命令以在新分区上设置 lvm 标志: parted /dev/<PHYSICAL_DEVICE> set <partition_number> lvm on
    例如,要获取新分区的编号,请运行 parted /dev/sdb print。 输出如下:
    Number  Start     End       Size      File system  Name          Flags          
            0.02MB    1.05MB    1.03MB                  Free Space 
    1       1.05MB    1073MB    1072MB                  P1           lvm
    2       1073MB    2147MB    1075MB                  P2           lvm 
    3       2147MB    3221MB    1074MB                  P3      

    要将分区 3 设置为 lvm,请运行:parted /dev/sdb set 3 lvm on

  10. 在模式实例页面中拆离并重新连接卷,或者重新启动虚拟机,以使内核能够识别新分区。
  11. 在重新连接或重新启动卷之后,运行 ls /dev/sd*。 您应当可以在命令输出中看到新的分区。
    例如,以下命令显示新分区:
    /dev/sdb3 ls /dev/sdb* 
    /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3
  12. 运行以下命令以从新分区创建新的物理卷: pvcreate /dev/<PHYSICAL_DEVICE><PARTITION_NUMBER>
    例如,要添加 /dev/sdb3,请运行:pvcreate /dev/sdb3
  13. 运行以下命令以将新的物理卷添加到与块存储器关联的卷组: vgextend <volume_group_name> /dev/<PHYSICAL_DEVICE><PARTITION_NUMBER>。 要获取与块存储器关联的卷组,请查看步骤 2 和 3。
    例如,如果块存储器与卷组 datavg0相关联,那么要使用 /dev/sdb3 来扩展卷组 datavg0 ,请运行: vgextend datavg0 /dev/sdb3
  14. 运行以下命令以扩展与块存储器相关联的逻辑卷: lvextend -l +100%FREE /dev/<volume_group_name>/<logical_volume_name>。 要获取与块存储器关联的逻辑卷,请查看步骤 2 和 3。
    例如,如果块存储器与卷组 datavg0 和逻辑卷 LV21328 关联,要扩展此逻辑卷,请运行 lvextend -l +100%FREE /dev/datavg0/LV21328
  15. 运行以下命令以刷新文件系统的大小: resize2fs /dev/<volume_group_name>/<logical_volume_name>
    例如,如果块存储器与卷组 datavg0 和逻辑卷 LV21328 关联,要刷新文件系统,请运行 resize2fs /dev/datavg0/LV21328
  16. 要确认文件系统是否已调整大小,请运行 df -Ph ,您应该会看到新的大小。