#RAID卷 独立磁盘冗余阵列
RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。
数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。

RAID技术的两大特点:一是速度、二是安全。

Raid+ISCSI

RAID等级  最少硬盘  最大容错   可用容量   读取性能   写入性能        安全性                           目的                          应用产业
0        2      0      n      n       n              一个硬盘异常,               追求最大容量                  3D产业实时渲染、

                                                                                                                      全部硬盘都会异常                 速度                          视频剪接高速缓存 
   
1            2      n-1          1                 n                  1                最高,一个正      追求最大                        个人、企业备份
                                 常即可          安全性

5        3                  1                  n-1             n-1               n-1                     高                          追求最大容量           个 人、企业备份
                                            、最小预算

10                  4                 n/2                 n/2             n                   n/2             安全性高                     综合RAID 0/1优点    大型数据库、服务器
                                            ,理论速度较快

检查磁盘是否处于raid组中。
# mdadm --examine /dev/sdb /dev/sdc /dev/sdd /dev/sde

开始创建RAID0
# mdadm -C /dev/md0 -ayes -l0 -n2 /dev/sd[b,c]1
# cat /proc/mdstat
# mdadm -D /dev/md0
创建/etc/mdadm.conf
# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf
# mdadm –Ds >> /etc/mdadm.conf
# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1
ARRAY /dev/md0 level=raid0 num-devices=2 UUID=5160ea40:cb2b44f1:c650d2ef:0db09fd0

开始创建RAID1
# mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[d,e]1
添加raid1 到RAID 配置文件/etc/mdadm.conf 并修改
# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf
# mdadm –Ds >> /etc/mdadm.conf

开始创建RAID5
# mdadm -C /dev/md5 -ayes -l5 –n3 -x1 /dev/sd[f,g,h,i]1
添加raid5 到RAID配置文件/etc/mdadm.conf 并修改
# echo DEVICE /dev/sd{f,g,h,i}1 >> /etc/mdadm.conf
# mdadm –Ds >> /etc/mdadm.conf
# mdadm /dev/md5 -a /dev/sdh1 #增加一块备份盘
# mdadm -G /dev/md5 -n4 #将备份盘转为数据盘
注:扩容后增加文件系统
# resize2fs /dev/md5
修改RAID 配置文件/etc/mdadm.conf

创建raid10
# mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[c-d]1
# mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[e-f]1
# cat /proc/mdstat
# mdadm -C /dev/md10 -ayes -l0 -n2 /dev/md1 /dev/md2

创建raid6
# mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[b-e]1
# mdadm --add /dev/md0 /dev/sdf1 #增加备份盘
mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4 --spare-devices=1 /dev/sd[b-f]

参数说明:
--create //表示要创建raid
--auto=yes /dev/md0 //新建立的软件磁盘阵列设备为md0,md序号可以为0-9
--level=5 //磁盘阵列的等级,这里表示创建是的raid5
--raid-devices //添加作为磁盘阵列用的磁盘的块数
--spare-devices //添加作为预备(spare)磁盘的块数
/dev/sd[b-f] //磁盘阵列所使用的设备,还可写成 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
mdadm -C /dev/md0 -a yes -l5 -n4 -x1 /dev/sd[b-f] #此为上面命令的另一种写法。四块硬盘创建raid5
cat /proc/mdstat #查看创建进程
mdadm --detail /dev/md0 #查看详细信息
mdadm -Q /dev/md0 #查看整体概要信息
mkfs.ext4 /dev/md0 #创建文件系统
mkdir /mnt/raid5 #创建挂载点
mount /dev/md0 /mnt/raid5/ #挂载验证文件系统
mdadm --detail --scan >> /etc/mdadm.conf #提取UUID和配置文件内容
vim /etc/mdadm.conf #必须这么改,否则md0重启后变为md127
ARRAY /dev/md/md0 metadata=1.2 spares=1 name=localhost.localdomain:0 UUID=81ab08a0:3af1700c:5bdd7f83:bf542889
vim /etc/fstab #修改自动挂载
mdadm --add /dev/md0 /dev/sdg
mdadm --manage /dev/md0 --add /dev/sdg #增加新硬盘
mdadm --grow /dev/md0 -n5 #增加新硬盘到raid5中
cat /proc/mdstat #查看新增硬盘sdg
resize2fs -f /dev/md0 #重新调整文件系统的大小
df -Th #查看当前硬盘大小状态
mdadm --manage /dev/md0 --fail /dev/sdd #模拟硬盘失效
mdadm --detail /dev/md0 #查看raid5重建过程。
cat /proc/mdstat #查看raid5重建过过程
ls /mnt/raid5/ #差可能raid5仍然可用
mdadm --manage /dev/md0 --remove /dev/sdd #移除损坏的硬盘
mdadm --manage /dev/md0 --add /dev/sdg #增新的硬盘
mdadm --detail /dev/md0 #查看raid5目前状态

