阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下的RAID配置和管理

127次阅读
没有评论

共计 19052 个字符,预计需要花费 48 分钟才能阅读完成。

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

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

如何在 Linux 上构建 RAID 10 阵列  http://www.linuxidc.com/Linux/2014-12/110318.htm

Debian 软 RAID 安装笔记 – 使用 mdadm 安装 RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm

常用 RAID 技术介绍以及示例演示(多图) http://www.linuxidc.com/Linux/2013-03/81481.htm

Linux 实现最常用的磁盘阵列 – RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm

RAID0+ 1 和 RAID5 的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htm

Linux 入门教程:磁盘阵列(RAID)http://www.linuxidc.com/Linux/2014-07/104444.htm

三:实验步骤
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)热备份也没有的.

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-07/120560p2.htm

3):配置 RAID5
1:环境:
sde1,sde2,sde3,sde5,sde6 个主分区 每个 1G
2:步骤:
1):停止阵列,重新激活阵列
2):移除故障盘
3):停止阵列,重新激活阵列
实战:
再添加新的 1G 热备盘,扩展阵列容量,从 3 磁盘个扩展到 4 个
      注:2)和 3)不做
3:实验步骤
 
1:对 sde 进行分区 1.2.3 为主分区 4 为扩展分区,5 和 6 为逻辑分区
[root@localhost ~]# fdisk /dev/sde
[root@localhost ~]# ll /dev/sde*
brw-rw—-. 1 root disk 8, 64  6 月 29 11:27 /dev/sde
brw-rw—-. 1 root disk 8, 65  6 月 29 11:27 /dev/sde1
brw-rw—-. 1 root disk 8, 66  6 月 29 11:27 /dev/sde2
brw-rw—-. 1 root disk 8, 67  6 月 29 11:27 /dev/sde3
brw-rw—-. 1 root disk 8, 68  6 月 29 11:27 /dev/sde4
brw-rw—-. 1 root disk 8, 69  6 月 29 11:27 /dev/sde5
brw-rw—-. 1 root disk 8, 70  6 月 29 11:27 /dev/sde6
 
2:创建 RAID5
root@localhost ~]# mdadm -C -v/dev/md5 -l 5 -n 3 -c 32 -x 1 /dev/sde{1,2,3,5} #1.2.3 主 5 是备份硬盘
mdadm: size set to 1059202K
Continue creating array? y
 
查看正在运行的进程
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0] [raid6][raid5] [raid4]
md5 : active raid5 sde3[4]sde5[3](S) sde2[1] sde1[0]
    2118400 blocks super 1.2 level 5, 32k chunk, algorithm 2 [3/3] [UUU]
3:生成配置文件
[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf
[root@localhost ~]# cat !$
cat /etc/mdadm.conf
ARRAY/dev/md5metadata=1.2 spares=1 name=localhost.localdomain:5UUID=8475aa39:504c7c9c:71271abd:49392980
 
4:将 md5 停止并且验证
[root@localhost ~]# mdadm -S /dev/md5
mdadm: stopped /dev/md5
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0] [raid6][raid5] [raid4]
md0 : active raid0 sdb1[0] sdb2[1]
    2117632 blocks super 1.2 512k chunks
md1 : active raid1 sdc2[1] sdc3[2]
    1059222 blocks super 1.2 [2/2] [UU]
# 这个时候 md5 已经被停止运行了,故而这里不会出现 md5
 
5:将 md5 激活
[root@localhost ~]# mdadm -A /dev/md5
mdadm: /dev/md5 has been started with 3drives and 1 spare.
[root@localhost ~]# cat /proc/mdstat  #查看运行的进程
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde1[0] sde5[3](S)sde3[4] sde2[1]
    2118400 blocks super 1.2 level 5, 32k chunk, algorithm 2 [3/3] [UUU]
# 这个时候我们可以看到 md5 已经被激活了
 
6: 给 md5 分区
 [root@laoyu ~]# fdisk/dev/md5
Command(m for help): p
Command(m for help): n
p
Partitionnumber (1-4): 1
Firstcylinder (1-529600, default 17):
Lastcylinder, +cylinders or +size{K,M,G} (17-529600, default 529600):
Command(m for help): w
查看验证
[root@laoyu~]# ll /dev/md5*
brw-rw—-1 root disk  9, 5 Jul  2 23:03 /dev/md5
brw-rw—- 1 root disk 259, 0 Jul  2 23:03 /dev/md5p1
7:对新分的区进行格式化
 [root@laoyu ~]# mkfs.ext4/dev/md5p1
