RAID
硬盘的接口种类:
IDE:电子集成驱动器,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器
SCSI:小型计算机系统接口,是一种与IDE完全不同的接口,它不是专门为硬盘设计的,而是一种总线型的系统接口
SAS:和SATA相同,都是采用串行技术以获得更高的传输速度,并通过缩短连接线改善内部空间
FC:FC最初是专门为网络系统设计的,随着存储系统对速度的需求,逐渐应用到硬盘系统中
SATA:串行ATA,是一种完全不同于并行ATA的新型硬盘接口类型,由于采用串行方式传输数据而得名
现在用得最多的应该是SATA,SCSI,SAS
SATA的硬盘一个接口只能接一个硬盘,而SCSI和SAS的接口能够通过扩展接多个盘,支持8或16个SCSI设备,窄SCSI总线最多允许8个、宽SCSI总线最多允许16个不同的SCSI设备和它进行连接,有一个被适配器或控制器占用,通过每个硬盘上的LUN(逻辑单元)来识别每一个连接在上面的硬盘,为了明确知道数据是存储或取出哪一个硬盘的数据,适配器或者控制器会将来自计算机的数据加上特定的协议组成报文。
RAID技术:RAID是将多个独立的物理硬盘按照不同的方式组合起来,形成一个虚拟的硬盘,叫做廉价磁盘冗余阵列
RAID级别:这里说的级别仅代表磁盘组织方式不同,没有上下之分
RAID0:利用了条带的技术,将数据分割成N份存储
RAID1:利用了镜像技术,用来备份数据,保证数据的可用性
RAID5:利用校验码,性能与数据的备份的均衡考虑
RAID 1+0:将RAID0和RAID1技术结合,先做镜像后做条带
RAID 0+1:将RAID0和RAID1技术结合,先做条带后做镜像
RAID 1+0和RAID 0+1性能上没有什么区别,但是在修复上,RAID 1+0会比RAID 0+1修复的速度更快
jbod:将多个小盘组合成一个大盘来用
0: 条带
性能提升: 读,写
冗余能力(容错能力): 无
空间利用率:nS
至少2块盘
1: 镜像
性能表现:写性能下降,读性能提升
冗余能力:有
空间利用率:1/2
至少2块盘
5:
性能表现:读,写提升
冗余能力:有
空间利用率:(n-1)/n
至少需要3块
10:
性能表现:读、写提升
冗余能力:有
空间利用率:1/2
至少需要4块
01:
性能表现:读、写提升
冗余能力:有
空间利用率:1/2
至少需要4块
jbod:
性能表现:无提升
冗余能力:无
空间利用率:100%
至少需要2块
RAID分为硬件RAID和软件RAID
硬件RAID:企业用的基本上都是硬件RAID
软件RAID:内核中有个软件叫做多设备(md),就是因为这个软件,操作系统才支持软件RAID
要访问每一个硬件设备,要硬件设备文件,而要访问磁盘也需要磁盘文件,所以md要模拟一个假的RAID(逻辑RAID)命名/dev/md#(#数字表示RAID设备号),而且要将这些硬盘设备要标记为内核可以识别的类型fd,要不当操作系统坏了之后重装操作系统就不能使用这些数据了。
当我们要存数据的时候,操作系统就不会提醒那些磁盘设备了,而是提醒各/dev/md#这些设备了,在内核中有md负责完成RAID的技术
软件RAID的一些命令:
mdadm: 将任何块设备做成RAID
模式化的命令:
创建模式
-C
专用选项:
-l: 级别
-n #: 设备个数
-a {yes|no}: 是否自动为其创建设备文件
-c: CHUNK大小, 2^n,默认为64K
-x #: 指定空闲盘个数
管理模式
--add, --remove, --fail
mdadm /dev/md# --fail /dev/sda7
监控模式
-F
增长模式
-G
装配模式
-A
查看RAID阵列的详细信息
mdadm -D|--detail /dev/md#
停止阵列:
mdadm -S|--stop /dev/md#
watch: 周期性地执行指定命令,并以全屏方式显示结果
-n #:指定周期长度,单位为秒,默认为2
格式: watch -n # 'COMMAND'
将当前RAID信息保存至配置文件,以便以后进行装配:
mdamd -D --scan > /etc/mdadm.conf