----------------关闭raid----------------------
umount /dev/md0
vim /etc/fstab #注释自动挂在
vim /etc/mdadm.conf #注释配置文件
mdadm --stop /dev/md0 #停止raid
mdadm --misc --zero-superblock /dev/sd[b-f] #释放raid内硬盘
RAID0 和 RAID1实同于RAID5
RAID0:并行读写数据
RAID1:镜像磁盘

****************ISCSI存储服务器*****************
服务端:底层LVM+ISCSI服务
客户端:ISCSI登录+LVM
服务端:
yum install scsi-target-utils -y
fdisk -l
fdisk -cu /dev/sdb
partx -a /dev/sdb
pvcreate /dev/sdb1 /dev/sdb2
pvdisplay
pvs
vgcreate vg00 /dev/sdb1
vgdisplay
vgs
lvcreate -L 500M -n lv00 vg00
lvdisplay
lvs
yum install iscsi* -y
yum install perl* -y
vim /etc/tgt/targets.conf
<target iqn.2016-08.com.example:lv00>
backing-store /dev/vg00/lv00
initiator-address 192.168.56.201
</target>
注:
Target
的命名在同一子网内应该是唯一的,标准命名方式为:
iqn.yyyy-mm.<reversed domain name>[:identifier]
其中:iqn:表示“iSCSI Qualified Name”,简称iqn。
yyyy-mm:表示年份-月份。这里是2011-08。
reversed domain name:表示倒过来的域名,这里是com.example。
identifier:表示识别代码,这里是disk
backing-store用于指定存储设备,一般指非实际的物理磁盘,如LVM卷、某个分区、raid磁盘阵列。
initiator-address 地址 用于将target指派给指定的客户机使用。
/etc/init.d/tgtd start
netstat -anput | grep 3260
iptables -F
/etc/init.d/iptables save
tgtadm --lld iscsi --op show --mode target
使用tgtadm工具创建ISCSI对象时,主要命令选项如下所述:
-L,--lld:指定驱动类型,如“-L iscsi”表示ISCSI存储。
-o,--op:指定操作类型,如“-o new”表示创建,“-o delete”表示删除,“-o show”表示查看信息。
-m,--mode:指定管理目标,如“-m target”表示ISCSI对象。
-t,--tid:指定对象ID号,如“-t 1”表示第一个对象。
-T,--targetname:指定ISCSI对象的名称。

客户端:
yum install iscsi-initiator-utils lsscsi -y
/etc/init.d/iscsi start
iscsiadm -m discovery -t st -p 192.168.56.200
iscsiadm -m node -T iqn.2016-08.com.example:lv00 -p 192.168.56.200 -l
ll /dev/disk/by-path/
/etc/init.d/iscsi status
dmesg | tail
开机自动登录
# iscsiadm -m node –T iqn.1997-05.com.test:raid -p 192.168.1.1:3260 --op update -n node.startup -v
automatic
fdisk -cu /dev/sdb
partx -a /dev/sdb
pvcreate /dev/sdb1
vgcreate vg-data /dev/sdb1
lvcreate -L 200M -n lv-data vg-data
mkfs.ext4 /dev/vg-data/lv-data
mount /dev/vg-data/lv-data /data/
df -Th
echo "it is a test file" >> /data/test.txt
blkid
vim /etc/fstab

