磁盘
影响计算机性能的组件CUP, 主板总线IO, 内存IO, 硬盘IO, 网卡IO
现在CUP性能已经很高了, 但计算机整体IO性能较弱,严重影响了计算机性能
现代的计算机 总线、内存 的速度可达到5G/s以上, 但磁盘IO往往较低
硬盘
SATA
<150MB/s
SCSI
<200MB/s
SAS
200MB/s 左右
SSD
500MB/s 左右
注
平时我们自己用的硬盘都是SATA接口的机械硬盘
SATA 3 接口 本身速度很快, 可达到 6Gb/s
SCSI SAS 一般用于服务器, 通常转速很高 达到 一两万转/s
SAS 就是 串行SCSI
SSD 为固态硬盘
硬盘是绝大多数计算机的性能瓶颈
当然, 除了磁盘的吞吐量是一大影响因素外,
IOPS也起到很大作用
IOPS (Input/Output Operations Per Second)
即每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡量随机访问的性能。
存储端的IOPS性能和主机端的IO是不同的,IOPS是指存储每秒可接受多少次主机发出的访问,主机的一次IO需要多次访问存储才可以完成。
例如,主机写入一个最小的数据块,也要经过“发送写入请求、写入数据、收到写入确认”等三个步骤,也就是3个存储端访问。
什么是RAID
现代磁盘的缺陷: IO性能弱(慢的要死), 稳定性差(容易丢数据)RAID, Redundant Array of Independent Disks, 廉价 磁盘 冗余阵列
RAID技术通过 多磁盘 并行运行 来提供计算机的存储IO性能的
RAID级别
RAID有很多种类, 称之为RAID级别, 现代RAID有7类, 常用的有4类RAID 0 读写性能
RAID 1 读写性能,冗余性
RAID 5 读写性能,冗余性(1块硬盘)
RAID 6 读写性能,冗余性(2块硬盘)
注
冗余性, 可类比备份
多块磁盘 组成一个RAID, 在OS看来只有一块RAID盘
RAID 5, 允许并行中的多块硬盘 有一块出故障 而不丢失数据
RAID 0
最少使用 2块 磁盘将数据分别读写到多块硬盘 来提升读写性能
有几块硬盘, 就将数据分为几份来分开读写
特点
空间利用率
所有硬盘空间之和
性能
所有硬盘速度之和
冗余能力
无
优点
并行地 读和写
空间利用率最高, 性能最好
缺点
一旦RAID中的某块磁盘出现故障, 数据将全部丢失
RAID 1
最少使用 2块 磁盘读数据时, 同时从多块硬盘读取数据,提高读性能(与RAID的读速度一样)
写数据时, 将 同一数据 复制到 多块磁盘, 以提供冗余性
应用于 数据安全性及完整性要求 非常高的情景, 而且 读 远多余于 写
特点
空间利用率
组成 RAID 1 中最小空间的那块磁盘
性能
读性能为所有硬盘速度之和, 但写性能比写单块硬盘还要弱一点
冗余能力
只有有一块硬盘没有损坏 则 数据就是完整的.
优点
读 很快
冗余性最高
缺点
有几块硬盘就有几份相同的数据, 写数据很慢
RAID 5
最少使用 3块 磁盘读数据时, 同 RAID0, 分布式地往磁盘上写数据 ;
写数据时, 对数据进行奇偶校验, 将校验信息同时保存在磁盘上
校验信息
数据恢复时使用
应用
RAID0性能最高, RAID1冗余性最高, 但使用场景不多;
实际生产环境中一般使用RAID5 RAID6
特点
空间利用率
1 - 1/硬盘数
性能
读性能接近RAID0, 写性能比RAID0弱一点
冗余能力
1块磁盘损坏 而 不会丢失数据
RAID 6
最少使用 4块 磁盘基本跟 RAID5一样, 只是多一块硬盘保存校验信息的副本
读数据时, 同 RAID5, 分布式地往磁盘上写数据 ;
写数据时, 对数据进行奇偶校验, 将校验信息同时保存在磁盘上, 但会额外再保存一份校验信息
特点
空间利用率
1 - 2/硬盘数
性能
读性能接近RAID5, 写性能比RAID5弱一点
冗余能力
1块磁盘损坏 而 不会丢失数据
RAID实现
软件RAID通过 系统功能或软件 实现RAID, 没有独立硬件和接口
占用一定的系统资源(CPU, 内存, 硬盘接口速度), 受操作系统稳定性影响
注: 有些PC虽然提供多个硬盘接口, 但总体的速度仍是一个接口的速度
硬件RAID
通过 购买独立的RAID硬件卡 实现RAID, 有些主板集成了RAID硬件
硬件RAID不需要占用其他硬件资源, 稳定性及速度 都比软件RAID要强