Linux下的RAID配置和管理


一:实验环境
1):虚拟机
2):虚拟机上配置lingux系统
3):利用linux系统实现Raid的配置
4):在虚拟机中加入6快硬盘

二:实验目标
1):熟练掌握几种常用的Raid
2):对于Raid0 Raid1和Raid5三种Raid要熟练掌握配置命令
3):理解几种常用Raid的区别与用处
4):对几种不常用的Raid要做认识
5):理解并记住各Raid的实验要求

如何在Linux上构建 RAID 10阵列 

Debian软RAID安装笔记 - 使用mdadm安装RAID1

常用RAID技术介绍以及示例演示(多图)

Linux实现最常用的磁盘阵列-- RAID5

RAID0+1和RAID5的性能测试结果

Linux入门教程:磁盘阵列(RAID)

三:实验步骤
1):配置raid0
1:环境:
添加一个sdb硬盘,分两个1G的主分区。sdb1和sdb2
2:步骤
给sdb硬盘创建两个1G的主分区
创建RAID0
导出阵列配置文件
格式化并挂载到指定目录
修改/etc/fstab永久挂载
 
3:实验步骤
1):给sdb硬盘创建两个1G的主分区
[root@xuegod63~]# fdisk /dev/sdb  #进入给其分两个主分区
n                       
p    //创建主分区
1    //主分区为sdb1
+1G //给其空间为1G
[root@localhost ~]# ll /dev/sdb*  #查看分区,“*”代表sdb后的所有分区。
brw-rw----. 1 root disk 8, 16  6月 28 20:13 /dev/sdb
brw-rw----. 1 root disk 8, 17  6月 28 20:13 /dev/sdb1
brw-rw----. 1 root disk 8, 18  6月 28 20:13 /dev/sdb2
[root@localhost ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1 /dev/sdb2
 
##用两种方式查看,可以清楚的看到/dev下有三个分区
 
2:创建RAID0
[root@localhost ~]# mdadm -C -v /dev/md0 -l0 -n 2 /dev/sdb1 /dev/sdb2
#创建一个名字为md0的阵列, 等级为0 有两块硬盘 1:/dev/sdb1 2: /dev/sdb2
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started. //创建的阵列md0开始运行,说明创建成功
 
[root@localhost ~]# mdadm –Ds #对刚创建的阵列进行扫描,阵列名为 /dev/md0
ARRAY /dev/md0metadata=1.2 name=localhost.localdomain:0 UUID=0293bd32:6821c095:686fd2b9:0471cbab
 
 [root@localhost~]# mdadm -D /dev/md0 #查看阵列的具体信息
  Number  Major  Minor  RaidDevice State
      0      8      17      0      active sync  /dev/sdb1
      1      8      18      1      active sync  /dev/sdb2
 
 [root@localhost~]# mdadm -Ds > /etc/mdadm.conf #生成raid配置文件指向  >  /etc/mdadm.conf
[root@localhost ~]# cat !$  #查看生成的配置文件
cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2name=localhost.localdomain:0 UUID=0293bd32:6821c095:686fd2b9:0471cbab
 
[root@localhost ~]# fdisk /dev/md0  #对阵列进行分区
 
[root@localhost ~]# ll /dev/md0* #进行分区
brw-rw----. 1 root disk  9, 0 6月 28 20:32 /dev/md0
brw-rw----. 1 root disk 259, 0  6月 28 20:32 /dev/md0p1  #红色处,即为新分出的区
 
3:格式化并挂载到指定目录
 
对刚分的新区(/dev/md0p1)进行格式化
[root@localhost ~]# mkfs.ext4 /dev/md0p1
正在写入inode表: 完成                         
Creating journal (16384 blocks): 完成
Writing superblocks and filesystemaccounting information: 完成
创建目录并挂载
[root@localhost ~]# mkdir  /raid0 #创建一个与Raid0同的的文件目录
[root@localhost ~]# mount /dev/md0p1  /raid0 #/dev/md0p1挂载到/raid0下
 
实现开机挂载
[root@localhost ~]# vim /etc/fstab
/dev/md0p1              /raid0        /ext4      defaults        0 0
保存
 
查看挂载
root@localhost ~]# df -h
文件系统              容量  已用  可用 已用%% 挂载点
/dev/sda2            9.7G  3.2G 6.1G  35% /
tmpfs                1000M  264K 1000M  1% /dev/shm
/dev/sda1            194M  28M 157M  15% /boot
/dev/md0p1            2.0G  68M 1.9G  4% /raid0
挂载成功
Raid0创建成功
2):配置RAID1
1:环境:
创建分区:sdc1,sdc2,sdc3  大小为1G:2:
2:步骤
创建RAID1
添加1G热备盘
模拟磁盘故障,自动顶替故障盘
卸载阵列
3:实验步骤
1:创建分区并查看
[root@localhost ~]# fdisk /dev/sdc  #创建分区
[root@localhost ~]# ll /dev/sdc*  #查看所分的四个区
brw-rw----. 1 root disk 8, 32  6月 28 20:46 /dev/sdc
brw-rw----. 1 root disk 8, 33  6月 28 20:46 /dev/sdc1
brw-rw----. 1 root disk 8, 34  6月 28 20:46 /dev/sdc2
brw-rw----. 1 root disk 8, 35  6月 28 20:46 /dev/sdc3
 
2:创建Raid1
[root@localhost ~]# mdadm-C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sdc1 /dev/sdc2 /dev/sdc3
#创建一个名字为md1的阵列, 等级为1有3块硬盘 1:/dev/sdc1  2和3
 