扩容raid磁盘阵列:

显示磁盘阵列的组成情况,4个块设备组成,:

1
[root@svr /]# cat /proc/mdstat

把/dev/sdg增加进阵列/dev/md0:

1
[root@svr /]#mdadm --add /dev/md0 /dev/sdg

把raid5阵列/dev/md0修改为5个块设备:

1
[root@svr /]#mdadm --grow/dev/md0 -n5

再显示一下磁盘阵列的组成情况,现在/dev/md1是6个块设备组成,完成扩容,还需要7.7分钟。

1
[root@svr /]#cat /proc/mdstat

等待扩容完成.....

执行下列命令:

1
[root@svr /]#resize2fs -f /dev/md0

验证是否已经扩大容量:

1
[root@svr /]#df -hT

验证预备磁盘是否能正常工作:

模拟RAID5中一块磁盘损坏,检验spare磁盘的功能(raid5中允许一块磁盘损坏,我们所设置的那1块spare磁盘会立即替代损坏的磁盘,进行RAID的重建,保障数据的安全):

先查看一下/dev/md0当前的状态

1
2
[root@svr /]#mdadm --detail /dev/md0
[root@svr /]#cat /proc/mdstat

使用以下命令设置磁盘sdd成为出错状态

1
[root@svr ~]#mdadm --manage /dev/md0 --fail /dev/sdd

接下来再来查看一下/dev/md0当前的状态

1
2
[root@svr /]#mdadm --detail /dev/md0
[root@svr /]#cat /proc/mdstat

进入到RAID挂载的目录raid5目录下,发现raid还可以使用,说明预备磁盘工作正常。

1
2
3
[root@svr /]#cd /raid5
[root@svr /]#touch 1.txt
[root@svr /]#

将出错的磁盘删除并加入新的磁盘:

先删除损坏的磁盘sdd,命令如下:

1
[root@svr raid5]#mdadm --manage /dev/md0    --remove/dev/sdd

再添加一块新的磁盘作为spare磁盘,命令如下:

1
[root@svr raid5]#mdadm --manage /dev/md0 --add /dev/sdg

OK,再来执行以下命令查看一下:

1
[root@svr /]#mdadm  --detail /dev/md0

关闭软件RAID的方法:

当你不再需要已经设置的RAID的时候,可以用以下方法关闭RAID:

1、卸载/dev/md0,并且删除或注释掉/etc/fstab文件中的配置:

1
2
3
[root@svr ~]#umount /dev/md0
[root@svr ~]#vi /etc/fstab
#/dev/md0        /mnt/raid5        ext4        defaults            00

2、注释掉或删除/etc/mdadm.conf中的设置

1
2
[root@svr ~]#vi /etc/mdadm.conf
#ARRAY /dev/md0 UUID=d58ed27d:00ce5cf5:b26ed1e9:879d0805

3、停止raid设备

1
[root@svr ~]#mdadm --stop/dev/md0

4)删除raid中的所有磁盘

1
[root@svr ~]#mdadm --misc --zero-superblock /dev/sd[b-f]

这时候raid中的磁盘就删除了,重启后也不会有raid了。

RAID0和RAID1实同于RAID5

RAID0:并行读写数据(带区卷)

RAID1:镜像磁盘阵列(镜像卷)

