内容:

1. LVM条带化简介

2. LV条带化前后数据存储结构探究

LVM的条带化:

描述:

为了性能考虑,考虑将数据跨越多个磁盘上存储,即把LV上连续的数据分成大小相同的块,然后依次存储在各个磁盘PV上,类似于RAID-0的数据存放形式,实现数据读写的并发;管理员依据自己的数据需求,定义数据分块大小,分布PV磁盘个数信息,从而实现读写的性能最佳化;

但是如RAID-0一样,这样带来的数据丢失的危险性也增大,因此的实际的生产活动中,实际数据后台是基于RAID-1或RAID-5的做过了数据冗余形式;所以条带化后即使有PV硬盘损坏,也能数据保证数据不丢失。当然仅仅的用几个磁盘组成VG,然后条带化建立LV,这样数据是危险的;所以选择基于RAID的条带化(镜像的条带化);

注:没有条带化的LVM存储数据时是按顺序进行的,在一个PV划分LV完毕后再从下一个PV中划分空间;

示意图:

简单的条带化:

基于RAID的条带化:

条带化实现:

[root@bogon ~]# pvcreate /dev/sd{b,c,d,e}1

Physical volume "/dev/sdb1" successfully created

Physical volume "/dev/sdc1" successfully created

# 创建VG:

[root@bogon ~]# vgcreate vg0 /dev/sd[bc]1

Volume group "vg0" successfully created

# 创建条带化的LV:

[root@bogon ~]# lvcreate -L 1G -n test2 -i 2 -I 64 vg0

Logical volume "test2" created

# -i 指定跨PV的个数

# -I 指定条带单元的大小

条带单元(stripe size):即条带单元的大小,对应于I/O中数据单元块的大小;数值必须为2的幂,单位KB;

探究条带化数据存储形式:

1.  非条带化时:

# 此时VG0由两个PV:sdb1、sdc1构成:

[root@bogon ~]# vgdisplay

--- Volume group ---

VG Name               vg0

System ID

Format                lvm2

Metadata Areas        2

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                2

Act PV                2

VG Size               3.73 GB

PE Size               4.00 MB#默认的PE为4M

Total PE              956#总PE个数为956个

Alloc PE / Size       0 / 0#分出的PE个数/大小

Free  PE / Size       956 / 3.73 GB   #空闲的PE个数/大小

VG UUID               vAAETX-iGO9-jNUl-qIle-kLFR-F0y8-nIRR3F

# 创建一个1G的LV:

[root@bogon ~]# lvcreate -L 1G -n test1 vg0

Logical volume "test1" created

# 查看该LV状态:

[root@bogon ~]# lvdisplay

--- Logical volume ---

LV Name                /dev/vg0/test1

VG Name                vg0

LV UUID                XIltjY-VKVh-eqUH-YkZx-kxRb-aisu-TNqrXQ

LV Write Access        read/write

LV Status              available

# open                 0#使用状态,表示是否正在挂载使用;

LV Size                1.00 GB#LV大小

Current LE             256#LE(Logical extentes)数量对应于PE

Segments               1

Allocation             inherit

Read ahead sectors     auto

- currently set to     256

Block device           253:1

[root@bogon ~]# vgdisplay

--- Volume group ---

VG Name               vg0

System ID

Format                lvm2

Metadata Areas        2

Metadata Sequence No  2

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                1

Open LV               0

Max PV                0

Cur PV                2

Act PV                2

VG Size               3.73 GB

PE Size               4.00 MB

Total PE              956

Alloc PE / Size       256 / 1.00 GB#此时PE已经分出了256个,大小是1G

Free  PE / Size       700 / 2.73 GB#空闲的PE及为划分的剩余空间

VG UUID               vAAETX-iGO9-jNUl-qIle-kLFR-F0y8-nIRR3F

[root@bogon ~]# pvdisplay

--- Physical volume ---

PV Name               /dev/sdb1

VG Name               vg0

PV Size               1.87 GB / not usable 1.96 MB

Allocatable           yes

PE Size (KByte)       4096

