•常见raid原理
•raid卡
•配置raid
•删除raid

实验需要添加5块硬盘
sda , b ,c,d,e,f
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID(使用硬件阵列卡)。

raid0:

  1. RAID-0 :striping(条带模式),至少需要两块磁盘,做RAID分区的大小最好是相同的(可以充分发挥并发优势);数据分散存储于不同的磁盘上,在读写的时候可以实现并发,所以相对其读写性能最好;但是没有容错功能,任何一个磁盘的损坏将损坏全部数据;磁盘利用率为100%。

  2. RAID-1 :mirroring(镜像卷),至少需要两块硬盘,raid大小等于两个raid分区中最小的容量(最好将分区大小分为一样),数据有冗余,在存储时同时写入两块硬盘,实现了数据备份;
    磁盘利用率为50%,即2块100G的磁盘构成RAID1只能提供100G的可用空间。

RAID-5 :需要三块或以上硬盘,可以提供热备盘实现故障的恢复;只损坏一块,没有问题。但如果同时损坏两块磁盘,则数据将都会损坏。 空间利用率: (n-1)/n 2/3

1+1 =2
是用相对简单的异或逻辑运算(相同为0,相异为1)
A值 B值 Xor结果
0 0 0
1 0 1
0 1 1
1 1 0

管理软raid工具mdadm
mdadm 参数:
命令常用参数如下:

-C或--creat 建立一个新阵列 -r 移除设备
-A 激活磁盘阵列 -l 或--level= 设定磁盘阵列的级别
-D或--detail 打印阵列设备的详细信息 -n或--raid-devices= 指定阵列成员(分区/磁盘)的数量
-s或--scan 扫描配置文件或/proc/mdstat得到阵列缺失信息 -x或--spare-devicds= 指定阵列中备用盘的数量
-f 将设备状态定为故障 -c或--chunk= 设定阵列的块chunk大小 ,单位为KB
-a或--add 添加设备到阵列 -G或--grow 改变阵列大小或形态
-v --verbose 显示详细信息

热备份盘(hot spare or hot standby driver):为了加强容错的功能以及使系统在磁盘故障的情况下能迅速的重建数据,以维持系统的性能,一般的磁盘阵列系统都可使用热备份功能。

Chunk (块): raid存储数据时每个数据段的大小。 4K,64K
若chunk过大,可能一块磁盘上的带区空间就可以满足大部分的I/O操作的数据的读写只局限与一块硬盘上,这便不能充分发挥Raid并发的优势;如果chunk设置过小,任何很小的I/O指令都可能引发大量的读写操作,不能良好的发挥并发性能,占用过多的控制器总线带宽,也影响了阵列的整体性能。所以,在创建带区时,我们应该根据实际应用的需要,合理的选择带区的大小

RAID0
例1、
1)创建RAID0
2)导出阵列配置文件
3)格式化并挂载到指定目录
4)修改/etc/fstab永久挂载
环境:添加一个sdc硬盘,分两个1G的主分区。sdc1和sdc2
[root@localhost ~]# fdisk /dev/sdc
[root@localhost ~]# ll /dev/sdc*
brw-rw---- 1 root disk 8, 16 Feb 25 09:10 /dev/sdc
brw-rw---- 1 root disk 8, 17 Feb 25 09:10 /dev/sdc1
brw-rw---- 1 root disk 8, 18 Feb 25 09:10 /dev/sdc2

[root@localhost ~]# yum -y install mdadm ##安装mdadm管理工具
[root@localhost ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdc{1,2}
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

查看阵列信息
[root@localhost ~]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=localhost.cn:0 UUID=c02009dd:fc28f287:fafca47a:49b2bd81

生成配置文件
[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf

[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Feb 25 09:14:14 2016
Raid Level : raid0
Array Size : 2095104 (2046.34 MiB 2145.39 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Thu Feb 25 09:14:14 2016State : clean

Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

 Chunk Size : 512KName : localhost.cn:0  (local to host localhost.cn)UUID : c02009dd:fc28f287:fafca47a:49b2bd81Events : 0Number   Major   Minor   RaidDevice State0       8       17        0      active sync   /dev/sdc11       8       18        1      active sync   /dev/sdc2

对创建的RAID0创建分区
[root@localhost ~]# fdisk /dev/md0
[root@localhost ~]# ll /dev/md0*
brw-rw---- 1 root disk 9, 0 Feb 25 09:19 /dev/md0
brw-rw---- 1 root disk 259, 1 Feb 25 09:19 /dev/md0p1

格式化分区并挂载
[root@localhost ~]# mkfs.xfs /dev/md0p1
[root@localhost ~]# mkdir /raid0
[root@localhost ~]# mount /dev/md0p1 /raid0/

永久挂载
[root@localhost ~]# blkid | grep md0p1
/dev/md0p1: UUID="a25acfcc-9e33-474a-98b8-a0c07fee063e" TYPE="xfs"
[root@localhost ~]# echo "UUID=a25acfcc-9e33-474a-98b8-a0c07fee063e /raid0 xfs defaults 0 0" >> /etc/fstab

建立RAID1
1)创建RAID1
2)添加1G热备盘
3)模拟磁盘故障,自动顶替故障盘
4)卸载阵列

