设为首页 收藏本站
查看: 695|回复: 0

[经验分享] Linux软RAID配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-23 08:59:41 | 显示全部楼层 |阅读模式
RAID卡一般分为硬RAID卡和软RAID卡两种,通过用硬件来实现RAID功能的就是硬RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID。通过软件并使用CPU的RAID卡是指使用CPU来完成RAID的常用计算,软件RAID占用CPU资源较高,绝大部分服务器设备是硬件RAID。

一:Raid级别
1
2
3
4
5
6
raid0:
多个磁盘的容量大小相加.最后的容量就是多个磁盘容量的大小.
优点:扩大了磁盘的空间容量
缺点:没有数据冗余,一块磁盘坏掉,导致所有数据无法正常访问,此时就丢失了一个磁盘的数据量.
磁盘使用率:
n*每个磁盘的容量大小



1
2
3
4
5
raid1:
磁盘的利用率为50%. 4块80G的硬盘组成raid1,那么可用的磁盘空间为160G.插入的数据会实时同步到另外一个磁盘上,这份相同的数据称为镜像.数据及其安全.一般用在数据安全的场所.
缺点:成本很高.一块磁盘坏掉,必须及时去更换磁盘.
磁盘使用率:
(n/2)*每个磁盘的容量大小



1
2
3
4
5
raid5:
使用奇偶校验码存在所有的磁盘上.读出效率很高,写入数据一般.因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难.
对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
磁盘使用率:
(n-1)*每个磁盘的容量大小




二:Linux软raid制作
1
2
3
4
5
6
对于目前所有的操作系统,包括windows、mac os、linux等操作系统,其都有软件RAID的实现,而我们的Linux操作系统的软件RAID是通过 mdadm 这个程序来实现的
使用Linux下的 mdadm 这个软件需要注意的几点:
①mdadm 支持的RAID级别有:RAID0、RAID1、RAID4、RAID5以及RAID6。我们看到对于常用的四种RAID级别,mdadm都能够支持
②mdadm 可以基于多块硬盘、分区以及逻辑卷来创建RAID。对于硬件实现RAID来说,就只能是基于多块硬盘了
③创建好的软件RAID对应于 /dev/mdn,n表示的是第几个RAID,如第一个创建的RAID对应 /dev/md0, 第二个创建的RAID就对应 /dev/md1,当然这个名字是可以自己随便取的
④RAID的信息保存在 /proc/mdstat 文件中,或者通过 mdadm 命令来查看




三:测试环境配置

接下来我就在我这台CentOS的系统上来创建我们的软件RAID
在创建软件RAID之前,我这里首先通过虚拟机模拟了4块1G的虚拟硬盘出来,当然在实际环境下,使用的就是具体的硬盘了。
1
2
3
4
5
虚拟机下的磁盘有:每个磁盘16G
/dev/sda
/dev/sdc
/dev/sdd
/dev/sde




1.对已有磁盘进行分区
1
2
3
4
fdisk  /dev/sda
fdisk  /dev/sdc
fdisk  /dev/sdd
fdisk  /dev/sde



得到分区:
1
2
3
4
/dev/sda1
/dev/sdc1
/dev/sdd1
/dev/sde1




2.创建raid
1
2
3
4
5
6
[iyunv@os6---224 yujianglei]# mdadm   -Cv  /dev/md0   -l5 -n3  -x1  -c 128 /dev/sd[a,c,d,e]1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: size set to 16763520K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.



1
2
3
4
5
6
7
8
9
参数解释:
-C   创建md0
-v   显示创建过程
-l   raid级别
-n   活跃磁盘
-x   备用磁盘
-c   数据块大小,默认为64KB.
命令也可以按照下面写:
mdadm   --create  -v   /dev/md0  --level 5  -n3  -x1  --chunk 128  /dev/sda1  /dev/sdc1  /dev/sdd1  /dev/sde1