Total PE              478#PV中总PE块数

Free PE               222#PV中空闲的PE块数

Allocated PE          256     #已经分出的PE数量:256*4M=1G

PV UUID               NeBQU9-4TGz-Dp1y-nGq1-M25t-vdQ7-oYzsEj

--- Physical volume ---

PV Name               /dev/sdc1

VG Name               vg0

PV Size               1.87 GB / not usable 1.96 MB

Allocatable           yes

PE Size (KByte)       4096

Total PE              478#总PE数

Free PE               478     #对应上面的

Allocated PE          0       #对应上面的已分配空间

PV UUID               LRmTY8-J066-bOXu-dlee-7VTM-ELMg-n3NIbP

由上面可以从看出:不条带化时,划分LV是顺序划分的,所以数据肯定也顺序存储了;只有在一个PV磁盘存储完毕,才会使用下一个PV;

2.  条带化时:

# 先清除一下上面非条带化时数据;

[root@bogon ~]# lvremove /dev/vg0/test1

Do you really want to remove active logical volume test1? [y/n]: y

Logical volume "test1" successfully removed

# 建立条带化的LV:

[root@bogon ~]# lvcreate -L 1G -n test2 -i 2 -I 64 vg0

Logical volume "test2" created

# -i 指定跨PV的个数为2

# -I 指定条带单元的大小为64KB

[root@bogon ~]# lvdisplay

--- Logical volume ---

LV Name                /dev/vg0/test2

VG Name                vg0

LV UUID                Eceigt-gLe1-x1lW-3vyi-l6Rx-HM2r-i4F6vw

LV Write Access        read/write

LV Status              available

# open                 0

LV Size                1.00 GB

Current LE             256# 256*4M=1G

Segments               1

Allocation             inherit

Read ahead sectors     auto

- currently set to     512

Block device           253:1

[root@bogon ~]# vgdisplay

--- Volume group ---

VG Name               vg0

System ID

Format                lvm2

Metadata Areas        2

Metadata Sequence No  4

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                1

Open LV               0

Max PV                0

Cur PV                2

Act PV                2

VG Size               3.73 GB

PE Size               4.00 MB

Total PE              956

Alloc PE / Size       256 / 1.00 GB# 整个VG中已分配出去256个PE块

Free  PE / Size       700 / 2.73 GB

VG UUID               vAAETX-iGO9-jNUl-qIle-kLFR-F0y8-nIRR3F

[root@bogon ~]# pvdisplay

--- Physical volume ---

PV Name               /dev/sdb1

VG Name               vg0

PV Size               1.87 GB / not usable 1.96 MB

Allocatable           yes

PE Size (KByte)       4096

Total PE              478

Free PE               350

Allocated PE          128# 此时,在sdb1整个PV上划分出了128个PE块

PV UUID               NeBQU9-4TGz-Dp1y-nGq1-M25t-vdQ7-oYzsEj

--- Physical volume ---

PV Name               /dev/sdc1

VG Name               vg0

PV Size               1.87 GB / not usable 1.96 MB

Allocatable           yes

PE Size (KByte)       4096

Total PE              478

Free PE               350

Allocated PE          128# 此时,在sdb1整个PV上划分出了128个PE块

PV UUID               LRmTY8-J066-bOXu-dlee-7VTM-ELMg-n3NIbP

由上面数据:条带化时,LV会跨多个PV磁盘,数据存储在PV上循环存储;

拓展:

条带化后,LV扩展机制是怎么样的,是否因为存储形式的不同需要对PV增加个数有限制?!(待续,做实验,出来结果跟预期有差距...o(╯□╰)o)

