CentOS7 LVM 逻辑卷2种读写策略(磁盘IO性能优化)—— 筑梦之路

news2025/1/12 1:50:29

LVM 逻辑卷的读写策略有两种:

  • linear:线性方式,一块块盘来读写,写完一块盘再写第二块盘、第 N 块盘,性能低
  • striped:条带方式,多块盘一起并行读写,性能高

查看 LVM 逻辑卷的读写策略的方式:lvdisplay -m "LV Path"

root@node-1:~# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/cache_vg00/cache_lv00
  LV Name                cache_lv00
  VG Name                cache_vg00
  LV UUID                SxIt27-kH9m-2lzb-yOGJ-vYVn-xwi2-qY30PK
  LV Write Access        read/write
  LV Creation host, time 10-1-2-159, 2021-06-04 15:05:32 +0800
  LV Status              available
  # open                 1
  LV Size                2.72 TiB
  Current LE             713820
  Segments               6
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

root@node-1:~# lvdisplay -m /dev/cache_vg00/cache_lv00 
  --- Logical volume ---
  LV Path                /dev/cache_vg00/cache_lv00
  LV Name                cache_lv00
  VG Name                cache_vg00
  LV UUID                SxIt27-kH9m-2lzb-yOGJ-vYVn-xwi2-qY30PK
  LV Write Access        read/write
  LV Creation host, time node-1, 2021-06-07 15:05:32 +0800
  LV Status              available
  # open                 1
  LV Size                2.72 TiB
  Current LE             713820
  Segments               6
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Segments ---
  Logical extents 0 to 118969:
    Type        linear
    Physical volume /dev/sdb1
    Physical extents    0 to 118969
省略其他信息……  

看到 --- Segments --- 的 Type linear,所以这里的 LVM 逻辑卷读写策略是 linear 线性方式

root@node-2:~# lvdisplay -m /dev/cache_vg00/cache_lv00 
  --- Logical volume ---
  LV Path                /dev/cache_vg00/cache_lv00
  LV Name                cache_lv00
  VG Name                cache_vg00
  LV UUID                7mlqJc-Cxa9-Trhj-O2wp-TeuG-SFYH-Eny0nm
  LV Write Access        read/write
  LV Creation host, time node-2, 2021-06-07 15:11:12 +0800
  LV Status              available
  # open                 1
  LV Size                1.95 TiB
  Current LE             512000
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     1280
  Block device           253:1
   
  --- Segments ---
  Logical extents 0 to 511999:
    Type        striped
    Stripes         5
    Stripe size     64.00 Kib
省略其他信息……   

看到 --- Segments --- 的 Type striped,所以这里的 LVM 逻辑卷读写策略是 striped 条带方式

什么是条带化

当多个进程同时访问一个磁盘时,可能会出现磁盘冲突。磁盘系统对访问次数(每秒的IO操作,IOPS)和数据传输速率(读写速率,TPS)有限制。

当达到这些限制时,后面需要访问磁盘的进程就需要挂起等待,这就是磁盘冲突。避免磁盘冲突是优化I/O性能的一个重要目标。条带化技术是一种自动的将I/0负载均衡到多个物理磁盘上的技术。条带化技术将一块连续的数据分成很多小部分,并把他们分别存储到不同的磁盘上去。这样就能使多个进程同时访问数据的多个不同部分而不会造成磁盘冲突,最大化I/0性能。

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

粗略来讲,条带化strip就是raid0。

 如何创建条带化的LV

以下为一个完整的示例

环境说明:

centos7 minal x86_64

系统盘100G  sda
数据盘 100G sd[b-e]

1. 创建pv

pvcreate -v /dev/sd[b-e]1

pvs

2. 创建vg

vgcreate -v vg01_data /dev/sd[b-e]1

vgs

vgdisplay -v vg01_data

3. 创建lv

# lvcreate -L 100G -i 4 -I 128k -n lv_data vg01_data -v
# lvcreate -L 100G -i 4 -I 128k -n lv_data vg01_data /dev/sd[b-e]1

lvdisplay -m /dev/vg01_data/lv_data

4. 验证

dmsetup deps /dev/vg01_data/lv_data

lsblk

5. 格式化并挂载

mkfs.xfs /dev/mapper/vg01_data-lv_data 

df -hP /data/

参考资料:

Striped Logical Volumes in Logical Volume Management (LVM)

如何将LVM非条带化修改为条带化

参考资料:linux – 将非条带LVM LV更改为条带化LV - 编程之家

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

元宇宙,会成为下一代互联网的主场吗?

导语 | 2022 年元宇宙风靡全网,作为过去一年科技界的“当红扛把子”,引多家科技巨头“竞折腰”。近日,《福布斯》双周刊网站在报道中指出,2030 年全球元宇宙的市场规模有望高达 5 万亿美元,2023 年可能是确定其发展方向…

机器学习0 — 总体架构,chatgpt时代必须掌握的

1 从chatgpt看目前AI重要性 随着chatgpt的一声巨响,拉响了强人工智能的序幕。chatgpt相对于目前的各种机器人,简直就是弓箭和导弹的区别。沉寂了两三年后,AI如今又一次站在了人类工业的最高舞台。个人认为AI已经成为所有人,特别是…

vitest第二章(入门)

Vitest 是一个由 Vite 提供支持的极速单元测试框架 tips vite>3 node>14 安装 1.使用npm init -y 生成 package json 2.安装依赖 挑选一种即可 npm install -D vitestyarn add -D vitestpnpm add -D vitest3.新建一个文件calc.ts 开始第一个单元测试吧,…

【数据结构和算法】使用数组的结构实现链表(单向或双向)