Writinginode tables: done
Creatingjournal (16384 blocks): done
Writingsuperblocks and filesystem accounting information: done
8:将 md5 中创建的新分区进行挂载
[root@laoyu~]# mkdir /raid5
[root@laoyu~]# mount /dev/md5p1 /raid5
[root@laoyu~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2            9.7G  3.9G 5.3G  42% /
tmpfs                996M  264K 996M  1% /dev/shm
/dev/sda1            2.0G  57M 1.8G  4% /boot
/dev/sr0              3.4G  3.4G    0 100% /media/RHEL_6.2 x86_64 Disc 1
/dev/md5p1          2.0G  68M  1.9G  4% /raid5
 
实战:
再添加新的 1G 热备盘,扩展阵列容量,从 3 磁盘个扩展到 4 个
现在用四块硬盘做 Raid5— 则需要加一块硬盘

Linux 下的 RAID 配置和管理

9:添加一块新的硬盘 sde6
[root@laoyu ~]# umount /raid5  #在添加之前,必须要先进行卸载
 
[root@localhost ~]# cat /proc/mdstat  #查看进程
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde1[0] sde5[3](S)sde3[4] sde2[1]
    2118400 blocks super 1.2 level 5, 32k chunk, algorithm 2 [3/3] [UUU]
这是添加之前,这里并没有 sde6 硬盘。
[root@localhost ~]# mdadm -a /dev/md5/dev/sde6  #意思是指向 md5 中添加一块新的硬盘 sde6
mdadm: added /dev/sde6  #添加成功
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde6[5](S)sde1[0] sde5[3](S) sde3[4] sde2[1]
    2118400 blocks super 1.2 level 5, 32k chunk, algorithm 2 [3/3] [UUU]
这是添加之后看到了 sde6 已经加进去了
10:扩展 raid5 阵列到 4 快硬盘
[root@localhost ~]# mdadm -G /dev/md5 -n 4  #“n”表示 number,数量。刚创建的 时候指向的是 3,现在我们指向 4,表示有 4 快硬盘。
mdadm: Need to backup 192K of criticalsection..
# 对其进行扩展,n 本来是等于 3 现在 n 是等于 4 这就是扩展
[root@laoyu~]# mdadm -Ds > /etc/mdadm.conf  #生成配置文件
[root@laoyu~]# cat /proc/mdstat
Personalities: [raid6] [raid5] [raid4]
md5: active raid5 sde6[5] sde3[4] sde5[3](S) sde2[1] sde1[0]
      2118400 blocks super 1.2 level 5, 32kchunk, algorithm 2 [4/4] [UUUU]
      [>………………..]  reshape = 3.8% (40704/1059200) finish=7.1min speed=2388K/sec
# 这里的进度条,表示添加的过程。
 [root@localhost~]# watch -n 1 cat /proc/mdstat #这里要想看到动态的生成文件加下命令
[root@laoyu~]#  mdadm -Ds > /etc/mdadm.conf
[root@laoyu~]# cat !$
cat/etc/mdadm.conf
ARRAY/dev/md5 metadata=1.2 spares=1 name=laoyu:5UUID=5dfd47d2:a7dda97b:1499e9e7:b950b8ca
——————————————————————————————————————————— root@laoyu ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2            9.7G  3.9G 5.3G  42% /
tmpfs                996M  264K 996M  1% /dev/shm
/dev/sda1            2.0G  57M 1.8G  4% /boot
/dev/sr0              3.4G  3.4G    0 100% /media/RHEL_6.2 x86_64 Disc 1
/dev/md5p1            2.0G  68M  1.9G  4% /raid5
这个时候我们看到 md5p1 的容量任然是 2G。
问题
明明添加了一块硬盘来扩容,为什么但是查询容量还是原来的容量呢?
答:文件系统不支持动态扩容的。只能使用新添加的硬盘,再做一个分区。
4):配置 raid10
1:方法:
先创建 raid1,再使用创建的 raid1 设备创建 raid0
2:环境:
Raid1
Raid0
3:实验步骤
1:创建 4 个主分区
[root@laoyu ~]# fdisk /dev/sdf
[root@laoyu ~]# ls /dev/sdf*
/dev/sdf /dev/sdf1  /dev/sdf2  /dev/sdf3 /dev/sdf4
2 先创建两个底层 RAID1-à>> 两个阵列 md11 和 md12.. 这是在 Raid1 下创建的
[root@laoyu ~]# mdadm -C -v /dev/md11 -l 1-n 2 /dev/sdf{1,2}
[root@laoyu ~]# mdadm -C -v /dev/md12 -l 1-n 2 /dev/sdf{3,4}
3 创建上层 RAID0,创建整列 md10
[root@laoyu ~]#mdadm -C -v /dev/md10 -l 0 -n 2 /dev/md{11,12} #这是在 raid0 下创建的
mdadm:array /dev/md10 started.
 