3.查看raid状态:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[iyunv@os6---224 yujianglei]# mdadm  -D  /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Dec  2 15:57:47 2015
     Raid Level : raid5
     Array Size : 33527040 (31.97 GiB 34.33 GB)
  Used Dev Size : 16763520 (15.99 GiB 17.17 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Wed Dec  2 15:59:12 2015
          State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
  Spare Devices : 1
         Layout : left-symmetric
     Chunk Size : 128K
           Name : os6---224:0  (local to host os6---224)
           UUID : ae905c03:6e4b3312:393d3d2e:0c7ec68d
         Events : 18
    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1
       3       8       65        -      spare   /dev/sde1



1
2
3
4
5
[iyunv@os6---224 yujianglei]# cat  /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sda1[0]
      33527040 blocks super 1.2 level 5, 128k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>




4.【注意:】我们在创建好RAID以后,需要将RAID的信息保存到 /etc/mdadm.conf 这个文件里,这样在下次操作系统重新启动的时候,系统就会自动加载这个文件来启用我们的RAID
1
2
3
[iyunv@os6---224 yujianglei]# mdadm -D --scan > /etc/mdadm.conf
[iyunv@os6---224 yujianglei]# cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 spares=1 name=os6---224:0 UUID=ae905c03:6e4b3312:393d3d2e:0c7ec68d




5.格式磁盘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[iyunv@os6---224 yujianglei]# mkfs.ext4 /dev/md0
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=32 blocks, Stripe width=64 blocks
2097152 inodes, 8381760 blocks
419088 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
256 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.



6.建立挂载点,并挂载
1
2
mkdir  /raid5
mount  /dev/md0  /raid5




7.查看md0分区的大小,共32G.正好匹配(n-1)*16G  ,这里的n为3,因为有一个磁盘是备用磁盘.
1
2
3
4
5
6
7
8
9
[iyunv@os6---224 yujianglei]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       30G  2.1G   27G   8% /
tmpfs                 497M     0  497M   0% /dev/shm
/dev/sdb1             477M   52M  400M  12% /boot
/dev/mapper/VolGroup-lv_home
                       31G  2.4G   27G   9% /home
/dev/md0               32G   48M   30G   1% /raid5




8.配置开机启动
1
2
vi  /etc/fstab
/dev/md0                /raid5                  ext4    defaults        0 0



9.重启机器测试

10.raid的日常维护
1
2
3
4
现在模拟一块磁盘故障,查看磁盘的重建过程
我们还可以通过 mdadm 命令来模拟RAID故障,通过 mdadm /dev/md0 -f /dev/sda1 命令
[iyunv@os6---224 raid5]# mdadm /dev/md0 -f /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
再次查看/dev/md0的状态
[iyunv@os6---224 raid5]# mdadm  -D  /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Dec  2 15:57:47 2015
     Raid Level : raid5
     Array Size : 33527040 (31.97 GiB 34.33 GB)
  Used Dev Size : 16763520 (15.99 GiB 17.17 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Wed Dec  2 17:48:31 2015
          State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
  Spare Devices : 1
         Layout : left-symmetric
     Chunk Size : 128K
Rebuild Status : 42% complete            //这里的Rebuild Status状态就是重建的过程,达到100%后,就OK了
           Name : os6---224:0  (local to host os6---224)
           UUID : ae905c03:6e4b3312:393d3d2e:0c7ec68d
         Events : 30
    Number   Major   Minor   RaidDevice State
       3       8       65        0      spare rebuilding   /dev/sde1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1
       0       8        1        -      faulty   /dev/sda1




检查数据是否丢失
1
2
3
4
[iyunv@os6---224 raid5]# ll  /raid5/
总用量 245776
drwx------. 2 root root     16384 12月  2 16:34 lost+found
-rw-r--r--. 1 root root 251658240 12月  2 16:54 test.img



11.移除损坏的磁盘
1
mdadm  /dev/md0  -r  /dev/sda1



12.添加新磁盘到raid5中去,默认情况下,我们向RAID 中增加的磁盘,会被默认当作热备盘
1
2
mdadm  /dev/md0  -a  /dev/sda1
此时sda1这块盘会立即进入到备用状态.



13.我们需要把热备盘加入到RAID 的活动盘中。备用盘转化为活动盘,此时又会重新rebuild
1
mdadm -G  /dev/md0   -n4




14.此时raid的容量增加了,但是文件系统的容量还是原来的,需要扩充文件系统的大小
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@os6---224 raid5]# resize2fs  /dev/md0
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/md0 is mounted on /raid5; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 3
Performing an on-line resize of /dev/md0 to 12572640 (4k) blocks.
The filesystem on /dev/md0 is now 12572640 blocks long.
[iyunv@os6---224 raid5]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       30G  2.1G   27G   8% /
tmpfs                 497M     0  497M   0% /dev/shm
/dev/sdb1             477M   52M  400M  12% /boot
/dev/mapper/VolGroup-lv_home
                       31G  2.4G   27G   9% /home
/dev/md0               48G  292M   45G   1% /raid5




15.重启机器测试,一切Ok


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-155011-1-1.html 上篇帖子: LVM逻辑卷管理器 下篇帖子: 在 Cent OS 6.5 中firefox 安装 flash 插件 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表