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. RxSwift 在本质上简化了开发异步程序

    RxSwift 是一个组合异步和事件驱动编程的库,通过使用可观察序列和功能样式运算符来,从而允许通过调度程序进行参数化执行. RxSwift 在本质上简化了开发异步程序,允许代码对新数据作出反应,并以 ...

  2. Linux计划作业练习

    1.crontab -eu zh  //每天晚上10天提醒用户可以去睡觉了 * */10  * *  * go to sleep 2.查询crontab的工作内容 3.当crontab命令格式出错时 ...

  3. web前端如何性能优化提高加载速度

    前端优化有以下几种途径: 一.减少HTTP请求数量和次数: 二.使用CDN: 三.添加Expires头: 四.压缩组件: 五.将样式表放在头部: 六.将脚本放在底部: 七.避免CSS表达式: 八.使用 ...

  4. VSCode 如何操作用户自定义代码片段

    自己写了一些根据自己习惯弄成的自定义代码片段,不喜跳过 很简单,快速过一下,F1,然后输入 snippets vue代码片段 { // Place your snippets for vue here ...

  5. vue的认识===下载

    VUE:不建议直接操作DOM Vue.js是前端三大新框架:Angular.js.React.js.Vue.js之一,Vue.js目前的使用和关注程度在三大框架中稍微 胜出,并且它的热度还在递增 Vu ...

  6. 使用docker部署微服务

    https://my.oschina.net/silenceyawen/blog/1819472 http://jvm123.com/2019/08/docker-shi-yong.html 从201 ...

  7. utility.py:61: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array in

    utility.py:: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; ...

  8. Python运行语法错误:IndentationError: unindent does not match any outer indentation level

    python脚本没有对齐.新的Python语法,是不支持的代码对齐中,混用TAB和空格的.

  9. oracle 使用length()函数需要注意的坑!

      1.情景展示 筛选出指定字段字符长度既不等于18也不等于15的数据. 2.原因分析 第一步:按字符串度进行分组统计: 第二步:筛选数据. 你会发现,只将length=17统计了出来,长度不存在的数 ...

  10. BiseNet阅读总结

    一.思路 语义分割既需要丰富的空间信息,又需要较大的感受野.然而,现代方法通常会牺牲空间分辨率来实现实时推理速度,导致性能低下.本文提出了一种新的双边分割网络(BiSeNet)来解决这一难题.我们首先 ...