标签:raid
RAID卡一般分为硬RAID卡和软RAID卡两种,通过用硬件来实现RAID功能的就是硬RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID。通过软件并使用CPU的RAID卡是指使用CPU来完成RAID的常用计算,软件RAID占用CPU资源较高,绝大部分服务器设备是硬件RAID。
一:Raid级别
raid0: 多个磁盘的容量大小相加.最后的容量就是多个磁盘容量的大小. 优点:扩大了磁盘的空间容量 缺点:没有数据冗余,一块磁盘坏掉,导致所有数据无法正常访问,此时就丢失了一个磁盘的数据量. 磁盘使用率: n*每个磁盘的容量大小
raid1: 磁盘的利用率为50%. 4块80G的硬盘组成raid1,那么可用的磁盘空间为160G.插入的数据会实时同步到另外一个磁盘上,这份相同的数据称为镜像.数据及其安全.一般用在数据安全的场所. 缺点:成本很高.一块磁盘坏掉,必须及时去更换磁盘. 磁盘使用率: (n/2)*每个磁盘的容量大小
raid5: 使用奇偶校验码存在所有的磁盘上.读出效率很高,写入数据一般.因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难. 对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。 磁盘使用率: (n-1)*每个磁盘的容量大小
二:Linux软raid制作
对于目前所有的操作系统,包括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的虚拟硬盘出来,当然在实际环境下,使用的就是具体的硬盘了。
虚拟机下的磁盘有:每个磁盘16G /dev/sda /dev/sdc /dev/sdd /dev/sde
1.对已有磁盘进行分区
fdisk /dev/sda fdisk /dev/sdc fdisk /dev/sdd fdisk /dev/sde
得到分区:
/dev/sda1 /dev/sdc1 /dev/sdd1 /dev/sde1
2.创建raid
[root@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.
参数解释: -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状态:
[root@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
[root@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
[root@os6---224 yujianglei]# mdadm -D --scan > /etc/mdadm.conf [root@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.格式磁盘
[root@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.建立挂载点,并挂载
mkdir /raid5 mount /dev/md0 /raid5
7.查看md0分区的大小,共32G.正好匹配(n-1)*16G ,这里的n为3,因为有一个磁盘是备用磁盘.
[root@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.配置开机启动
vi /etc/fstab /dev/md0 /raid5 ext4 defaults 0 0
9.重启机器测试
10.raid的日常维护
现在模拟一块磁盘故障,查看磁盘的重建过程 我们还可以通过 mdadm 命令来模拟RAID故障,通过 mdadm /dev/md0 -f /dev/sda1 命令 [root@os6---224 raid5]# mdadm /dev/md0 -f /dev/sda1 mdadm: set /dev/sda1 faulty in /dev/md0
再次查看/dev/md0的状态 [root@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
检查数据是否丢失
[root@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.移除损坏的磁盘
mdadm /dev/md0 -r /dev/sda1
12.添加新磁盘到raid5中去,默认情况下,我们向RAID 中增加的磁盘,会被默认当作热备盘
mdadm /dev/md0 -a /dev/sda1 此时sda1这块盘会立即进入到备用状态.
13.我们需要把热备盘加入到RAID 的活动盘中。备用盘转化为活动盘,此时又会重新rebuild
mdadm -G /dev/md0 -n4
14.此时raid的容量增加了,但是文件系统的容量还是原来的,需要扩充文件系统的大小
[root@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. [root@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
本文出自 “不求最好,只求更好” 博客,请务必保留此出处http://yujianglei.blog.51cto.com/7215578/1727319
标签:raid
原文地址:http://yujianglei.blog.51cto.com/7215578/1727319