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. Keil的RTX特性

    Keil RTX是为ARM和Cortex-M设备设计的免版税,确定性的实时操作系统.它允许您创建同时执行多个功能的程序,并帮助创建更好的结构和更容易维护的应用程序. 特征 具有源代码的免版权,确定性R ...

  2. react native redux 草稿

    Provider > Provider > 使组件层级中的 方法都能够获得 Redux store.正常情况下,你的根组件应该嵌套在 Provider 中才能使用 方法. 如果你真的不想把 ...

  3. day002-Linux基础之常用基本命令讲解

    Linux系统一切皆命令 命令1:pwd 显示当前所在目录命令2:cd(change directory) 切换目录 cd / 回到根目录 cd .. 返回上一级命令3:ls 查看当前目录下的文件 l ...

  4. MongoDB 部署复制集(副本集)

    部署MongoDB复制集(副本集)   环境 操作系统:Ubuntu 18.04 MongoDB: 4.0.3 服务器 首先部署3台服务器,1台主节点 + 2台从节点 3台服务器的内容ip分别是: 1 ...

  5. php实现隔行换色

    <?php $i = 0 ; //声明一个变量 echo "<table width='800' border='1px'>"; //表格开头 设置宽度边框 wh ...

  6. 给codeblocks的c编译选项添加c99标准

    在codeblocks的settings中选择 compiler and debugger,选择compile setting 在其中有other options,在里面写上-std=c99 这样就可 ...

  7. December Challenge 2019 Division 1 题解

    传送门 当我打开比赛界面的时候所有题目都已经被一血了-- BINXOR 直接把异或之后二进制最多和最少能有多少个\(1\)算出来,在这个范围内枚举,组合数算一下就行了.注意\(1\)的个数是\(2\) ...

  8. 一篇文章把你带入到JavaScript中的闭包与高级函数

    在JavaScript中,函数是一等公民.JavaScript是一门面向对象的编程语言,但是同时也有很多函数式编程的特性,如Lambda表达式,闭包,高阶函数等,函数式编程时一种编程范式. funct ...

  9. GoCN每日新闻(2019-11-09)

    GoCN每日新闻(2019-11-09) 1. Go语言发行10周年庆祝 https://blog.golang.org/10years2. 容器中某Go服务GC停顿经常超过100ms排查 https ...

  10. Linux搜索所有文件中的内容

    主要命令如下: grep -rn "{填写关键字}" * : 表示当前目录所有文件,也可以是某个文件名-r 是递归查找-n 是显示行号-R 查找所有文件包含子目录-i 忽略大小写- ...