Centos 上软raid 介绍和配置

来源:互联网 发布:百度域名注册服务费用 编辑:程序博客网 时间:2024/05/16 15:12

**

Raid 介绍**

RAID 的全称为Redundant Arrays of Inexpensive(Independent) Disks,是 1988年由加利福尼亚大学伯克利分校发明的。
Raid 可以将多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。
RAID实现的方式:
1. 外接式磁盘阵列:通过扩展卡提供适配能力
2. 内接式RAID:主板集成RAID控制器
3. 安装OS前在BIOS里配置
4. 软件RAID:通过OS实现
*

raid 常用级别*

raid 常用级别有 raid0,raid1,raid5,raid6,raid10,raid 50
raid 0 两块磁盘同时读写,数据分开放在不同的磁盘里,主要是为了提升读写性能,但是并无冗余能力(容错能力),磁盘中任何一个坏掉都会导致数据丢失,生产中都不会单独使用raid 0。
raid 1 相当于对磁盘做镜像,这样其中一个磁盘坏掉了对数据不会有任何影响,磁盘利用率只有1/2,虽然这大大保证数据安全,但是却比较浪费。性能表现:写性能下降,读性能提升。
raid 5 是用磁盘其中一个磁盘的空间做数据校验,但是校验码是分散的储存在不同的磁盘上的,如果其中有一个磁盘坏掉后可以通过校验值恢复数据,磁盘利用率为 (n-1)/n,性能表现读写效率都有提升。
raid 6 是拿出整体磁盘中两块磁盘的空间来做数据校验,校验值也是分散储存在不同磁盘上的,磁盘利用率为 (n-2)/n 。
raid 10 就是先做raid 1 后再做raid 0 ,这样既保证了数据的完全备份,也提高了数据的读写效率,容错率高。

Centos 上软raid 配置说明

Centos 上软件raid是结合内核中的md(multi devices)来实现的。
RAID设备可命名为/dev/md0、 /dev/md1、 /dev/md2、/dev/md3等
通过命令mdadm 可以建立软raid

命令的语法格式: mdadm [mode] <raiddevice> [options]-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
软RAID配置示例:mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1 **-C /dev/md5 表示创建名称为/dev/md5 的raid ,-l 5 表示创建raid 5-n 3 表示用3 个硬盘 ,-x 1 表示用一个备份)** 用文件系统对每个RAID设备进行格式化mke2fs -j /dev/md0使用mdadm检查RAID设备的状况mdadm --detail|D /dev/md0增加新的成员: mdadm –G /dev/md0 –n4 -a /dev/sdf116模拟磁盘故障 mdadm /dev/md0 -f /dev/sda1移除磁盘 mdadm /dev/md0 –r /dev/sda1• 在备用驱动器上重建分区• mdadm /dev/md0 -a /dev/sda1 mdadm、 /proc/mdstat及系统日志信息

**

Centos 上配置 Raid 5 实例**

centos6.9 上使用sdb1,sdc1,sdd1,sde1 来建立raid5 ,前提要保证该四个硬盘系统类型为 Linux raid autodetect ,如果不是通过fdisk 来改变。
第一步:

[root@Centos6.9raid5]#fdisk /dev/sdbWARNING: DOS-compatible mode is deprecated. It's strongly recommended to         switch off the mode (command 'c') and change display units to         sectors (command 'u').Command (m for help): t     ###表示要改变类型Partition number (1-4): 1Hex code (type L to list codes): fd   ###fd 是raid 的类型Command (m for help): p       ### 查看是否改变成功Disk /dev/sdb: 107.4 GB, 107374182400 bytes255 heads, 63 sectors/track, 13054 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0xfea0adb5   Device Boot      Start         End      Blocks   Id  System/dev/sdb1               1         132     1060258+  fd  Linux raid autodetect其余的磁盘也是通过一样的方法来改变。

第二步:
创建raid 5

2.1  `mdadm -C  /dev/md5  -l 5 -n 3 -x1 /dev/sd{b,c,d,e}1` (创建名称为/dev/md5 的raid 5-l 5 表示raid5 , -n 3 表示 3个硬盘,-x 1 表示一块硬盘做后备 )

2.2 mkfs.ext4 /dev/md5 格式化raid5
2.3 通过mdadm -D /dev/md5 来查看状态
“`

这里写图片描述
可以看到sdb1 sdc1 sdd1 和sde1 都已经加入raid5 中,sde1 是在备份状态。
2.4 通过 mount /dev/md5 /mnt 把raid 挂载到/mnt 下后就可以对raid5 来读写文件了 ,这时候我们可以在/mnt 写任意文件。至此raid5 的创建已经

2.6 为了验证raid 5 对磁盘的容错功能,模拟其中一个硬盘

mdadm /dev/md5 -f /dev/sdb1 模拟sdb1 磁盘损坏

这里写图片描述
此时我们比较mnt 里面的文件,发现虽然sdb1 此时已经损坏 ,但是mnt 里面的文件却没有任何丢失!
2.7 mdadm /dev/md5 -r /dev/sdb1 移除坏掉的sdb1 磁盘。
如果加入新磁盘可以通过命令: mdadm -a /dev/sdx /dev/raid5 。
至此raid 5 模拟磁盘损坏和新增磁盘结束。