1、条带化的概念
一般以LVM管理的存储,一个vg中可能会有很多pv,同样的,一个lv可能跨越多块pv,为了使硬盘存储速度加快,就会用到条带化的技术,即把连续的数据分成大小相同的数据块,然后依次存储在各个pv上。类似于RAID0,使存储速度加快。但并不会使数据像RAID0一样危险容易丢失,因为在正式使用中,不会像此时做测试一样没有任何保障地将多块硬盘做成一个vg,而是普遍连接的后台存储,在划分LUN之前,已经在物理硬盘上做好RAID5或RAID1,在RAID5或RAID1的基础上再划分出多块LUN,即系统上的pv,即使pv所在硬盘损坏,但有底层的硬RAID冗余,并不会丢失数据。
2、条带化lv的创建
查询磁盘
[root@localhost ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1 /dev/sde /dev/sde1 /dev/sdf /dev/sdf1 /dev/sdg /dev/sdg1
#分别对/dev/sdb~sdg磁盘分,并且设置分区为8e
[root@localhost ~]# fdisk /dev/dbc
n 创建分区
p 选择主分区
分区编号 回车默认
起始位置 回车默认
结束位置 回车默认
t 选择8e
p 查看分区信息
w 保存
#重读分区表
[root@localhost ~]# partprobe /dev/sdb /dev/sdc /dev/sde /dev/sdf /dev/sdf /dev/sdg
#将每块硬盘做为一个PV,先全部执行完成
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc1" successfully created.
Physical volume "/dev/sdd1" successfully created.
#查询pvs
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <18.00g 4.00m
/dev/sdb1 lvm2 --- <50.00g <50.00g
/dev/sdc1 lvm2 --- <50.00g <50.00g
/dev/sdd1 lvm2 --- <50.00g <50.00g
#创建vgs
[root@localhost ~]# vgcreate /dev/vg01 /dev/sdb1 /dev/sdc1 /dev/sdd1
Volume group "vg01" successfully created
#查询vgs
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <18.00g 4.00m
vg01 3 0 0 wz--n- <149.99g <149.99g
[root@localhost ~]# vgdisplay vg01
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size <149.99 GiB
PE Size 4.00 MiB
Total PE 38397
Alloc PE / Size 0 / 0
Free PE / Size 38397 / <149.99 GiB
VG UUID lRj7ML-wbQt-fwrE-69DH-yTsd-xDYq-8egXVU
再创建条带化的lv,下面用到的lvextend的参数如下:
-i:此处写lv用到的pv的数量,不能超过所在vg的pv数量,一般设置与vg的pv个数相同
-I:条带单元大小,单位Kb
-L:lv的大小,默认为Mb,可带单位G,M,K
-l:小写L,分配给lv的LE个数,对应于VG中的PE,在上条vgdisplay的输出中可看到VG中一共有38397个PE。
-n:自定义lv的名字,默认从lvol0开始往下排。
为了下面测试条带化下的lvextend,所以将此vg的所有空间都给这个lv,即38397个LE,一共149G的可用空间。
[root@localhost ~]# lvcreate -i 3 -I 512 -l 38397 -n lv01 vg01
Logical volume "lv01" created.
[root@localhost ~]# lvdisplay /dev/vg01/lv01
--- Logical volume ---
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID 6oKWk2-Orir-9a7f-dzgf-pq4n-Zrm1-RJIqjh
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-11-08 17:48:37 +0800
LV Status available
# open 0
LV Size <149.99 GiB
Current LE 38397
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
[root@localhost ~]# mkfs.xfs /dev/vg01/lv01
meta-data=/dev/vg01/lv01 isize=512 agcount=16, agsize=2457472 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=39318528, imaxpct=25
= sunit=128 swidth=384 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=19200, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkdir -v /mnt/lv01
mkdir: 已创建目录 "/mnt/lv01"
[root@localhost ~]# mount /dev/vg01/lv01 /mnt/lv01/
[root@localhost ~]# dd if=/dev/zero of=/mnt/lv01/1.txt bs=1M count=3000000
#条带化测试结果
dd: 写入"/mnt/lv01/1.txt" 出错: 设备上没有空间
记录了153481+0 的读入
记录了153480+0 的写出
160935444480字节(161 GB)已复制,2123.93 秒,75.8 MB/秒
[root@localhost ~]# lvs -v --segments
LV VG Attr Start SSize #Str Type Stripe Chunk
root centos -wi-ao---- 0 <10.00g 1 linear 0 0
swap centos -wi-ao---- 0 <8.00g 1 linear 0 0
lv01 vg01 -wi-ao---- 0 <149.99g 3 striped 128.00k 0
lv02 vg02 -wi-ao---- 0 <50.00g 1 linear 0 0
lv02 vg02 -wi-ao---- <50.00g <50.00g 1 linear 0 0
lv02 vg02 -wi-ao---- 99.99g <50.00g 1 linear 0 0
3、条带化lvm和非条带化lvm对比