Linux条带化参数,LVM条带化
内容:
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条带化相关推荐
- 二、lvm条带化的概念
一.lvm条带化的概念 一般以LVM管理的存储,一个vg中可能会有很多pv,同样的,一个lv可能跨越多块pv,为了使硬盘存储速度加快,就会用到条带化的技术,即把连续的数据分成大小相同的数据块,然后依次 ...
- linux 命令 修改密码,一条命令修改Linux密码
方法一.直接使用passwd命令 /bin/echo newpass|/usr/bin/passwd --stdin username *注:该方式只适用于红帽系操作系统,比如centos,redha ...
- Linux安装Git(一条命令即可)
Linux安装Git(一条命令即可) yum -y install git
- JS逆向:【硬干货】手把手实战某条_signature参数破解(下)——WebSocket与JS函数
本文仅供学习交流使用,请勿用于商业用途或不正当行为 如果侵犯到贵公司的隐私或权益,请联系我立即删除 前两篇文章: js逆向:[硬干货]手把手实战某条_signature参数破解(上) js逆向:[硬干 ...
- 《Linux小项目-倒计时+进度条》
本文主要讲解在linux系统下实现进度条以及倒计时小程序 文章目录 成果展示 1.`\r和\n` 理解字符含义: 测试字符 (1)`\r和\n`都存在 (2)`\r和\n`都不存在 (3) `只有\n ...
- Linux系统分区及LVM使用(一)
一.MBR分区 使用fdisk等分区工具,使用MBR(Master Boot Record)管理单个磁盘,这就决定了其分区表最多支持4个分区,分区类型包括主分区和扩展分区,逻辑分区可以被再次分割成多个 ...
- linux mount命令参数及用法详解
linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...
- Linux下逻辑卷LVM的管理和RAID磁盘阵列
Linux系统安全 | Linux下逻辑卷LVM的管理和RAID磁盘阵列 原创 谢公子 [谢公子学安全](javascript:void(0);) 昨天 转载自公众号:谢公子学安全 图片 图片 LVM ...
- linux内核网络参数tcp_tw_recycle 和 tcp_tw_reuse 你搞清楚了吗?
Docker 技术鼻祖系列 原文链接:https://blog.csdn.net/u010278923/article/details/102663535 今天在生产环境遇到了一个奇怪的网络现象,通过 ...
最新文章
- eclipse 安装svn插件
- php mysql 字段备注_MySQL下读取 表/字段 的说明备注信息
- Stream中toMap引发NullPointerException____Stream的执行流程
- 【Android源码】Activity如何加载布局
- 代理模式(动态代理模式)
- matlab微带带通滤波器,小型化宽阻带微带带通滤波器的设计方案
- (转帖出自ESRI BBS)有关于GIS思想
- 一键生成属于自己的QQ历史报告,看看你对自己的QQ了解程度有多深?
- 使用ps命令结束相应进程
- React 合成事件
- 伤感qq日志-爱冷了 情淡了、心累了,陌生了
- 万字长文,从原理角度科普人工智能技术点!!
- c语言中怎么用scanf给二维数组赋值,关于VC++6.0无法用scanf()输入浮点值赋给二维数组的问题...
- mysql 分离 实时读_MySQL深入利用Ameoba实现读写分离
- java生成word 带表格_【java】Freemarker 动态生成word(带图片表格)
- Xcode 12 GM发行说明,快来看看SwiftUI和Swift都更新哪些新技术吧
- WirelessCar选择亚马逊云科技为云服务商,打造全场景互联汽车解决方案
- 如何修改知乎绑定的手机号(2021)
- C语言程序设计#成绩查询系统
- android点击按钮静音,android 实现一键静音功能
热门文章
- error 系统错误 错误码10007_Linux 系统安装配置 Nginx
- 单片机adc0809模数转换实验c语言,单片机C语言程序设计:ADC0809 数模转换与显示...
- 解决office3件套软件,下载插件---应用商店无法打开的问题
- 上海汉得公司2018年秋招前端笔试题
- 数据同步算法(rsync和RDC)
- 小程序access_token未超时报失效:40001的原因
- 数据仓库系统开发设计
- Xposed框架开发入门(一)
- pdf.js使用方法,精简版
- latex (加粗方法)