mdadm: size set to 1059222K
Continue creating array? Y # 选择Y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
 
[root@localhost ~]# ll /dev/md1  #查看阵列md1
brw-rw----. 1 root disk 9, 1  6月 28 20:56 /dev/md1
 
[root@localhost ~]# cat /proc/mdstat  #创建的md0和md1都在运行
Personalities : [raid0] [raid1]
md1 : active raid1 sdc3[2](S)sdc2[1] sdc1[0]
    1059222 blocks super 1.2 [2/2] [UU]
md0 : active raid0 sdb2[1]sdb1[0]
    2117632 blocks super 1.2 512k chunks
 
[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf  #对生成文件进行指定
[root@localhost ~]# cat !$
cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2name=localhost.localdomain:0 UUID=0293bd32:6821c095:686fd2b9:0471cbab
ARRAY /dev/md1 metadata=1.2 spares=1name=localhost.localdomain:1 UUID=f7c34545:ecab8452:d826598e:e68c64f3
 
对其进行分区,验证和格式化
[root@localhost ~]#fdisk /dev/md1  #分区
p
Partition number (1-4): 1
First cylinder (1-264805, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G}(1-264805, default 264805):
Using default value 264805
Command (m for help): w
 
[root@localhost ~]# ll /dev/md1* #验证
brw-rw----. 1 root disk  9, 1 6月 28 21:13 /dev/md1
brw-rw----. 1 root disk 259, 1  6月 28 21:13 /dev/md1p1
#对于md1阵列的分区,会自动分出md1p1的区,在md1下。
[root@localhost ~]# mkfs.ext4 /dev/md1p1  #格式化
正在写入inode表: 完成                         
Creating journal (8192 blocks): 完成
Writing superblocks and filesystemaccounting information: 完成
 
创建目录并挂载
[root@localhost ~]# mkdir /raid1 #创建目录
[root@localhost ~]# mount /dev/md1p1 /raid1#将其挂载在raid1目录下
[root@localhost ~]# df –h  #查看已经挂载的
文件系统              容量  已用  可用 已用%% 挂载点
/dev/sda2            9.7G  3.2G 6.1G  35% /
tmpfs                1000M  288K 1000M  1% /dev/shm
/dev/sda1            194M  28M 157M  15% /boot
/dev/md0p1            2.0G  68M 1.9G  4% /raid0
/dev/md1p1          1019M  34M 934M  4% /raid1
#我们看到我md1p1已经挂载到raid1下了
 
[root@localhost ~]# cat /proc/mdstat  #验证查看下正在运行的进程
Personalities : [raid0] [raid1]
md1 : active raid1 sdc3[2](S) sdc2[1]sdc1[0]
    1059222 blocks super 1.2 [2/2] [UU]
Linux下的RAID配置和管理
 
3:模拟故障
[root@localhost ~]# vim /etc/mdadm.conf
ARRAY /dev/md1 metadata=1.2 spares=1name=localhost.localdomain:1 UUID=f7c34545:ecab8452:d826598e:e68c64f3
空闲-spares –备用的硬盘

Linux下的RAID配置和管理

没有出故障前
Every 1.0s: cat /proc/mdstat                            Sun Jun 28 21:41:432015
Personalities : [raid0] [raid1]
md1 : active raid1 sdc3[2](s) sdc2[1] sdc1[0]
    1059222 blocks super 1.2 [2/2] [UU]
#这里我们可以清楚的看到md1阵列是在正常运行的。sdc3[2](s)这一块一热备盘,用来做备份的
让/dev/md1 下的/dev/sdc1挂掉
[root@localhost ~]# mdadm -f /dev/md1 /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md1
 
处故障后
Every 1.0s: cat /proc/mdstat                            Sun Jun 28 21:44:15 2015
Personalities : [raid0] [raid1]
md1 : active raid1 sdc3[2] sdc2[1] sdc1[0](F)
    1059222 blocks super 1.2 [2/2] [UU]
这个时候,我们可以看到sdc1[0]后面有个(F) 这就表示此盘运行失败,而我们又看到刚才的热备盘sdc3[2](s)现在后面一句没有(S)了,他它直接顶替了刚才的那块运行是被的硬盘了。
 [root@localhost~]# mdadm -r /dev/md1 /dev/sdc1
将出现故障的盘进行移除
mdadm: hot removed /dev/sdc1 from /dev/md1  #意思是/dev/sdc1从/dev/md1里面移除
查看
[root@localhost ~]# watch -n 1 cat/proc/mdstat
Every 1.0s: cat /proc/mdstat                            Sun Jun 28 21:50:15 2015
Personalities : [raid0] [raid1]
md1 : active raid1 sdc3[2] sdc2[1]
    1059222 blocks super 1.2 [2/2] [UU]
这里不再出现有故障的sdc1了
 
注:在移除之后需要重新生成以下文件,防止以后出现问题。
[root@localhost ~]# mdadm -Ds >/etc/mdadm.conf  #对文件进行配置生成
[root@localhost ~]# cat !$
cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2name=localhost.localdomain:0 UUID=0293bd32:6821c095:686fd2b9:0471cbab
ARRAY /dev/md1 metadata=1.2name=localhost.localdomain:1 UUID=f7c34545:ecab8452:d826598e:e68c64f3
/dev/md1这里的(spares=1)热备份也没有的.

更多详情见请继续阅读下一页的精彩内容:

  • 1
  • 2
  • 下一页

相关内容