[root@laoyu ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4][raid1] [raid0]
md10 : active raid0 md12[1] md11[0]            #md10 中有 md12 和 md11—》》这是 raid0
    2115584 blocks super 1.2 512k chunks
md12 : active raid1sdf4[1] sdf3[0]              #md12 中有 sdf3 和 sdf4—–》》这是 raid1
    1059254 blocks super 1.2 [2/2] [UU]
md11 : active raid1 sdf2[1] sdf1[0]              #md11 中有 sdf1 和 sdf2—-》》这是 raid1
    1059222 blocks super 1.2 [2/2] [UU]
 
[root@laoyu~]# mdadm -Ds > /etc/mdadm.conf  #生成配置文件
[root@laoyu~]# cat !$
cat/etc/mdadm.conf
ARRAY/dev/md5 metadata=1.2 spares=1 name=laoyu:5UUID=5dfd47d2:a7dda97b:1499e9e7:b950b8ca
ARRAY/dev/md11 metadata=1.2 name=laoyu:11 UUID=046f9eb3:089b059e:f1166314:bece05da
ARRAY/dev/md12 metadata=1.2 name=laoyu:12 UUID=5c948c81:8cefadd6:08486120:ae771a6d
ARRAY/dev/md10 metadata=1.2 name=laoyu:10 UUID=b61c6f65:85ecaffb:2cb12f1f:d76bf506
 
附录
批量停止 — 大写的 S 是停止,小写 s 是扫描
[root@laoyu ~]# mdadm -Ss
mdadm: stopped /dev/md10
mdadm: stopped /dev/md12
mdadm: stopped /dev/md11
mdadm: stopped /dev/md5
# 在停止之前,要将所有的 raid 都卸载,不能挂载。
 
那么批量激活就是 -As
[root@laoyu ~]# mdadm -As
mdadm: /dev/md5 has been started with 3drives and 1 spare.
mdadm: /dev/md11 has been started with 2drives.
mdadm: /dev/md12 has been started with 2drives.
mdadm: /dev/md10 has been started with 2drives.
 
5):RAID 的删除 —- 要删除它的配置文件的
步骤
1:卸载已经挂载的 raid
2:停止设备
3: 删除配置文件
4:清除物理磁盘中的 raid 标识
举例
创建 raid:
[root@xuegod ~]#fdisk /dev/sda  #  sda5 和 sda6 分区自己创建一下
[root@xuegod ~]#mdadm -C /dev/md1 -l 1 -n 2/dev/sda5 /dev/sda6  #创建 raid
[root@xuegod ~]#mdadm -Ds > /etc/mdadm.conf    #生成配置文件。
 
开始删除:
[root@xuegod ~]#umount /dev/md1 /mnt    #如果,你已经挂载 raid,就先卸载。
[root@xuegod ~]#mdadm –Ss          #停止 raid 设备
[root@xuegod ~]#rm -rf /etc/mdadm.conf    #删除 raid 配置文件
[root@xuegod ~]#mdadm –misc –zero-superblock /dev/sda{5,6}  #清除物理磁盘中的 raid 标识
 
四:实验结束

目的: 在 Red Hat Linux V6.1 操作系统环境下建立软 RAID 盘, 实现磁盘阵列功能。
方法: 采用 Raidtools 的一系列工具 Mkraid、Raid0run、Raiddstop、Raidstart 等实现 RAID 功能。
结果: 解决了无配置 RAID 卡的 PC 机安装运行 Linux 操作系统的安全问题。
结论: 既有效降低了医院局域网络服务器的投资成本, 又保证了理想的网络服务功能。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120560.htm

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

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

如何在 Linux 上构建 RAID 10 阵列  http://www.linuxidc.com/Linux/2014-12/110318.htm

Debian 软 RAID 安装笔记 – 使用 mdadm 安装 RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm

常用 RAID 技术介绍以及示例演示(多图) http://www.linuxidc.com/Linux/2013-03/81481.htm

Linux 实现最常用的磁盘阵列 – RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm

RAID0+ 1 和 RAID5 的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htm

Linux 入门教程:磁盘阵列(RAID)http://www.linuxidc.com/Linux/2014-07/104444.htm

三:实验步骤
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)热备份也没有的.

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-07/120560p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计19052字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中