欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Centos 上软raid 介绍和配置

程序员文章站 2022-07-10 09:46:17
...

**

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 来改变。
第一步:

[aaa@qq.com.9raid5]#fdisk /dev/sdb

WARNING: 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): 1
Hex code (type L to list codes): fd   ###fd 是raid 的类型

Command (m for help): p       ### 查看是否改变成功

Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk 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 来查看状态
“`

Centos 上软raid 介绍和配置
可以看到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 磁盘损坏

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

相关标签: 软raid