环境:创建分区:sdd1,sdd2,sdd3 大小为1G
[root@localhost ~]# fdisk /dev/sdd
[root@localhost ~]# ll /dev/sdd*
brw-rw---- 1 root disk 8, 32 Feb 26 07:35 /dev/sdd
brw-rw---- 1 root disk 8, 33 Feb 26 07:35 /dev/sdd1
brw-rw---- 1 root disk 8, 34 Feb 26 07:35 /dev/sdd2
brw-rw---- 1 root disk 8, 35 Feb 26 07:35 /dev/sdd3

创建RAID1
[root@localhost ~]# mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sdd{1,2,3}
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 1047552K
Continue creating array?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.

查看阵列信息
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd32 sdd2[1] sdd1[0]
1047552 blocks super 1.2 [2/2] [UU]

unused devices: <none>

生成配置文件
[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf
[root@localhost ~]# cat !$
cat /etc/mdadm.conf
ARRAY /dev/md1 metadata=1.2 spares=1 name=localhost.cn:1 UUID=9b5e920c:a637e13a:9bfc64ac:74998dc0

使用RAID1
创建分区、格式化、挂载
[root@localhost ~]# fdisk /dev/md1
[root@localhost ~]# mkfs.xfs /dev/md1p1
[root@localhost ~]# mkdir /raid1
[root@localhost ~]# mount /dev/md1p1 /raid1/
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 10G 3.2G 6.9G 32% /
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 84K 2.0G 1% /dev/shm
tmpfs 2.0G 9.0M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sr0 3.8G 3.8G 0 100% /mnt
/dev/sda1 197M 125M 72M 64% /boot
tmpfs 394M 16K 394M 1% /run/user/42
tmpfs 394M 0 394M 0% /run/user/0
/dev/md1p1 1019M 33M 987M 4% /raid1

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd32 sdd2[1] sdd1[0]
1047552 blocks super 1.2 [2/2] [UU]

unused devices: <none>
#md1:表示此阵列的设备名
#active:表示此阵列正常读写
#sdd3[2][S]:表示是这个阵列第3个设备且是备用盘,sdd2[1]是此阵列第2个设备,sdd1[0]是此阵列第1个设备

11047552 blocks:表示此阵列的大小,以块为单位(1G)

#【2/2】:表示阵列中有2个磁盘,并且2个都在正常运行

[root@localhost ~]# cat /etc/mdadm.conf
ARRAY /dev/md1 metadata=1.2 spares=1 name=localhost.cn:1 UUID=9b5e920c:a637e13a:9bfc64ac:74998dc0

#spares=1表示:有热备盘1个

#下面模拟RAID1中/dev/sdd1出现故障,观察/dev/sdd3备用盘能否自动顶替故障盘
#将/dev/sdd1指定为故障状态,cat /proc/mdstat查看阵列状态
#稍待片刻阵列重新重建成功,发现/dev/sdd3后的[S]消失了,成功顶替故障盘
#移除故障盘/dev/sdd1

[root@localhost ~]# watch -n 1 cat /proc/mdstat

[root@localhost ~]# mdadm -f /dev/md1 /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md1

移动损坏的设备:

[root@localhost ~]# mdadm -r /dev/md1 /dev/sdd1
mdadm: hot removed /dev/sdd1 from /dev/md1

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd3[2] sdd2[1]
1047552 blocks super 1.2 [2/2] [UU]

重新生成配置文件
[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf
[root@localhost ~]# cat !$
cat /etc/mdadm.conf
ARRAY /dev/md1 metadata=1.2 name=localhost.cn:1 UUID=9b5e920c:a637e13a:9bfc64ac:74998dc0

建立RAID5
1)创建RAID5
2)停止阵列,重新激活阵列
3)再添加新的1G热备盘,扩展阵列容量,从3磁盘个扩展到4个
实验环境: sde1,sde2,sde3,sde5,sde6 个主分区 每个1G