上文我们通过结构体的结构实现了队列、以及循环队列的实现,我们或许在其他老师的教学中,只学到了用结构体的形式来实现链表、队列、栈等数据结构,本文我想告诉你的是,我们可以使用数组的结构实现链表、单调栈、单调队列 目录 前言…

2022最火科技~AIGC

2022年最火的信息科技~AIGC 人工智能内容生成 趣讲大白话:输入几个词,立刻生成机器创造的内容 ************** 从人工智能决策 走向 人工智能生成 人工智能决策:自动驾驶、抖音推荐算法 人工智能生成内容:即AI Generated Conten…

【算法练习】两个链表的第一个公共节点

描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)数据范围: 0n≤1…

下一代编解码技术Ali266在视频超高清领域的应用展望

超高清与各领域的需求融合和创新正在发生。 2022年是一个体育大年,众多世界级体育赛事通过视频直播、转播等形式给观众带来畅爽的观看体验。 2022年北京冬奥会,实现了奥运会历史上首次赛事全程4K制作播出,并在开幕式上提供了8K超高清公共信号…

安全多方计算之五:零知识证明(从入门到入土。。)

零知识证明1. 简介2. 零知识证明的例子2.1 向红绿色盲证明红球、绿球2.2 数独的零知识证明2.3 三染色问题的零知识证明2.4 Quisquater-Guillou 零知识协议3. ElGamal加密的零知识证明3.1 ElGamal加密的已知明文证明3.2 ElGamal加密的二选一零知识证明3.3 ElGamal加密的1-out-of…

MATLAB - 查找数据峰值

语法如下: pks findpeaks(data) [pks,locs] findpeaks(data) [pks,locs,w,p] findpeaks(data) [___] findpeaks(data,x) [___] findpeaks(data,Fs) [___] findpeaks(___,Name,Value) findpeaks(___)where,pks是峰值返回值,locs是数据索…

特斯拉 FSD 背后的技术(1)—从 BEV 到占用网络

在今年 tesla 的 AI Day 给我这个业余自动驾驶爱好者给留下了深刻印象,在看过之后,通过收集资料对其中阐述的技术进行简单的了解,在这里拿出来跟大家分享一下,有点长,所以划分了一下 3 个部分。从 BEV 到占用网络激进无…

chrome查看网页性能

1 Performance 1.1 打开开发者工具(cmdshiftc) 1.2 打开Performance面板,点击录制按钮(开始录制) 1.3 刷新页面,再次点击录制按钮(结束录制) 录制按钮高亮,表示录制中…

算法训练营DAY47|198.打家劫舍、213.打家劫舍II 、337.打家劫舍III

这一期到了打家劫舍的专题,说是专题但实际上只有一期,而且只有三道题,我们把这三道题放在一起讲,第一道题简单一些,后两道略有不同方向上的难度。但总体来看第一次做可能有一点难想到思路,其实代码实现还是…

百度、字节终于不再相互“抄袭”

文|智能相对论作者|佘凯文“百度和字节跳动,分道扬镳”乍一看挺标题党的,这两个互联网巨头从没在一起过,又何来“分道扬镳”之说?不急,且往下看。众所周知,当前国内互联网行业,早已不是当初啥也…

【链表->环形链表】

诸如环形链表的结构有:尾节点链接向各个节点的链表,也可链向自己,称为环形链表。只要链表中带有环,均可称为环形链表。下面通过一些例题来详细讲述环形链表:1.给你一个链表的头节点 head ,判断链表中是否有…

python进阶——人工智能实时目标跟踪

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页:lqj_本人的博客_CSDN博客-微信小程序,前端,vue领域博主lqj_本人擅长微信小程序,前端,vue,等方面的知识https://blog.csdn.net/lbcyllqj?spm1000.2115.3001.5343 哔哩哔哩欢迎关注&…

Apollo planning之参考线平滑算法

Apollo studio 官网:Apollo开发者社区 (baidu.com) 目录 1 参考线的作用 2 参考线的数据结构 2.1 ReferenceLine的数据结构 2.2 ReferencePoint的数据结构 3 参考线处理流程 ​4 参考线平滑算法 4.1 算法分类 4.2 参考线平滑算法流程 4.2.1 AnchorPoint …

Learning C++ No.1

引言: 北京时间 2023/2/1/20:38,三天没写博客,打字量严重下滑,这两天是看剧时间,我发现看电视剧有时候还是非常的让人无法自拔的,一天追完一部30集的电视剧,我还是很佩服我自己的,现…

我愿称之为天花板的【Python自动化测试开发文档】—自动化测试开发平台实战

我愿称之为天花板的【Python自动化测试开发文档】—自动化测试开发平台实战 目录:导读 本文以下内容均适合这类人群 包含的模块: 第一章:Python 零基础入门 第二章: Web 应用框架 第三章:自动化平台开发 第四章…

React的学习笔记-(Bilibili天禹老师)

React的特点 采用组件化模式,声明式编码,提高开发效率和组件复用率在React Native中可以使用React语法进行移动端开发(IOS和Android)使用虚拟DOM优秀的Diffing算法,尽量减少与真实DOM的交互 babel用处 es6 > es5jsx > js 1.你好,react 注意引入顺序 <!DOCTYPE h…

图扑软件 | 虚拟电厂负荷控制系统可视化

前言 随着国家“双碳”及“构建以新能源为主体的新型电力系统”等目标的提出&#xff0c;清洁化、数字化越来越成为电力系统面临的迫切需求&#xff0c;负控系统的发展对电力营销现代化建设具有重要的意义。 负控管理系统是一个着眼于全面加强电力信息管理的&#xff0c;集负…