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

Linux下的RAID配置和管理

414次阅读
没有评论

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

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7995370
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新 SSL 证书系统、申请 godaddy 的 APIKEY 公司之前花钱购买的 ssl 证书快...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...