LVM条带卷

4.4.2. 创建条带卷

如果有大量连续读、写操作,创建条带逻辑卷可提高数据 I/O 的效率。有关条带卷的常规信息,请查看 第 2.3.2 节 “条带逻辑卷”

创建条带逻辑卷时,可使用 lvcreate 命令的 -i 参数指定条带数。这样就决定了逻辑卷会在多少物理卷之间形成条带。条带数不能超过该卷组中的物理卷数(除非使用 --alloc anywhere 参数)。

如果组成逻辑卷的底层物理设备大小不同,则最大的条带卷是由最小的底层设备决定。例如:在有两个分支的条带中,条带卷大小不能超过较小设备的两倍。在有三个分支的条带中,条带卷大小不能超过最小设备的三倍。

下面的命令在两个物理卷之间创建条带逻辑卷,条带大小为 64kB。该逻辑卷为 50GB,名为 gfslv,并从中创建卷组 vg0

# lvcreate -L 50G -i 2 -I 64 -n gfslv vg0

可使用线性卷指定用于该条带的物理卷。下面的命令创建大小为 100 扩展的条带卷,该条带跨两个物理卷,名为 stripelv,位于卷组 testvg 中。该条带使用 /dev/sda1 的扇区 0-49,以及 /dev/sdb1 的扇区 50-99。

# lvcreate -l 100 -i 2 -nstripelv testvg /dev/sda1:0-49 /dev/sdb1:50-99
  Using default stripesize 64.00 KB
  Logical volume "stripelv" created

转载至https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/lv

2.3.2. 条带逻辑卷

向 LVM 逻辑卷写入数据时,文件系统在基本物理卷之间部署数据。可以通过创建条带逻辑卷控制数据向物理卷写入的方法。对于大批量的读取和写入,这样可以提高数据输入/输出的效率。

条带化数据可通过以 round-robin 模式向预定数目的物理卷写入数据来提高性能。使用条带模式,I/O 可以平行执行。在有些情况下,这样可以使条带中每个附加的物理卷获得类似线性卷的性能。

以下示例显示数据在三个物理卷之间进行条状分布。在这个图表中:

  • 在第一个物理卷中写入第一个数据条带

  • 在第二个物理卷中写入第二个数据条带

  • 在第三个物理卷中写入第三个数据条带

  • 在第四个物理卷中写入第四个数据条带

在条状逻辑卷中,条带大小不能超过扩展的大小。

跨三个物理卷的条带数据

图 2.5. 跨三个物理卷的条带数据

条带逻辑卷可通过在第一组设备的末尾连接另一组设备来扩大容量。要扩展条带逻辑卷,就必须在基本物理卷中有足够的可用空间组成卷组来支持条带卷。例如:如果有一个双向条带使用了整个卷组,那么向卷组中添加单一物理卷不会允许您扩展该条带。反之,必须在卷组中添加至少两个物理卷。有关扩展条带卷的详情请参考 第 4.4.15.1 节 “扩展条带卷”

转载至https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/lv_overview#striped_volumes

4.4.15.1. 扩展条带卷

要增大条带逻辑卷的大小,则必须在底层物理卷中有足够的剩余空间,以便组成卷组支持该条带。例如:如果有一个使用整个卷组的双向条带,在该卷组中添加单一物理卷不会让您有扩展该条带的能力,而必须在该卷组中添加至少两个物理卷方可有此能力。

例如:可使用下面的 vgs 命令显示由两个底层物理卷组成的卷组 vg

# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     2   0   0 wz--n- 271.31G 271.31G

使用该卷组中的整个空间数量创建条带。

# lvcreate -n stripe1 -L 271.31G -i 2 vg
  Using default stripesize 64.00 KB
  Rounding up size to full physical extent 271.31 GB
  Logical volume "stripe1" created
# lvs -a -o +devices
  LV      VG   Attr   LSize   Origin Snap%  Move Log Copy%  Devices
  stripe1 vg   -wi-a- 271.31G                               /dev/sda1(0),/dev/sdb1(0)

注:卷组目前没有剩余空间。

# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     2   1   0 wz--n- 271.31G    0

下面的命令在卷组中添加另一个物理卷,之后该卷组就有 135G 附加空间。

# vgextend vg /dev/sdc1
  Volume group "vg" successfully extended
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     3   1   0 wz--n- 406.97G 135.66G

此时无法将该条带逻辑卷扩展到卷组的最大大小,因为需要有两个底层设备方可将数据条带化。

# lvextend vg/stripe1 -L 406G
  Using stripesize of last segment 64.00 KB
  Extending logical volume stripe1 to 406.00 GB
  Insufficient suitable allocatable extents for logical volume stripe1: 34480 
more required

要扩展条带逻辑卷,需要添加量一个物理卷,然后再扩展该逻辑卷。在这个示例中,在该卷组中添加两个物理卷,即可将该逻辑卷扩展到该卷组的最大大小。

# vgextend vg /dev/sdd1
  Volume group "vg" successfully extended
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     4   1   0 wz--n- 542.62G 271.31G
# lvextend vg/stripe1 -L 542G
  Using stripesize of last segment 64.00 KB
  Extending logical volume stripe1 to 542.00 GB
  Logical volume stripe1 successfully resized

如果没有足够的底层物理设备扩展该条带逻辑卷,且扩展不是条带化也没有关系,则也能够扩展该卷,结果是会得到不平衡的性能。在逻辑卷中添加空间时,默认操作是使用与现有逻辑卷最后片段相同的条带参数,但也可以覆盖那些参数。下面的示例扩展现有条带逻辑卷,使用启动 lvextend 命令失败后可用的剩余空间。

# lvextend vg/stripe1 -L 406G
  Using stripesize of last segment 64.00 KB
  Extending logical volume stripe1 to 406.00 GB
  Insufficient suitable allocatable extents for logical volume stripe1: 34480 
more required
# lvextend -i1 -l+100%FREE vg/stripe1

转载至https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/lv#stripe_extend

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值