1、什么是条带化
  • 磁盘冲突:当多个进程同时访问一个磁盘时,可能会出现磁盘冲突。磁盘系统对访问次数(每秒的IOPS)和数据传输速率(读写速率,TPS)有限制。当达到这些限制时,后面需要访问磁盘的进程就需要挂起等待,这就是磁盘冲突。避免磁盘冲突是优化I/O性能的一个重要目标。
 
  • 条带化技术:将I/O负载均衡到多个物理磁盘上的技术。条带化技术将一块连续的数据分成很多小部分,并将他们分别存储到不同的磁盘上,使多个进程同时访问数据的不同部分而不会造成磁盘冲突,最大化I/O性能。
 
  • lvm的条带化:把lv上连续的数据分成大小相同的块,然后依次存储在多个磁盘PV上,类似raid0的数据存放形式,实现数据的并发读写;管理员依据自己的数据需求,定义数据分块大小,分布PV磁盘个数信息,从而实现读写性能最佳化。(粗略讲,条带化strip就是raid0。)
 

2、系统版本:
# cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core) 12
 
3、磁盘
[root@host-192-168-100-19 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda             252:0    010G  0 disk
├─vda1          252:1    0500M  0 part /boot
└─vda2          252:2    09.5G  0 part
  ├─centos-root 253:0    08.5G  0 lvm  /
  └─centos-swap 253:1    01G  0 lvm  [SWAP]
vdb             252:16   05G  0 disk
vdc             252:32   05G  0 disk 123456789
 
4、创建物理卷
#pvcreate /dev/nvme0n1p2 /dev/nvme1n1p2 /dev/nvme2n1p2 /dev/nvme3n1p2
  Physical volume "/dev/nvme0n1p2" successfully created.
  Physical volume "/dev/nvme1n1p2" successfully created.
  Physical volume "/dev/nvme2n1p2" successfully created.
  Physical volume "/dev/nvme3n1p2" successfully created.
 
5、创建卷组vg1
#vgcreate vg1 /dev/nvme0n1p2 /dev/nvme1n1p2 /dev/nvme2n1p2 /dev/nvme3n1p2
  Volume group "vg1" successfully created
 
6、创建条带卷

#lvcreate -L 30G -i5 -I 64 -n strip30G /dev/vg1
  Logical volume "strip30G" created.
 
 -i 指定跨PV的个数为5
 -I 指定条带单元的大小,对应于I/O中数据单元块的大小;数值必须为2的幂,单位KB
 -n 制定卷的名称
 -L 卷的大小
 
7、查看逻辑卷的状态
#lvdisplay /dev/vg1/strip30G
  --- Logical volume ---
  LV Path                /dev/vg1/strip30G
  LV Name                strip30G
  VG Name                vg1
  LV UUIDWfzCka-x1Lk-wQmj-kJcY-0Ts9-x34r-pUl1LN
  LV Write Access        read/write
  LV Creation host, time qdata8, 2018-12-20 11:14:33 +0800
  LV Status              available
  # open                 0
  LV Size                30.00 GiB
  Current LE             7680
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:7
 
 #lvs -a -o vg_name,name,devices,size

 
8、测试对比:
条带化后的逻辑卷
# dd bs=64k count=4k if=/dev/zero of=test conv=fsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 3.58631 s, 74.8 MB/s1234
 
镜像化后的逻辑卷
# dd bs=64k count=4k if=/dev/zero of=test conv=fsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 6.99957 s, 38.4 MB/s
---------------------
 

1.3 LVM条带化的更多相关文章

  1. 1.3.1 LVM条带化error

    报错:​ #pvcreate /dev/dfb2 /dev/dfa2 /dev/dfc2 /dev/dfd2 already exists in filesystem   Can't open /de ...

  2. [Linux] LVM的条带化

    一.什么是条带化 当多个进程同时访问一个磁盘时,可能会出现磁盘冲突.磁盘系统对访问次数(每秒的IO操作,IOPS)和数据传输速率(读写速率,TPS)有限制. 当达到这些限制时,后面需要访问磁盘的进程就 ...

  3. 什么是条带化(striping) ?(转载)

    条带(strip)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上的方法.简单的说,条带是一种将多个磁盘驱动器合并为一个卷的方法. 许多情况下,这是通过硬件控制器来完成的. ...

  4. 如何在 Azure 虚拟机里配置条带化

    什么是条带化(striping) 条带 (strip) 是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上的方法.简单的说,条带是一种将多个磁盘驱动器合并为一个卷的方法. 许 ...

  5. 【oracle11g,18】存储结构:暂时表,手工条带化,表/索引迁移表空间,删除表,外部表

    一. 暂时表 暂时表放在暂时表空间,不生成redo,仅仅有undo. 在暂时表中能够创建索引.视图及触发器,还能够使用"Export and Import(导出和导入)"或&quo ...

  6. 郭超:阿里云Cassandra背后的故事

    大家好,我是阿里云数据库产品事业部的玄陵,真名郭超. ​ 本次的分享大概分三个部分:Cassandra云数据库简介.Cassandra云数据库特性以及Q&A. ​ 我们先了解一下Cassand ...

  7. 在线添加磁盘,扩展LVM卷案例

    一.添加硬盘,在线扫描出来 首先到虚拟机那里添加一块硬盘,注意必须是SCSI类型的硬盘. 扫描硬盘,不用重启操作系统的. echo "- - -" > /sys/class/ ...

  8. lvm语法

    RAID:     Redundant Arrays of Inexpensive Disks                         Independent       Berkeley: ...

  9. 自学Linux Shell8.2-linux逻辑卷LVM管理

    点击返回 自学Linux命令行与Shell脚本之路 8.2-linux逻辑卷LVM管理 Linux逻辑卷管理器软件包用来通过将另外一个硬盘上的分区加入已有文件系统,动态地添加存储空间. 1. 逻辑卷L ...

随机推荐

  1. python语言(三)文件修改、函数、json操作、监控日志代码、高效读取文件

    1.文件操作(2)   代码 f = open('a.txt','a') # "a" 如果源文件不在,会自动创建 f.write('abc') result = f.read() ...

  2. ssl 原理简介

    要想弄明白SSL认证原理,首先要对CA有有所了解,它在SSL认证过程中有非常重要的作用.说白了,CA就是一个组织,专门为网络服务器颁发证书的,国际知名的CA机构有VeriSign.Symantec,国 ...

  3. 使用mapreduce清洗简单日志文件并导入hive数据库

    Result文件数据说明: Ip:106.39.41.166,(城市) Date:10/Nov/2016:00:01:02 +0800,(日期) Day:10,(天数) Traffic: 54 ,(流 ...

  4. python crawler

    crawl blog website: www.apress.com # -*- coding: utf-8 -*- """ Created on Wed May 10 ...

  5. nginx之allow、deny

    allow和deny这两个指令的意思是指,允许ip和限制ip 在此之前不得不提一下,这两个指令是存在于ngx_http_access_module模块之中的 allow语法:allow address ...

  6. 拦截RestTemplate的请求

    RestTemplate一般用于方法内部请求调用,请求报错时难以调试,所以可以为RestTemplate加拦截器进行调试,具体操作如下: 拦截器LoggingClientHttpRequestInte ...

  7. 分布式系统 与 Google

    google 论文 http://duanple.com/?p=170 google 论文与开源 http://duanple.com/?p=1096 分布式系统论文集 https://github. ...

  8. Swagger-BootStrap-UI生成的接口文档如何加Basic校验

    首先我们来看看swagger-bootstrap-ui的效果,如图所示: 看起来是不是比Swagger要大气的多. 回到重点上,为什么要给接口文档加密呢? 只对内开放,不对外开放,防止被第三方非公司人 ...

  9. mysql一对多表结构,查询一的信息的同时统计多的数量

    res_resource_catalog表对于res_info_item表是一对多, 查询res_resource_catalog信息的同时,统计res_info_item中该条res_resourc ...

  10. git 下载指定tag版本的源码<转>

    git clone --branch x.x.x https://xxx.xxx.com/xxx/xxx.git 原文地址:https://blog.csdn.net/weixin_30617561/ ...