您的位置:首页 > 运维架构 > Linux

linux raid技术

2015-10-14 21:47 507 查看
一、概念

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。是为了提高文件在磁盘上的读写速度而研究出来的。

将存入磁盘的数据分成一个一个的条带,然后并行地存储到磁盘阵列中,或者从磁盘阵列中以条带的形式并行地取数据。如下图:



二、raid的级别:

0:条带技术( 单纯地将数据进行条带化处理,然后存储到磁盘中)
数据读写性能提升
不提供冗余性能(没有数据备份)
盘符数:>=2
1:镜像(备份)
性能表现,写性能下降,读性能提升(可以交替读)
冗余能力:有
空间利用率:50%
镜像技术 mirror
盘符数:>=2

2,

3,

4

5:加入校验机制,几个磁盘轮流作为校验盘

性能表现:读写提升
冗余能力:有
空间利用率:(n-1)/n
盘符数:>=3

1 0:先备份再条带

性能表现:读、写提升
冗余能力:有
盘符数:>=4
空间利用率 1/2
0 1:先条带再备份(常用,因为1 0方式可能导致在每一个备份里条带的存储位置不同)
性能表现:读写提升
冗余能力:有
空间利用率:50%
盘符数:>=4
5 1:
性能表现:读、写提升
冗余能力:有
空间利用率:(n-2)/n
盘符数:>=6

三 、raid的类型

硬件raid:

外接一个磁盘阵列

或者内部有raid控制芯片

软件raid

md(multi disks)将指定的磁盘设备组合起来形成raid

raid 设备被创建在 /dev/md#下

如果有一天内核坏了,为了raid后的磁盘可以被使用,要把磁盘的类型标识为内核可识别的 Linux raid auto类型。

命令为mdadm:将任何设备作成raid

模式化的命令:

创建模式

管理模式

监控模式

增长模式

装配模式

-A

创建模式

-C
专用选项
-c chunk(条带)大小,默认为 64k,
-l 级别
-a {yes|no}自动为其创建设备文件
-n:设备个数,几个盘来做raid
-x:指定空闲盘个数,然后作为raid盘坏了以后,直接顶上去的盘

管理模式
--add --del
监控模式
-F
增长模式
-G
装配模式
-A

-D --detail /dev/md# 查看raid信息
停用阵列:madm --stop /dev/md#

启用阵列: mdadm -A /dev/md1 /dev/sda6 /dev/sda7
将当前raid信息保存至配置文件,以便以后装配,
mdadm -D --scan >/etc/mdadm.conf

软raid新建过程

新建分区/dev/sda5,/dev/sda6,过程中将sda5,sda6指定为Linux raid auto类型

让内核识别新建的分区 partprobe /deb/sda

cat /proc/partitions

madm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6}

cat /proc/mdstat

接下来

mke2fs -j /dev/md0

接下来挂载

mount /dev/md0 /mnt

madam -D|--detail /dev/md0 查看raid阵列的详细信息

在管理模式下,模拟一个磁盘的损坏mdadm /dev/md# --fail /dev/sda7 将md#(代表raid)下的sda7盘模拟损坏

移除硬盘 mdadm /dev/md# -r /dev/sda7

mdadm mdadm /dev/md# -a /dev/sda7

文件系统时,可以指定条带大小里有多少个block,然后避免每次生成软raid时计算一个条带包含多少磁盘块。 mke2fs -j -E stride=16 -b(块大小) 4096 /dev/md0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: