磁盘简介
(1) 磁盘(Disk):由表面涂有磁性物质的金属或塑料构成的圆形盘片,通过一个称为磁头的导体线圈从磁盘中存储数据。
(2) 磁盘分为:软盘(这里不讨论) 和 硬盘
磁盘存储器
(1)存储区域:
① 磁头数(Heads):即记录面数,表示硬盘总共有多少个刺头,磁头用于读取/写入盘片上记录面的信息,一个记录面对应一个磁头。
② 柱面数(Cylinders):表示硬盘每一面有多少条磁道。在一个盘组中,不同记录面的相同编号(位置)的诸磁道构成一个圆柱面。
③ 扇区数(Sectors): 表示每个磁道上有多少个扇区。
(2)磁盘性能指标
① 磁盘容量:一个磁盘所能存储的字节总数称为磁盘容量,磁盘容量有 : 非格式化容量 和 格式化容量。
② 记录密度:指盘片单位面积上记录的二进制的信息量,通常以道密度、位密度和面密度表示。
③ 平均存取时间:寻道时间(磁头移动到目的磁道),旋转延迟时间(磁头定位到所在扇区)和 传输时间(传输数据所花费的时间)
1)寻道时间Ts :
Ts = m * n + s
n : 跨越n条磁道的时间; s: 启动磁臂的时间,约为2ms ; m:与磁盘驱动器速度有关的常数,约为0.2ms。
2)延迟时间Tr :
Tr = 1 / (2 * r)
r : 磁盘的旋转速度
3)传输时间Tt :
Tt = b / (r * N)
r : 磁盘的旋转速度; N:为一个磁道上的字节数;b:每次所读/写的字节数b
4)总平均存取时间 :
Ta = Ts + Tr + Tt
(3)磁盘地址
驱动器号 | 柱面(磁道)号 | 盘面号 | 扇区号 |
---|
若系统中有4个驱动器,每个驱动器带一个磁盘,每个磁盘256个磁道,16个盘面,每个盘面划分为16个扇区,则每个扇区地址要18位二进制代码,其格式如下:
驱动器号(2bit) | 柱面(磁道)号(8bit) | 盘面号(4bit) | 扇区号(4bit) |
---|
磁盘阵列(RAID)
RAID 通过同时使用多个磁盘,提高了传输率。
RAID(廉价磁盘冗余阵列 Redundant Array of Independent Disk)
主要是为了改善磁盘的访问延迟,增强磁盘的可用性和容错能力。
名称 | 说明 |
---|---|
RAID0 | 无冗余和无校验的磁盘阵列。(把连续多个数据块交替地存放在不同物理磁盘的扇区中)。 没有容错能力 |
RAID1 | 镜像磁盘阵列。 (使用两个磁盘同时进行读写,互为备份),意味着容量减少一半 |
RAID2 | 采用纠错的海明码的磁盘阵列 |
RAID3 | 位交叉奇偶校验的磁盘阵列 |
RAID4 | 块交叉奇偶校验的磁盘阵列 |
RAID5 | 无独立校验的奇偶校验磁盘阵列 |
[ 假设:服务器有N块磁盘 ]
RAID0
数据在从内存缓冲区写入磁盘时,根据磁盘数量将数据分成N份,这些数据同时并行写入N块磁盘,使得数据整体写入速度是一块磁盘的N倍。(好比流水线,提高了I/O性能)RAID1
数据在写入磁盘时,将一份数据同时写入两块磁盘,这样任何一块磁盘损坏都不会到时数据丢失。RAID10
结合 RAID0 和 RAID1 两种方案,将所有磁盘平均分成两份,数据同时在两份磁盘写入RAID5
在一块磁盘损坏情况下,利用其他磁盘的数据恢复损坏磁盘的数据,并发写入N-1块磁盘,并在第N块磁盘记录校验数据。(RAID5,则是螺旋式地写入所有磁盘中,这样校验数据的修改也被平均到所有磁盘上,避免RAID3频繁写坏一块磁盘的情况)RAID1
数据在写入磁盘时,将一份数据同时写入两块磁盘,这样任何一块磁盘损坏都不会到时数据丢失。
拓展
http://blog.51cto.com/dingyichao/698762
《大型网站技术架构 核心原理与案例分析》