Linux条带化参数,LVM条带化相关推荐

  1. 二、lvm条带化的概念

    一.lvm条带化的概念 一般以LVM管理的存储,一个vg中可能会有很多pv,同样的,一个lv可能跨越多块pv,为了使硬盘存储速度加快,就会用到条带化的技术,即把连续的数据分成大小相同的数据块,然后依次 ...

  2. linux 命令 修改密码,一条命令修改Linux密码

    方法一.直接使用passwd命令 /bin/echo newpass|/usr/bin/passwd --stdin username *注:该方式只适用于红帽系操作系统,比如centos,redha ...

  3. Linux安装Git(一条命令即可)

    Linux安装Git(一条命令即可) yum -y install git

  4. JS逆向:【硬干货】手把手实战某条_signature参数破解(下)——WebSocket与JS函数

    本文仅供学习交流使用,请勿用于商业用途或不正当行为 如果侵犯到贵公司的隐私或权益,请联系我立即删除 前两篇文章: js逆向:[硬干货]手把手实战某条_signature参数破解(上) js逆向:[硬干 ...

  5. 《Linux小项目-倒计时+进度条》

    本文主要讲解在linux系统下实现进度条以及倒计时小程序 文章目录 成果展示 1.`\r和\n` 理解字符含义: 测试字符 (1)`\r和\n`都存在 (2)`\r和\n`都不存在 (3) `只有\n ...

  6. Linux系统分区及LVM使用(一)

    一.MBR分区 使用fdisk等分区工具,使用MBR(Master Boot Record)管理单个磁盘,这就决定了其分区表最多支持4个分区,分区类型包括主分区和扩展分区,逻辑分区可以被再次分割成多个 ...

  7. linux mount命令参数及用法详解

    linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...

  8. Linux下逻辑卷LVM的管理和RAID磁盘阵列

    Linux系统安全 | Linux下逻辑卷LVM的管理和RAID磁盘阵列 原创 谢公子 [谢公子学安全](javascript:void(0);) 昨天 转载自公众号:谢公子学安全 图片 图片 LVM ...

  9. linux内核网络参数tcp_tw_recycle 和 tcp_tw_reuse 你搞清楚了吗?

    Docker 技术鼻祖系列 原文链接:https://blog.csdn.net/u010278923/article/details/102663535 今天在生产环境遇到了一个奇怪的网络现象,通过 ...

最新文章

  1. eclipse 安装svn插件
  2. php mysql 字段备注_MySQL下读取 表/字段 的说明备注信息
  3. Stream中toMap引发NullPointerException____Stream的执行流程
  4. 【Android源码】Activity如何加载布局
  5. 代理模式(动态代理模式)
  6. matlab微带带通滤波器,小型化宽阻带微带带通滤波器的设计方案
  7. (转帖出自ESRI BBS)有关于GIS思想
  8. 一键生成属于自己的QQ历史报告,看看你对自己的QQ了解程度有多深?
  9. 使用ps命令结束相应进程
  10. React 合成事件
  11. 伤感qq日志-爱冷了 情淡了、心累了,陌生了
  12. 万字长文,从原理角度科普人工智能技术点!!
  13. c语言中怎么用scanf给二维数组赋值,关于VC++6.0无法用scanf()输入浮点值赋给二维数组的问题...
  14. mysql 分离 实时读_MySQL深入利用Ameoba实现读写分离
  15. java生成word 带表格_【java】Freemarker 动态生成word(带图片表格)
  16. Xcode 12 GM发行说明,快来看看SwiftUI和Swift都更新哪些新技术吧
  17. WirelessCar选择亚马逊云科技为云服务商,打造全场景互联汽车解决方案
  18. 如何修改知乎绑定的手机号(2021)
  19. C语言程序设计#成绩查询系统
  20. android点击按钮静音,android 实现一键静音功能

热门文章

  1. error 系统错误 错误码10007_Linux 系统安装配置 Nginx
  2. 单片机adc0809模数转换实验c语言,单片机C语言程序设计:ADC0809 数模转换与显示...
  3. 解决office3件套软件,下载插件---应用商店无法打开的问题
  4. 上海汉得公司2018年秋招前端笔试题
  5. 数据同步算法(rsync和RDC)
  6. 小程序access_token未超时报失效:40001的原因
  7. 数据仓库系统开发设计
  8. Xposed框架开发入门(一)
  9. pdf.js使用方法,精简版
  10. latex (加粗方法)