#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卷详解的更多相关文章

  1. linux基础-磁盘阵列(RAID)实例详解

    磁盘阵列(RAID)实例详解 raid技术分类 软raid技术 硬raid技术 Raid和lvm的区别 为什么选择用raid RAID详解 RAID-0 RAID-1 RAID-5 Raid-10 R ...

  2. (转)CentOS 6下配置软RAID图文详解

    CentOS 6下配置软RAID图文详解 原文:http://blog.51cto.com/hujiangtao/1929620 一.RAID 简介 RAID 是英文Redundant Array o ...

  3. linux篇-Linux逻辑卷详解总结

    LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性. LVM将存储 ...

  4. kubernetes系列10—存储卷详解

    本文收录在容器技术学习系列文章总目录 1.认识存储卷 1.1 背景 默认情况下容器中的磁盘文件是非持久化的,容器中的磁盘的生命周期是短暂的,这就带来了一系列的问题:第一,当一个容器损坏之后,kubel ...

  5. Docker系列05—Docker 存储卷详解

    本文收录在容器技术学习系列文章总目录 1.存储卷介绍 1.1 背景 (1)docker 的 AFUS 分层文件系统 docker镜像由多个只读层叠加面成,启动容器时,docker会加载只读镜像层并在镜 ...

  6. RAID技术详解

    RAID:Redundant Array of Independent Disks 中文我们称为独立冗余磁盘阵列.基本上是见名知意.RAID的基本思想就是将多个容量较小且价格实惠的磁盘进行组合起来构成 ...

  7. lvs逻辑卷详解

    管理磁盘空间对系统管理员来说是一件重要的日常工作.一旦磁盘空间耗尽就需要进行一系列耗时而又复杂的任务,以提升磁盘分区中可用的磁盘空间.它也需要系统离线才能处理.通常这种任务会涉及到安装一个新的硬盘.引 ...

  8. RAID原理详解

    RAID 0(stripe,条带化存储):在RAID级别中最高的存储性能. 原理:是把连续的数据分散到多个磁盘上存取,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于他自己的那部分数据请求. ...

  9. megacli在线raid构建详解(转载自用)

    版权声明:本文为博主原创文章,未经博主允许不得转载,转载附上原文链接即可. https://blog.csdn.net/GX_1_11_real/article/details/83213959 ht ...

随机推荐

  1. Nowcoder 牛客练习赛23

    Preface 终于知道YKH他们为什么那么喜欢打牛客网了原来可以抽衣服 那天晚上有空就也去玩了下,刷了一波水TM的YKH就抽到了,我当然是没有了 题目偏水,好像都是1A的.才打了一个半小时,回家就直 ...

  2. JVM规范系列第4章:Class文件格式

    这一章节讲的是字节码的整个组成格式,读懂了这一章,就读懂了字节码文件.对于这一章的学习,我更推荐作为工具书去查找.最好是找一个最简单的Hello World例子,一个字节一个字节去分析其含义.在分析过 ...

  3. Linux 第八周实验 进程的切换和系统的一般执行过程

    姬梦馨 原创作品 <Linux内核分析>MOOC课程:http://mooc.study.163.com/course/USTC-1000029000 第八讲 进程的切换和系统的一般执行过 ...

  4. 实验--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用(杨光)

    使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 攥写人:杨光  学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程 ...

  5. 实训十二(stick的设定)

    上篇我们介绍到人物主角的设定,其实人物是有工具使的,那就是——stick小棍. 信息的获取.起始位置.长度的加载.边界的判断.位置.长度重置是需要我们主要考虑的问题 信息获取上考虑的使什么时候加载st ...

  6. C#JSON与XML转换

    C#JSON转XML 输入:[{\'name\': \'yancy\',\'value\': \'0\'},{\'name\': \'jieny\',\'value\': \'1\'}] string ...

  7. linux学习笔记【转】

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  8. 小学四则运算APP 第二次冲刺-第二天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的判断题功能界面的设置: activity_panduan_set.xml: < ...

  9. JAVA面对对象(四)——抽象类

    抽象类的作用类似“模板”,可以根据它的格式来修改.创建新的类:但是不能直接由抽象类创建对象只能通过抽象类派生出新的类,再由它来创建对象:抽象类的使用同样是单继承,即一个子类只能继承一个抽象类 抽象类的 ...

  10. ### The error may involve defaultParameterMap ### The error occurred while setting parameters

    Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty; bad SQL grammar [ ...