Linux 磁盘治理之磁盘实践篇
磁盘简介
- 作用:用来存放数据(二进制形式来治理数据)
-
分类
- 机械硬盘
- 固态硬盘
-
机械硬盘组成
- 盘片:下面布满磁性颗粒,保留写入数据
- 主轴:带动盘片转动,转到磁头的下方
- 读 / 写磁头:负责数据的读写
- 磁头臂:带动磁头,将磁头挪动到指定地位
- 控制电路:管制硬盘的速度,磁头臂的挪动等等
-
机械磁盘的属性
- 磁道:盘片围绕在主轴四周的同心环,编号由外至内从 0 累加
- 扇区:磁道上被分成的更小的单位,也是磁盘中保留数据最小的存储单元,个别大小为 512k,也有更大的扇区 4K
- 柱面:在同一个磁盘中,所有盘片雷同地位编号的磁道造成的一个圆柱
-
机械磁盘工作形式
- 主轴带动盘片做圆周运动,磁头臂带动磁头直径静止
机械硬盘
罕用总线协定 / 磁盘类型
SCSI 协定
- SCSI(Small Computer System Interface,小型计算机系统接口)最后是一种为了小型机研制的接口技术,用于主机与外部设备之间的连贯(最多能够连贯 16 个设施)
- SCSI 协定是主机与存储磁盘通信的根本协定
- DAS 应用 SCSI 协定实现主机服务器与存储设备的互连
并行 SCSI 的演变
- (1981 年)最后由 Shugart Associates、NCR 开发,名字为 SASI
- ANSI 抵赖其为工业规范
-
SCSI 的版本
-
SCSI-1
- 定义了线缆长度,信号特色,命令和传输模式
- 应用 8 位窄总线,最大传输率为 5MB/s
-
SCSI-2
- 定义了通用命令集(Common Command Set,简称 CCS)
- 进步了性能,可靠性,新增了一些个性
-
SCSI-3
- SCSI 最新版本
- 由多个相干的规范组成,不再是一个大文件
-
SCSI-3 架构
-
SCSI 命令协定(应用层)
- 各类型设施通用的次要命令
-
传输层协定
- 设施间互连和信息共享的规范规定,scsi-3、fc 等等
-
物理层互连
- 接口细节:比方电信号传输办法和数据传输模式
SCSI 协定模型
- 主机到存储磁盘间的通信由启动器发动,由指标器接管和解决
SCSI 协定寻址
- 总线号:辨别不同的 SCSI 总线
- 设施 ID:辨别 SCSI 总线上不同的设施
- 逻辑单元号:辨别 SCSI 设施中的子设施
ATA 和 SATA
-
高级技术附件(Advanced Technology Attachment)是上世纪 90 年代桌面机规范
- 采纳可编程 IO 技术,速度和智能性不高
-
SATA(Serial Advanced Technology Attachment)是 ATA 技术的降级版本,曾是桌面电脑 ATA 接口硬盘的次要代替技术
- 因 容量大,价格便宜,在企业级服务器和存储系统中曾宽泛的被应用
- 当初多被更加智能的 NL-SAS 接口的硬盘代替
Serial Attached SCSI(串行 SCSI 协定)
- 在企业级存储系统中,SAS(Serial Attached SCSI)接口曾经取代并行连贯 SCSI 和 SATA 接口
-
特点
- 采纳点对点连贯形式
- 高带宽(300M/s,600M/s)
- 效率高
- 反对热插拔
I/O(Input/Ouput)操作
-
单个 IO
- 操作系统内核收回一个读 IO 命令,当管制磁盘的控制器接到这个指令后,控制器会给磁盘发送一个读数据的指令,并同时将要读取数据块的地址传送给磁盘,而后硬盘读取数据传送给控制器,并由控制器返回给操作系统,实现一个 IO 操作
-
读写 IO
- 写磁盘为写 IO,读数据为读 IO
- 随机拜访(Random Access) 与间断拜访(Sequential Access):由当此 IO 给出的扇区地址与上次 IO 完结的扇区地址相差得是否较大决定
- 程序 IO 模式(Queue Mode)/ 并发 IO 模式(Burst Mode): 由磁盘组一次能执行的 IO 命令个数决定
-
残缺的 IO 操作
- 当控制器对硬盘收回一个 IO 操作指令的时候,磁盘的磁头臂带动读写磁头来到着陆区,而后挪动到要操作初始数据块所在的磁道正上方,此过程为 寻道 ,耗费的工夫为 寻道工夫
- 磁头等到盘片旋转到初始数据块所在扇区的正上方,此时能力进行数据的读取,这个过程称之为 旋转工夫
- 而后读取相应数据,直到实现这次 IO 所操作的全副数据,这个过程所破费的工夫称之为 数据传送工夫
寻道工夫
- 全程寻道工夫:磁头横跨整个磁盘的宽度所用的工夫(着陆区 –> 最外层 0 磁道)
- 均匀寻道工夫:个别为全程寻道工夫的 1 /3
- 道间寻道工夫:磁头在相邻磁道之间所用的工夫
旋转时延
- 决定于主轴的转动速度
- 均匀旋转动提早:齐全旋转用时的一半
5400 rpm 的磁盘均匀旋转时延:5.5ms
15000 rpm 的磁盘的均匀旋转时延:2.0ms
数据传输时延
- 数据传输时延决定于数据传输速度,即单位工夫内传输的数据量
- 外部传输速度:数据从盘片扇区上传送到硬盘上的外部缓存的速度
- 内部传输速度:接口的标称速度
IOPS
-
IOPS 是IO 零碎每秒所执行 IO 操作的次数,是一个重要的用来掂量零碎 IO 能力的参数,对于单个磁盘,计算其实现一次 IO 所须要的工夫来推算其 IOPS
- IOTime = 寻道工夫 + 60s/ 转速 /2 + IOChunkSize/ 传输速度
- IOPS = 1/IOTime = 1 / (寻道工夫 + 60s/ 转速 /2 + IOChunkSize/ 传输速度)
单个 IO 大小 | 寻道工夫(ms) | 旋转提早(ms) | c 传输时延(ms) | IO 服务工夫(ms) | IOPS |
---|---|---|---|---|---|
4K | 5 | 2 | 4K/40MB = 0.1 | 7.1 | 140 |
8K | 5 | 2 | 8K/40MB = 0.2 | 7.2 | 139 |
16K | 5 | 2 | 16K/40MB = 0.4 | 7.4 | 135 |
32K | 5 | 2 | 32K/40MB = 0.8 | 7.8 | 128 |
- 当单次 IO 越小的时候,单次 IO 所消耗的工夫也越少,相应的 IOPS 也就越大
带宽(Throughput)
-
带宽是指磁盘在理论应用的时候从磁盘系统总线上流过的数据量,也称为磁盘的理论传输速率
- 带宽 = IOPS * IO 大小
利用率和响应工夫
固态硬盘
- 价格逐步降落,容量越来越大,固态硬盘(SSD)变得越来越风行
-
SSD 原理
- 应用 flash 技术存储信息
-
外部没有机械构造
- 耗电量更小
- 散热小
- 乐音小
- 基于 SSD 的应用频率,其使用寿命无限
-
SSD 的 3 中次要的类型
- SLC(Single Level Cell):单层式存储单元
- MLC(Multi Level Cell):多层式存储单元
- TLC(Triple Levle Cell):三层式存储单元
SLC-MLC-TLC
- 在 SLC 中,每个存储单元 (cell) 只存 1bit 数据:0 或 1
- 在 MLC 中,每个存储单元 (cell) 可存 2bit 数据:00, 01, 10, 11
- 在 TLC 中,每个存储单元 (cell) 可存 3bit 数据:000, 001, 010, 011, 100, 101, 110, 111
固态硬盘的磨损
- 对 SSD 盘的可靠性影响最大的其抗磨损能力,即其 cell 能被擦写的次数
- 企业级的 SCL、MLC 和 TLC 在抗磨损方面的区别显著
类型 | 容量 | 可擦写次数 | 单位容量价格
SLC | 小 | 约 100,000 | 高
eMLC(企业级别) | 中等 | 约 30,000 | 中等
cMLC(消费者) | 中等 | 5000~10,000 | 低
TLC | 大 | 500~1,000 | 很低
固态硬盘构造
- 无高速旋转部件,性能高、功耗低
- 多通道并发,通道内 Flash 颗粒复用时许
- 反对 TCQ/NCQ,一次响应多个 IO 申请
- 典型响应工夫低于 0.1ms
SDD 性能劣势
-
响应工夫短
- 机械硬盘的机械个性导致大部分工夫节约在寻道和机械提早上,数据传输效率收到重大制约
-
读写效率高
- 机械硬盘在进行随机读写曹祖时,磁头不停的挪动,导致读写效率低下
- 而 SSD 通过外部控制器计算出数据的寄存地位,间接进行存取操作,故效率高
SSD 功耗劣势