LVM条带化

简介: LVM条带化

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对比

微信图片_20230527184212.png


目录
相关文章
|
SQL Java 数据库连接
一篇文章彻底理解数据库的各种 JDBC 超时参数 1
一篇文章彻底理解数据库的各种 JDBC 超时参数
|
监控 调度 开发工具
IO神器blktrace使用介绍
## 前言 1. blktrace的作者正是block io的maintainer,开发此工具,可以更好的追踪IO的过程。 2. blktrace 结合btt可以统计一个IO是在调度队列停留的时间长,还是在硬件上消耗的时间长,利用这个工具可以协助分析和优化问题。 ## blktrace的原理 一个I/O请求的处理过程,可以梳理为这样一张简单的图: ![](http://image
19587 0
|
存储 Kubernetes Cloud Native
阿里巴巴开源容器镜像加速技术
近日阿里巴巴开源了其云原生容器镜像加速技术,其推出的overlaybd镜像格式,相比于传统的分层tar包文件格式,实现了基于网络的按需读取,从而使得容器可以快速启动。
|
10月前
|
存储 安全 关系型数据库
Blossom:开源私有部署的markdown笔记软件
Blossom 是一款功能强大的开源笔记软件,支持私有部署,可将笔记、图片、个人计划等数据保存在自己的服务器中,并实现实时同步。它还具备动态博客功能,方便记录和分享内容。Blossom 支持多种设备,提供完善的文件管理、快速迁移和丰富的附加功能,是个人知识管理和博客展示的理想选择。
498 7
Blossom:开源私有部署的markdown笔记软件
|
存储 缓存 运维
5 分钟完成 ZooKeeper 数据迁移
MSE 提供了多种数据迁移的方案,其中主流的方案可以通过 MSE Sync 进行实时同步,这样能够达到平滑不停机的目的,本文将介绍另外一种数据迁移的方式,主要针对业务支持停机的场景,进行一个补充,操作相比更加简单快速。
5 分钟完成 ZooKeeper 数据迁移
|
弹性计算 人工智能 安全
阿里云推出第九代ECS实例,最高提升30%性能
阿里云推出第九代ECS实例,最高提升30%性能
1041 14
|
存储 关系型数据库 分布式数据库
内附原文|详解SIGMOD’24最佳论文:PolarDB破解多主架构经典难题
在今年的SIGMOD会议上,阿里云瑶池数据库团队的论文《PolarDB-MP: A Multi-Primary Cloud-Native Database via Disaggregated Shared Memory》获得了Industry Track Best Paper Award,这是中国企业独立完成的成果首次摘得SIGMOD最高奖。PolarDB-MP是基于分布式共享内存的多主云原生数据库,本文将介绍这篇论文的具体细节。
内附原文|详解SIGMOD’24最佳论文:PolarDB破解多主架构经典难题
|
负载均衡 jenkins 应用服务中间件
大规模部署下的 Jenkins 高可用性与负载均衡
【8月更文第31天】随着软件开发流程的加速,持续集成/持续交付(CI/CD)工具的重要性日益凸显。Jenkins 作为最受欢迎的 CI/CD 平台之一,为企业提供了强大的自动化构建和部署功能。然而,在大规模部署场景下,单一的 Jenkins 实例可能无法满足高可用性和性能的需求。本文将探讨如何设计和实施 Jenkins 高可用集群,以支持大型组织的需求,并通过负载均衡技术来提高系统的稳定性和响应速度。
722 0
|
安全 UED
麒麟的版本 V10 (Lance) V10 (Tercel) 有什么区别
【6月更文挑战第26天】麒麟的版本 V10 (Lance) V10 (Tercel) 有什么区别
9916 2
|
Python
python国内原地址
【7月更文挑战第2天】 国内Python用户为加速包安装常使用镜像源,
4159 1