linux_raid
来源:互联网 发布:淘宝五心要多少信誉 编辑:程序博客网 时间:2024/05/24 15:39
RAID:Redundant Arrays of Inexpensive Disks (独立冗余磁盘阵列)
提高IO能力:
磁盘并行读写
提高耐用性:
磁盘冗余来实现
级别:多块磁盘组织在一起的工作方式不同
RAID实现的方式:
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
Software RAID
级别:level
RAID:0: 条带卷 strip
应用:缓存系统
把数据分块,然后分别存储到磁盘上去
读写性能提升
可用空间:N*min(s1,s2...)
无容错能力
最少磁盘数:2,2+
RAID:1 镜像卷 mirror
备份多次
读性能提升,写性能略有下降
可用空间:1*min(s1,s2...)
有冗余能力
最少磁盘:2,2+
RAID:5
有一个磁盘专门存储校验码(循环作校验盘,一块硬盘有数据,有校验数据)
如果有一块硬盘坏了,用其他盘校验出来。不允许两块盘同时坏掉
降级工作模式:坏掉一块硬盘后,继续工作。(读写功能都不受影响,风险大)
读写性能提升,
可用空间(N-1)*min(s1,s2...)
有容错能力:1块磁盘
最少磁盘数:3,3+
RAID6
读写性能提升
可用空间(N-2)*min(s1,s2..)
有容错能力:2块磁盘
最少磁盘数:4,4+
RAID 10:先两两一组成1再组成0 (更适用) 不能两个镜像磁盘同时坏
读写性能有提升
可用空间:N*min(s1,s2...)/2
容错能力:每组镜像最多坏一块
RAID 01:先0后1不好用
JBOD:Just a Bunch of Disks
功能:将多块磁盘的空间合并成一个大的连续空间使用
可用空间:sum(s1,s2...)
常用级别:RAID 0 , RAID 1 , RAID 5 , RAID 10 , RAID 50
实现方式:
硬件实现方式
软件实现方式
Centos 6 上软件RAID的实现
结合内核中的md(multi devices)
mdadm: 模式化的工具
命令的语法格式:mdadm [mode] [raiddevice] [opitons] <component-devices>
支持RAID级别:LINEAR RAID 0,1,4,5,6,10;
模式:
创建: -C,
装配: -A,
监控: -F,
管理
<raiddevice>: /dev/md#
<compontent-devices>: 任意块设备
-C: 创建模式
-n #: 使用#个块设备来创建此RAID
-l #: 指明要创建的RAID级别
-a {yes|no}: 是否自动创建目标RAID设备的设备文件
-c CHUNK_SIZE: 指明块大小
-x #: 指明空闲盘的个数(磁盘坏时,替换上去,需要有荣冗余能力)
-D: 显示raid的详细信息
mdadm -D /dev/md#
管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
观察md的状态:
cat /proc/mdstat
注:/dev 这个目录中包含了所有Linux系统中使用的外部设备,但这里并不是放外部设备的驱动程序。它实际上是一个访问这些外部设备的端口
/dev/md#: 软raid设备