IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> I/O性能与可靠性 -> 正文阅读

[系统运维]I/O性能与可靠性

I/O调优

磁盘I/O优化
  • 性能检测:
    • 压力测试应用程序,观察系统I/O wait指标是否正常,例如有n个CPU,利息情况下I/O wait参数不超过25%,如果超过,就是这个程序的瓶颈就是在IO操作上了可以用iostat命令查看
    • 另外一个指标:IOPS(input/output Per Second)即每秒的输入输出量,是衡量磁盘性能主要指标
    • 每个磁盘的IOPS通常在一个范围内,这和存储的磁盘数据块大小和磁盘范围方式有关系,主要由磁盘的转速决定的,转速越高,IOPS越高。
  • 性能提升:现阶段一般采用RAID技术,将不同磁盘组合来提高I/O性能
RAID
  • 名词解释:RAID(独立磁盘冗余阵列)技术是将多块普通磁盘组成一个大的磁盘阵列,共同对外提供服务。
  • 目的:主要为改善磁盘存储容量,读写速度(IOPS)增强磁盘可用性和容错能力。
    • 解决数据存储容量问题
    • 数据读写速度问题
    • 数据可靠性问题
RAID 0
  • RAID 0 模式写:假设服务器有N快磁盘,当前模式是数据从内存缓冲区写入磁盘时,根据磁盘数量将数据等分成N份,这些数据同时并发写入N块磁盘,使数据写入速度是一块磁盘的N倍。
  • RAID 0 模式读:读取的时候也一样,可以多块磁盘并发的读,因此RAID 0 有很快的数据读取能力。
  • RAID 0 缺点:数据没有做备份,N块磁盘存储一块内存缓冲区的数据,一块磁盘损坏,所有数据都无法使用

请添加图片描述

RAID 1
  • RAID 1 写:将一份数据同时写入两份磁盘,这样任何一块磁盘损坏都不会导致数据丢失,插入一块磁盘可以通过复制数据的方式修复,具有极高的可靠性
RAID 1 0
  • 结合RAID 0 和RAID 1 ,将所有磁盘N平均分2份,数据同时写入2份磁盘,,相当于RAID1;然后在平均分成2份,在每一份磁盘(也就是其中的N/2快磁盘)里面,利用RAID 0 技术并发读写
  • 优点:既可以提供高性能的读写能力,也同时具备高可靠性
  • 缺点:磁盘利用率直接降低到50%,一半用来做数据备份了

请添加图片描述

RAID 3
  • RAID 3 的思路是提高磁盘利用率,将数据分成N-1份,并发写入N-1个磁盘中,并且在第N块磁盘记录校验数据,这样任何一块磁盘损坏(包括校验数据磁盘),都可以利用其它N - 1 块磁盘的数据进行修复
  • 缺点:物理你修改那一块磁盘的数据,第N快校验的数据都需要修改,那边第N快磁盘的读写评率是其他N-1块之和,那么这块磁盘更容易损坏,因此实际很少用这种情况请添加图片描述
RAID 5
  • 与RAID 3 类似,但是校验数据不写入第N快磁盘,而是通过一定的方式将校验数据写入到所有磁盘中,这样校验数据的修改也被平均到所有磁盘,避免RAID 3 这种一块磁盘损坏的情况。

请添加图片描述

RAID 6
  • 当数据可靠性要求很高,再出现同时损坏2块磁盘的时候(概率很低)任然会出现无法通过校验信息修复的情况,只能通过运维数据恢复,这样我们可以使用RAID 6
  • RAID 6 与RAID 5类似,但是数据值写入了N - 2块磁盘,并且螺旋式地在两块磁盘中写入校验信息(分别用不同算法),这样校验信息也有备份了,有更高的可靠性
  • 请添加图片描述
校验数据设计
  • 一下冗余磁盘阵列RAID,使用奇偶校验的方式实现冗余,如果一个阵列中一块磁盘出现故障,工作磁盘中的数据块与奇偶校验块一起来重建丢失的数据,如下案例,A1,A2, A3是数据块 Ap表示校验数据块(An与Ap可能在同一个磁盘)
    • 例 A1 = 0000 0111 ,A2 = 0000 0101 , A3 = 0000 0000,
    • A1 , A2, A3 做异或操作,得到Ap = 0000 0010
    • 此时 A2 出现问题,我们可以通过A1, A3 与Ap 的异或进行重建: A1 XOR A3 XOR Ap = 0000 0101
RAID总结
RAID类型访问速度数据可靠性磁盘利用率
ARID0很快很低100%
ARID1很慢很高50%
ARID10中的很高50%
ARID5较快很高(N-1)/N
ARID6较快很高(N-2)/N
  • 解决问题:

  • 数据存储容量问题:RAID用多块磁盘组成存储阵列,例如RAID 5 可以扩大N-1倍

  • 数据读写速度:将数据并发写入 N份磁盘,写入速度明显提升,同时读取也是一样,但是并不能提升N倍,因为机械硬盘延迟主要是用来寻址的时间,数据真正读写时间只占一小部分。

  • 数据可靠性使用RAID 10,RAID 5, RAID 6,由于数据冗余存储,或者存储校验信息,某一块磁盘损坏,可以通过其他磁盘数据,或者校验数据,将丢失数据还原。

  • RAID可以看成是垂直伸缩,一台计算机集成更多磁盘,实现数据更大规模,更安全可靠存储以及更快的范问速度。

  • 将RAID思想原理应用到分布式服务器上,吧每一台服务器看成是磁盘中的一个,那么就形成了分布式存储,Hadoop分布式文件系统和HDFS的架构思想。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:16:52  更:2022-08-06 11:17:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:44:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码