raid卷性能测试的更多相关文章

  1. Raid卷详解

    #RAID卷 独立磁盘冗余阵列RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术.组成磁盘阵列的不同方式成为R ...

  2. [转]在 Linux 下使用 RAID

    转自:http://www.linuxidc.com/Linux/2015-08/122191.htm RAID 的意思是廉价磁盘冗余阵列(Redundant Array of Inexpensive ...

  3. RAID磁盘阵列笔记

    磁盘阵列RAID是服务器维护的必备知识,以前不太关心服务器维护方面的知识.目前要负责维护机房里的几台服务器,所以要关注这方面的内容. 磁盘阵列是用多块独立磁盘组成,提供两个方面的作用:数据安全冗余 和 ...

  4. 【Linux】系统 之 RAID

    本人从事DBA相关的工作,最近遇到了IO抖动伴随shread running抖动的情况,主机宕机重启后备库及下游解析binlog出现损坏的案例,向一些有经验的同事咨询学习,其中最大的嫌疑是:raid卡 ...

  5. 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID10

    RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征.基本原理.关键技术.各种等级和发展现状进 ...

  6. 【转】RAID 技术发展综述

    原文地址:https://blog.csdn.net/liuaigui/article/details/4581970   摘要 :现代企业信息化水平不断提高,数据已经取代计算成为了信息计算的中心.这 ...

  7. LVM基础详细说明及动态扩容lvm逻辑卷的操作记录

    LVM概念:---------------------------------------------------------------------------------------------- ...

  8. 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100

    RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征.基本原理.关键技术.各种等级和发展现状进 ...

  9. HBA 卡和RAID 卡

    HBA卡: 只从HBA的英文解释HOST BUS ADAPTER(主机总线适配器)就能看出来,他肯定是给主机用的,一般HBA就是给主机插上后,给主机扩展出更多的接口,来连接外部的设备.大多数讲到HBA ...

随机推荐

  1. Installation Manager1.8安装

    1.下载地址: https://www-01.ibm.com/marketing/iwm/iwm/web/download.do?S_PKG=500005026&source=swerpws- ...

  2. 电池管理系统(BMS)

    概述 电池管理系统(BMS)为一套保护动力电池使用安全的控制系统,时刻监控电池的使用状态,通过必要措施缓解电池组的不一致性,为新能源车辆的使用安全提供保障. 经纬恒润在控制系统开发方面拥有雄厚的实力和 ...

  3. jmap与jstat工具实战分析

    在上一节[https://www.cnblogs.com/webor2006/p/10662363.html]最后其实是抛出了infoq关于元空间介绍的文章中所涉及到JDK自带的一些工具的使用,这次咱 ...

  4. BCB 如何让Application收到SendMessage发送来的消息

    一般,都是通过添加一个ApplicationEvent组件就可以接收到PostMessage发来的消息,那么如何收到SendMessage发来的消息呢? https://stackoverflow.c ...

  5. [课本10.1.4]JDBC数据库连接池- C3P0数据源--通过构造方法创建数据源对象--通过配置文件创建数据源对象[推荐]

    JDBC- C3P0数据源 /*重点提醒*/ 连接数据库的较低的jar包版本会与较高版本的mysql版本有冲突; 通过把mysql 8.0的版本降到5.5, jar包仍使用较高的 mysql-conn ...

  6. JDK源码那些事儿之PriorityBlockingQueue

    今天继续说一说阻塞队列的实现,今天的主角就是优先级阻塞队列PriorityBlockingQueue,从命名上看觉得应该是有序的,毕竟是优先级队列,那么实际上是什么情况,我们一起看下其内部实现,提前说 ...

  7. [CTSC2008]网络管理Network

    题意 M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构由N个路由器和N-1条高速光 ...

  8. POJ-2065-SETI(高斯消元)

    链接: https://vjudge.net/problem/POJ-2065 题意: For some years, quite a lot of work has been put into li ...

  9. Python爬虫:BeautifulSoup用法总结

    原文 BeautifulSoup是一个解析HTML或XML文件的第三方库.HTML或XML文件可以用DOM模型解释.一般包含三种节点: 元素节点 - 通常指HTML 或 XML的标签 文本节点 - 标 ...

  10. JQuery制作网页——表单验证

      1.  表单验证:减轻服务器的压力.保证输入的数据符合要求: 2.  常用的表单验证:日期格式.表单元素是否为空.用户名和密码.E-mail地址.身份证号码等: 3.  表单验证的思路: 1.   ...