11.9. 扩展逻辑卷

要扩展逻辑卷,您只需告诉 lvextend 命令您想要增加多少大小。您可以指定卷要增长多少,或者指定卷最终要达到的总大小。

# lvextend -L12G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
        
将会扩展/dev/myvg/homevol到 12 千兆字节 (GB)。

# lvextend -L+1G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
        
将会向/dev/myvg/homevol.

添加另外一个千兆字节 (GB)。在您扩展逻辑卷之后,必须增加文件系统的大小以匹配。具体如何操作取决于您使用的文件系统。

默认情况下,大多数文件系统调整大小工具会将文件系统的大小增加到与底层逻辑卷大小一致,因此您无需担心为这两个命令指定相同的大小。

  1. ext2/ext3

    除非您已使用 ext2online 补丁修补了内核,否则必须先卸载文件系统才能调整其大小。(在线调整大小补丁似乎相当危险,因此请自行承担风险使用)

       # umount /dev/myvg/homevol/dev/myvg/homevol
       # resize2fs /dev/myvg/homevol
       # mount /dev/myvg/homevol /home
                

    如果您没有 e2fsprogs 1.19 或更高版本,您可以从 ext2resize.sourceforge.net 下载 ext2resize 命令并使用它。

       # umount /dev/myvg/homevol/dev/myvg/homevol
       # ext2resize /dev/myvg/homevol
       # mount /dev/myvg/homevol /home
                

    对于 ext2,有一种更简单的方法。LVM 1 附带一个名为 e2fsadm 的实用工具,它可以为您执行 lvextend 和 resize2fs 操作(它还可以缩小文件系统,请参阅下一节)。

    WarningLVM 2 注意事项
     

    目前 LVM 2 还没有 e2fsadm 的等效工具,并且 LVM 1 附带的 e2fsadm 不能与 LVM 2 一起使用。

    因此,单个命令
       # e2fsadm -L+1G /dev/myvg/homevol
                
    等同于以下两个命令
       # lvextend -L+1G /dev/myvg/homevol
       # resize2fs /dev/myvg/homevol
                

    Note注意
     

    在运行 e2fsadm 之前,您仍然需要卸载文件系统。

  2. reiserfs

    Reiserfs 文件系统可以在挂载或卸载时调整大小,您可以根据自己的喜好选择。

    • 在线

         # resize_reiserfs -f /dev/myvg/homevol
                        

    • 离线

         # umount /dev/myvg/homevol
         # resize_reiserfs /dev/myvg/homevol
         # mount -treiserfs /dev/myvg/homevol /home
                        

  3. xfs

    XFS 文件系统必须挂载才能调整大小,并且指定的是挂载点而不是设备名称。

       # xfs_growfs /home
                

  4. jfs

    与 XFS 类似,JFS 文件系统也必须挂载才能调整大小,并且指定的是挂载点而不是设备名称。您需要至少 1.0.21 版本的 jfs-utils 才能执行此操作。

    # mount -o remount,resize /home
                

    Warning已知内核错误
     

    某些内核版本在此语法上存在问题(已知 2.6.0 版本存在此问题)。在这种情况下,您必须显式指定文件系统的新大小,以块为单位。这非常容易出错,因为您必须知道文件系统的块大小,并基于这些单位计算新大小。

    示例:如果要将块大小为 4k 的 JFS 文件系统调整为 4 千兆字节 (GB),您需要输入

    # mount -o remount,resize=1048576 /home