共计 7160 个字符,预计需要花费 18 分钟才能阅读完成。
一、RAID 简介
RAID 是英文 Redundant Array of Independent Disks 的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array)。
简单的说,RAID 是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份的技术。
组成磁盘阵列的不同方式称为 RAID 级别(RAID Levels),常见的 RAID Level 包括 raid0, raid1, raid5, raid10。各 level 对比如下:
RAID 等级 | 最少硬盘 | 最大容错 | 可用容量 | 读取性能 | 写入性能 | 安全性 | 目的 | 应用产业 |
0 | 2 | 0 | n | n | n | 一个硬盘异常,全部硬盘都会异常 | 追求最大容量、速度 | 3D 产业实时渲染、视频剪接高速缓存 |
1 | 2 | n-1 | 1 | n | 1 | 最高,一个正常即可 | 追求最大安全性 | 个人、企业备份 |
5 | 3 | 1 | n-1 | n-1 | n-1 | 高 | 追求最大容量、最小预算 | 个人、企业备份 |
10 | 4 | n/2 | n/2 | n | n/2 | 安全性高 | 综合 RAID 0/ 1 优点,理论速度较快 | 大型数据库、服务器 |
说明:n 代表硬盘总数
关于 RAID 的详细介绍,请参考:http://zh.wikipedia.org/wiki/RAID
Debian 软 RAID 安装笔记 – 使用 mdadm 安装 RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm
常用 RAID 技术介绍以及示例演示(多图) http://www.linuxidc.com/Linux/2013-03/81481.htm
Linux 实现最常用的磁盘阵列 – RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm
RAID0+ 1 和 RAID5 的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htm
二、系统环境
实验环境:Oracle VM VirtualBox
系统平台:CentOS release 6.3 (Final)
mdadm 版本:mdadm – v3.2.6 – 25th October 2012
三、设置磁盘
在 Oracle VM VirtualBox 里模拟物理增加磁盘,在这篇文章中,我们将创建 RAID0, RAID1, RAID5 分区,RAID0 需要两块硬盘,RAID1 需要两块硬盘,RAID5 需要四块硬盘,所以在这里添加了八块物理硬盘,每块 5.00 GB.
在 Linux 系统里使用 fdisk –l 命令查看。
四、安装 mdadm
mdadm 是 multiple devices admin 的简称,它是 Linux 下的一款标准的软件 RAID 管理工具。
4.1 查看是否安装了 mdadm 软件
# rpm -qa|grep mdadm
4.2 如果未安装,则使用 yum 方式安装。
准备工作完毕,下面可以着手创建 raid 了。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103838p2.htm
五、创建 RAID0
5.1 新建分区
创建 RAID0 需要两块硬盘,所以我们拿 /dev/sdb 和 /dev/sdc 来实验。
# fdisk /dev/sdb // 对 sdb 进行分区
输入 ”m”, 获取帮助,输入 ”p”, 查看分区前磁盘状态,其他 Command action 具体含义请自行 Google, Baidu。
输入 ”n” 新建分区,这里我们将整个磁盘都划分成一个分区,然后输入 ”p” 查看分区情况。
5.2 修改 分区类型
默认新建分区的类型是 Linux,代号 83,我们需要将其修改为 raid 类型。输入 ”t”,然后输入 ”L” 列出所有的文件格式,这里我们选择 ”fd Linux raid auto”, 输入 ”fd”,然后再输入 ”p” 查看分区情况,这是分区格式已经变成了 Linux raid autodetect.
5.3 保存分区
输入 ”w” 保存分区。
使用同样方法对 /dev/sdc 进行分区操作。
5.4 同步分区情况
使用 partprobe 命令同步分区情况。
5.5 查看现在的状态
# fdisk -l /dev/sdb /dev/sdc
5.6 开始创建 RAID0
# mdadm -C /dev/md0 -ayes -l0 -n2 /dev/sd[b,c]1
说明:
-C –create 创建阵列;
-a –auto 同意创建设备,如不加此参数时必须先使用 mknod 命令来创建一个 RAID 设备,不过推荐使用 -a yes 参数一次性创建;
-l –level 阵列模式,支持的阵列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;
-n –raid-devices 阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
/dev/md0 阵列的设备名称;
/dev/sd{b,c}1 参与创建阵列的磁盘名称;
5.7 查看 raid0 状态
# cat /proc/mdstat
# mdadm -D /dev/md0
说明:Raid Level : 阵列级别;
Array Size : 阵列容量大小;
Raid Devices : RAID 成员的个数;
Total Devices : RAID 中下属成员的总计个数,因为还有冗余硬盘或分区,也就是 spare,为了 RAID 的正常运珩,随时可以推上去加入 RAID 的;
State : clean, degraded, recovering 状态,包括三个状态,clean 表示正常,degraded 表示有问题,recovering 表示正在恢复或构建;
Active Devices : 被激活的 RAID 成员个数;
Working Devices : 正常的工作的 RAID 成员个数;
Failed Devices : 出问题的 RAID 成员;
Spare Devices : 备用 RAID 成员个数,当一个 RAID 的成员出问题时,用其它硬盘或分区来顶替时,RAID 要进行构建,在没构建完成时,这个成员也会被认为是 spare 设备;
UUID : RAID 的 UUID 值,在系统中是唯一的;
5.8 创建 RAID 配置文件 /etc/mdadm.conf
RAID 的配置文件为 /etc/mdadm.conf,默认是不存在的,需要手工创建。
该配置文件的主要作用是系统启动的时候能够自动加载软 RAID,同时也方便日后管理。但不是必须的,推荐对该文件进行配置。
我们这里需要创建这个文件,测试中发现,如果没有这个文件,则 reboot 后,已经创建好的 md0 会自动变成 md127。
/etc/mdadm.conf 文件内容包括:
由 DEVICE 选项指定用于软 RAID 的所有设备,和 ARRAY 选项所指定阵列的设备名、RAID 级别、阵列中活动设备的数目以及设备的 UUID 号。
5.8.1 创建 /etc/mdadm.conf
# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf
# mdadm –Ds >> /etc/mdadm.conf
5.8.2 修改配置文件
当前生成的 /etc/mdadm.conf 文件内容并不符合所规定的格式,所以也是不生效的,这时需要手工修改该文件内容为如下格式:
# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1
ARRAY /dev/md0 level=raid0 num-devices=2 UUID=5160ea40:cb2b44f1:c650d2ef:0db09fd0
5.9 格式化磁盘阵列
# mkfs.ext4 /dev/md0
5.10 建立挂载点并挂载
# mkdir /raid0
# mount /dev/md0 /raid0/
可以看到,/dev/md0 的可用大小为 9.9G。
5.11 写入 /etc/fstab
为了下次开机还能正常使用我们的 RAID 设备,需要将挂载的信息写入 /etc/fstab 文件中。
然后 reboot 测试开机是否自动挂载,raid0 创建完毕。
一、RAID 简介
RAID 是英文 Redundant Array of Independent Disks 的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array)。
简单的说,RAID 是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份的技术。
组成磁盘阵列的不同方式称为 RAID 级别(RAID Levels),常见的 RAID Level 包括 raid0, raid1, raid5, raid10。各 level 对比如下:
RAID 等级 | 最少硬盘 | 最大容错 | 可用容量 | 读取性能 | 写入性能 | 安全性 | 目的 | 应用产业 |
0 | 2 | 0 | n | n | n | 一个硬盘异常,全部硬盘都会异常 | 追求最大容量、速度 | 3D 产业实时渲染、视频剪接高速缓存 |
1 | 2 | n-1 | 1 | n | 1 | 最高,一个正常即可 | 追求最大安全性 | 个人、企业备份 |
5 | 3 | 1 | n-1 | n-1 | n-1 | 高 | 追求最大容量、最小预算 | 个人、企业备份 |
10 | 4 | n/2 | n/2 | n | n/2 | 安全性高 | 综合 RAID 0/ 1 优点,理论速度较快 | 大型数据库、服务器 |
说明:n 代表硬盘总数
关于 RAID 的详细介绍,请参考:http://zh.wikipedia.org/wiki/RAID
Debian 软 RAID 安装笔记 – 使用 mdadm 安装 RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm
常用 RAID 技术介绍以及示例演示(多图) http://www.linuxidc.com/Linux/2013-03/81481.htm
Linux 实现最常用的磁盘阵列 – RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm
RAID0+ 1 和 RAID5 的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htm
二、系统环境
实验环境:Oracle VM VirtualBox
系统平台:CentOS release 6.3 (Final)
mdadm 版本:mdadm – v3.2.6 – 25th October 2012
三、设置磁盘
在 Oracle VM VirtualBox 里模拟物理增加磁盘,在这篇文章中,我们将创建 RAID0, RAID1, RAID5 分区,RAID0 需要两块硬盘,RAID1 需要两块硬盘,RAID5 需要四块硬盘,所以在这里添加了八块物理硬盘,每块 5.00 GB.
在 Linux 系统里使用 fdisk –l 命令查看。
四、安装 mdadm
mdadm 是 multiple devices admin 的简称,它是 Linux 下的一款标准的软件 RAID 管理工具。
4.1 查看是否安装了 mdadm 软件
# rpm -qa|grep mdadm
4.2 如果未安装,则使用 yum 方式安装。
准备工作完毕,下面可以着手创建 raid 了。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103838p2.htm
六、创建 RAID1
和创建 raid0 类似,我们拿 /dev/sdd 和 /dev/sde 这两块硬盘来做实验。
6.1 新建分区并修改分区类型
使用同样方法对 /dev/sde 进行分区操作,分区结果如下:
6.2 开始创建 RAID1
# mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[d,e]1
6.3 查看 raid1 状态
# cat /proc/mdstat
# mdadm -D /dev/md1
说明:Used Dev Size : RAID 单位成员容量大小,也就是构成 RAID 的成员硬盘或分区的容量的大小;
可以看到,raid1 正在创建,待创建完毕,状态如下:
6.4 添加 raid1 到 RAID 配置文件 /etc/mdadm.conf 并修改
# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf
# mdadm –Ds >> /etc/mdadm.conf
6.5 格式化磁盘阵列
# mkfs.ext4 /dev/md1
6.6 建立挂载点并挂载
# mkdir /raid1
# mount /dev/md1 /raid1/
可以看到,/dev/md1 的可用大小为 4.9G。
6.7 写入 /etc/fstab
然后 reboot 测试开机是否自动挂载,raid1 创建完毕。
七、创建 RAID5
RAID5 至少需要三块硬盘,我们拿 /dev/sdf, /dev/sdg, /dev/sdh, /dev/sdi 这四块硬盘来做实验,三块做为活动盘,另一块做为热备盘。
7.1 新建分区并修改分区类型
分区结果如下:
7.2 开始创建 RAID5
# mdadm -C /dev/md5 -ayes -l5 –n3 -x1 /dev/sd[f,g,h,i]1
说明:“-x1″ 或 ”–spare-devices=1″ 表示当前阵列中热备盘只有一块,若有多块热备盘,则将 ”–spare-devices” 的值设置为相应的数目。
7.3 查看 raid5 状态
# cat /proc/mdstat
# mdadm -D /dev/md5
说明:Rebuild Status : RAID 的构建进度;
4 8 113 2 spare rebuilding /dev/sdh1 注:未被激活,正在构建中的成员,正在传输数据;
3 8 129 – spare /dev/sdi1 热备盘
raid5 正在创建,而且速度很慢,待创建完毕,状态如下:
7.4 添加 raid5 到 RAID 配置文件 /etc/mdadm.conf 并修改
# echo DEVICE /dev/sd{f,g,h,i}1 >> /etc/mdadm.conf
# mdadm –Ds >> /etc/mdadm.conf
7.5 格式化磁盘阵列
# mkfs.ext4 /dev/md5
7.6 建立挂载点并挂载
# mkdir /raid5
# mount /dev/md5 /raid5/
raid5 的可用大小为 9.9G,即(3-1)x 5G.
向 /raid5 里面写入测试数据:
# touch test_raid5.failed
# touch test_raid5.fail
# ls
7.7 写入 /etc/fstab
然后 reboot 测试开机是否自动挂载,raid5 创建完毕。
七、创建 RAID5
RAID5 至少需要三块硬盘,我们拿 /dev/sdf, /dev/sdg, /dev/sdh, /dev/sdi 这四块硬盘来做实验,三块做为活动盘,另一块做为热备盘。
7.1 新建分区并修改分区类型
分区结果如下:
7.2 开始创建 RAID5
# mdadm -C /dev/md5 -ayes -l5 –n3 -x1 /dev/sd[f,g,h,i]1
说明:“-x1″ 或 ”–spare-devices=1″ 表示当前阵列中热备盘只有一块,若有多块热备盘,则将 ”–spare-devices” 的值设置为相应的数目。
7.3 查看 raid5 状态
# cat /proc/mdstat
# mdadm -D /dev/md5
说明:Rebuild Status : RAID 的构建进度;
4 8 113 2 spare rebuilding /dev/sdh1 注:未被激活,正在构建中的成员,正在传输数据;
3 8 129 – spare /dev/sdi1 热备盘
raid5 正在创建,而且速度很慢,待创建完毕,状态如下:
7.4 添加 raid5 到 RAID 配置文件 /etc/mdadm.conf 并修改
# echo DEVICE /dev/sd{f,g,h,i}1 >> /etc/mdadm.conf
# mdadm –Ds >> /etc/mdadm.conf
7.5 格式化磁盘阵列
# mkfs.ext4 /dev/md5
7.6 建立挂载点并挂载
# mkdir /raid5
# mount /dev/md5 /raid5/
raid5 的可用大小为 9.9G,即(3-1)x 5G.
向 /raid5 里面写入测试数据:
# touch test_raid5.failed
# touch test_raid5.fail
# ls
7.7 写入 /etc/fstab
然后 reboot 测试开机是否自动挂载,raid5 创建完毕。
九、向 RAID 中增加存储硬盘
如果现在已经做好的 RAID 空间还是不够用的话,那么我们可以向里面增加新的硬盘,来增加 RAID 的空间。
9.1 在虚拟机中添加物理硬盘
上面我们已经在虚拟机中添加了八块硬盘,这里需要模拟新增硬盘,所以首先将虚拟机关闭,然后在存储里再次新增一块 5GB 的硬盘。然后分区等等操作,这里不再赘述。
9.2 向 RAID 中新加一块硬盘
# mdadm /dev/md5 -a /dev/sdj1
查看此时的 RAID 状态
默认情况下,我们向 RAID 中增加的磁盘,会被默认当作热备盘,我们需要把热备盘加入到 RAID 的活动盘中。
9.3 热备盘转换成活动盘
# mdadm -G /dev/md5 -n4
查看此时 RAID 状态
/dev/sdj1 已经变成了活动盘,但是 Array Size : 10465280 (9.98 GiB 10.72 GB) 并没有变大,这是因为构建没有完成,图中也可以看出 Status 为 clean, reshaping。
等 RAID 完成构建后,RAID 的容量就会改变为(4-1)x 5GB,查看进度可以参考 Reshape Status,也可以参考 /proc/mdstat.
构建完毕后的 RAID 状态:
Array Size : 15697920 (14.97 GiB 16.07 GB),磁盘容量已经增加了。
9.4 扩容文件系统
RAID 构建完毕后,阵列容量增加,但是文件系统还没有增加,这时我们还需要对文件系统进行扩容。
# df –TH
# resize2fs /dev/md5
# df –TH
文件系统已经扩容到 15G,而且测试数据正常,未丢失,新增物理硬盘成功。
9.5 修改 RAID 配置文件 /etc/mdadm.conf
9.6 reboot 测试
重启系统后,一切正常,Linux 下配置软 RAID 成功。