创建分区
[root@localhost ~]# fdisk /dev/sde
[root@localhost ~]# ll /dev/sde*
brw-rw---- 1 root disk 8, 64 Feb 26 08:04 /dev/sde
brw-rw---- 1 root disk 8, 65 Feb 26 08:04 /dev/sde1
brw-rw---- 1 root disk 8, 66 Feb 26 08:04 /dev/sde2
brw-rw---- 1 root disk 8, 67 Feb 26 08:04 /dev/sde3
brw-rw---- 1 root disk 8, 69 Feb 26 08:04 /dev/sde5
brw-rw---- 1 root disk 8, 70 Feb 26 08:04 /dev/sde6
brw-rw---- 1 root disk 8, 71 Feb 26 08:04 /dev/sde7
brw-rw---- 1 root disk 8, 72 Feb 26 08:04 /dev/sde8

创建RAID5
[root@localhost ~]# mdadm -C -v /dev/md5 -l 5 -n 3 -c 32 -x 1 /dev/sde{1,2,5,6}

生成配置文件
[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf
[root@localhost ~]# cat !$
cat /etc/mdadm.conf
ARRAY /dev/md1 metadata=1.2 name=localhost.cn:1 UUID=9b5e920c:a637e13a:9bfc64ac:74998dc0
ARRAY /dev/md5 metadata=1.2 spares=1 name=localhost.cn:5 UUID=1ac1f8c8:d4829dbb:a47fa5e2:414231f1

停止md5
停止之前先生成配置文件
[root@localhost ~]# mdadm -S /dev/md5
mdadm: stopped /dev/md5

激活:
[root@localhost ~]# mdadm -As

#再新添加一块硬盘分区/dev/sde7,希望扩展RAID5阵列到4块硬盘

[root@localhost ~]# mdadm -a /dev/md5 /dev/sde7
mdadm: added /dev/sde7

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md5 : active raid5 sde75 sde1[0] sde63 sde5[4] sde2[1]
2095104 blocks super 1.2 level 5, 32k chunk, algorithm 2 [3/3] [UUU]

md1 : active raid1 sdc3[2] sdc2[1]
1047552 blocks super 1.2 [2/2] [UU]

unused devices: <none>

[root@localhost ~]# mdadm -G /dev/md5 -n 4
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md5 : active raid5 sde7[5] sde1[0] sde63 sde5[4] sde2[1]
3142656 blocks super 1.2 level 5, 32k chunk, algorithm 2 [4/4] [UUUU]

md1 : active raid1 sdc3[2] sdc2[1]
1047552 blocks super 1.2 [2/2] [UU]

重新生成配置文件
[root@localhost ~]# mdadm -Ds >/etc/mdadm.conf

了解:
建立RAID 1+0双层架构的方法
方法,先创建raid1,再使用创建的raid1设备创建raid0
[root@localhost ~]# fdisk /dev/sdf
[root@localhost ~]# ll /dev/sdf*
brw-rw---- 1 root disk 8, 80 Feb 26 08:39 /dev/sdf
brw-rw---- 1 root disk 8, 81 Feb 26 08:39 /dev/sdf1
brw-rw---- 1 root disk 8, 82 Feb 26 08:39 /dev/sdf2
brw-rw---- 1 root disk 8, 83 Feb 26 08:39 /dev/sdf3
brw-rw---- 1 root disk 8, 84 Feb 26 08:39 /dev/sdf4
brw-rw---- 1 root disk 8, 85 Feb 26 08:39 /dev/sdf5

首先、创建2个底层的raid1
[root@localhost ~]# mdadm -C -v /dev/md11 -l 1 -n 2 /dev/sdf{1,2}
[root@localhost ~]# mdadm -C -v /dev/md12 -l 1 -n 2 /dev/sdf{3,5}

再创建上层的raid0
[root@localhost ~]# mdadm -C -v /dev/md10 -l 0 -n 2 /dev/md1{1,2}
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.

生成配置文件
[root@localhost ~]# cat !$
cat /etc/mdadm.conf
ARRAY /dev/md1 metadata=1.2 name=localhost.cn:1 UUID=9b5e920c:a637e13a:9bfc64ac:74998dc0
ARRAY /dev/md5 metadata=1.2 spares=1 name=localhost.cn:5 UUID=1ac1f8c8:d4829dbb:a47fa5e2:414231f1
ARRAY /dev/md11 metadata=1.2 name=localhost.cn:11 UUID=c80e5768:eca7d5fb:6a576707:06884d89
ARRAY /dev/md12 metadata=1.2 name=localhost.cn:12 UUID=46da12ab:4b6a9a71:16d2715b:18e52724
ARRAY /dev/md10 metadata=1.2 name=localhost.cn:10 UUID=632a0efc:66e6847c:615ee844:a04ab1f3

关闭所有的RAID
卸载raid的挂载
[root@localhost ~]# mdadm -Ss

全部激活
[root@localhost ~]# mdadm -As

mdadm删除软raid的方法
首先,创建一个raid1
[root@localhost ~]# mdadm -C /dev/md3 -l 1 -n 2 /dev/sdc{1,2}

开始删除raid
[root@localhost ~]# umount /dev/md3p1
[root@localhost ~]# mdadm -Ss

删除配置文件
[root@localhost ~]# rm -rf /etc/mdadm.conf

清除物理磁盘中的raid标识
[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdc1
[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdc2

参数说明:
mdadm --misc options... devices
report on or modify various md related devices. #报告或修改各种MD相关的设备
--zero-superblock : erase the MD superblock from a device. #擦除设备中的MD超级块。

转载于:https://blog.51cto.com/11638205/2048962

raid0、1、5、10创建相关推荐

  1. RAID 5及RAID 10创建过程

    RAID 5及RAID 10创建 一.RAID 5 二.RAID 10 一.RAID 5 (1)首先在虚拟机关闭的状态下,添加4块40G的硬盘(新添硬盘的大小可以随意,但四块容量必须相同) 使用&qu ...

  2. myeclipse 10创建maven项目

    创建maven项目,这里使用的不是myeclipse自带的maven插件,而是自己 又一次安装的插件,就不啰嗦了,直接上图吧 1.先是安装maven插件,将maven插件解压把它放进E:\xuan\M ...

  3. ubuntu20.10创建QT应用程序快捷方式 Terminal中输入命令直接打开QtCreator

    在Terminal中直接输入命令就能打开QtCreator, i.e. ~$ qtcreator 就可以打开Qt Creator了. 想完成这个功能的原因是,一般在Linux下打命令比较方便,而师兄给 ...

  4. [Swift通天遁地]三、手势与图表-(10)创建包含圆点、方形、三角形图标的散点图表...

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  5. [原创]Devexpress XtraReports 系列 10 创建标签报表

    今天这篇是Dx Reports 基础初级系列的最后一篇了.以后如果有什么高级的应用,应该另开一个中级使用系列. 昨天发表了Devexpress XtraReports系列第九篇[原创]Devexpre ...

  6. (MoMoCMS教程10)创建留言板

    企业网站很多时候需要游客留言,那么创建1个好用的留言板是必须的, 下面步骤: 还是老规矩,创建页面 该页面需要加载系统自带的留言模块, 前台显示如下, 我们试着来发表一个留言,留言成功之后,会在后台显 ...

  7. Windows 10创建用户

    文章目录 右键,选择计算机管理 点击本地用户和组 点击用户 空白处右键,选择新用户 输入用户信息,点击创建 创建完成后还会显示提示框,其实已经创建成功了,点击关闭就可以 右键,选择计算机管理 点击本地 ...

  8. ubuntu18.10创建微信桌面快捷图标

    前言:假设已经安装好了Ubuntu版的微信,安装教程在此不述. 下载地址:https://github.com/geeeeeeeeek/electronic-wechat ①网上随便百度一个微信的图标 ...

  9. 3.10 创建教学管理数据库的数据表

    学生表 教师表 系别表 选课表 课程表 授课表 学号 10 教师编号 4 系别ID 4 选课ID 课程号 4 授课ID 姓名 8 姓名 8 系别名称 8 学号 10 课程名称 10 课程号 4 性别 ...

最新文章

  1. 军团要塞2正版服务器,专用服务器配置 - Official TF2 Wiki | Official Team Fortress Wiki
  2. git phpstorm 配置
  3. hashtable源码解析
  4. [EasyTao(道)系列文章之一]太极之道
  5. oracle 01192,万分火急:ora-01503 ora-01192
  6. wxWidgets:显示和测试 wxDC 功能
  7. R 语言 相关入门资料
  8. Epson C1100报错“Service Req E511”的处理方法
  9. Spring Boot 如何组装一个树结构的数据?
  10. Struts2 返回 json 格式数据
  11. “有 些 事 当 了 程 序 员 才 懂”
  12. jquery中ajax的使用例子($.ajax())
  13. 计算机一级如何添加对角线,如何在表格中添加对角线
  14. 彻底删除微软拼音输入法
  15. oracle的同义词删不掉,oracle 删除同义词
  16. 四川速匠:抖音的用户类型和用户群体有哪些?
  17. excel php 数字科学计数_PHP导出excel时数字变为科学计数的解决方法
  18. 使用RPA有什么好处
  19. AlphaFold2预测蛋白、肽结构网站简易版教程
  20. STM32 PWM控制舵机——原理、接线、源程序

热门文章

  1. error: device not found - waiting for device -
  2. 一起谈.NET技术,也玩MVC3.0 Razor自定义视图引擎来修改默认的Views目录结构
  3. 一起谈.NET技术,.NET Framework源码研究系列之---万法归宗Object
  4. 统一用户及权限管理系统
  5. React-native 官方 demo
  6. 堆栈的应用——用JavaScript描述数据结构
  7. 字符串留用与字符串池
  8. java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
  9. 集中化监控SQL Server数据库
  10. pagehelper分页