raid概述与CentOS7.4中raid5的搭建与测试
前言
一、raid的定义与作用
raid(独立冗余磁盘阵列)。raid技术通过把多个硬盘设备组合成一个容量更大的,安全性更好的磁盘阵列。把数据切割成许多区段后分别放在不同的物理磁盘上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理设备上,从而起到了非常好的数据冗余备份效果。缺点就是磁盘利用率低。
二、raid的分类
raid的分类目前来说至少有几十种,这里简单介绍一下最常见的四种,raid0,raid1,raid10,raid5。
1、RAID 0
RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。
2、RAID 1
RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%。
3、RAID0+1
RAID 0+1名称上我们便可以看出是RAID0与RAID1的结合体。在我们单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。也有一种叫法叫raid10.
4、RAID5:分布式奇偶校验的独立磁盘结构
它的奇偶校验码存在于所有磁盘上。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
总结:raid0大幅度提升了设备的读写性能,但不具备容错能力。raid1虽然十分注重数据安全,但磁盘利用率太低。raid5就是raid0和raid5的一种折中,既提升了磁盘读写能力,又有一定的容错能力,成本也低。raid10就是raid0和raid1的组合,大幅度提升读写能力,较强的容错能力,成本也较高。一般中小企业用raid5,大企业采用raid10。
这里主要介绍raid5的搭建与测试。主要内容:一、添加硬盘。二、对磁盘进行初始化设置。三、搭建raid5。四、raid5的测试。五、raid5的维护。六、mdadm命令总结。
Raid5的搭建
一、 首先添加四块硬盘
二、reboot重启并对磁盘进行初始化设置
reboot重启
三、搭建raid5
1,yum install -y
mdadm //安装madam
(madam是Linux下的raid管理工具)
2,mdadm -C /dev/md0
-ayes -l5 -n3 -x1 /dev/sd[b-e]1 //用sdb1,sdc1,sdd1,sde1四块磁盘其中3块创建raid5,名称为md0,另外一块作为热备份。
madam参数说明
-C --create 创建阵列;
-a --auto 同意创建设备,如不加此参数时必须先使用mknod 命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建;
-l --level 阵列模式,支持的阵列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath,
faulty, container;
-n
--raid-devices 阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
3,查看raid5状态
cat /proc/mdstat
mdadm -D /dev/md0
4,添加raid5到raid配置文件并做修改
echo 'DEVICE /dev/sd[b-e]1'
>>/etc/mdadm.conf
mdadm -Ds >>/etc/mdadm.conf
5,格式化磁盘阵列
mkfs.xfs /dev/md0
6,建立挂载点并挂载
mkdir /raid5
mount /dev/md0 /raid5/
7,将挂载写入开机启动项
vi /etc/fstab
四,测试raid5
1, 建立文件a.txt 和 b.txt
2, 模拟其中一块磁盘坏道,我选择让sdb1损坏,然后查看raid阵列信息情况,发现热备份磁盘sde1自动替换已损坏了的sdb1。并且资料无损失
3, 移除已损坏的磁盘,添加一块新硬盘作为热备份盘,并查看数据情况
mdadm /dev/md0 -r /dev/sdb1
注意:在实际中sdb1已经是另一块完好的硬盘了。不是说之前损坏的那块移除再添加就好了。
五,维护raid5
1, 向raid5中添加存储硬盘
mdadm /dev/md0 -a /dev/sdf1
由于默认是添加成热备盘,得把热备盘改为活动盘
mdadm /dev/md0 -G -n4 //-G改变raid中的活动盘的数量,一般和-n连用。-n用来指定raid中活动盘的数量。最好保证要有足够的热备盘添加。
查看状态,添加完成
2,查看文件系统发现总容量未变
此时需要对文件系统扩容
resize2fs /dev/md0 //resizefx适用于ext3,ext4等文件系统不适用于xfs文件系统
xfs_growfs /dev/md0 //xfs_growfs对xfs文件系统进行扩容
关于mdadm的相关参数汇总
-C --create 创建阵列;
-a --auto 同意创建设备,如不加此参数时必须先使用mknod 命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建;
-l --level 阵列模式,支持的阵列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty,
container;
-n
--raid-devices 阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
-x
热备盘数目
实例:mdadm -C /dev/md0 -ayes -l5 -n3 -x1
/dev/sd[b-e]1 //用sdb1,sdc1,sdd1,sde1四块磁盘其中3块创建raid5,名称为md0,另外一块作为热备份。
-D --detail 查看raid设备的详细信息
-f 使一块raid磁盘故障
-a 增加一块raid磁盘
-r 移除一块故障的raid磁盘
-s --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息
-S 停止raid磁盘阵列
实例:
mdadm -Ds >>/etc/mdadm.conf
mdadm /dev/md0 -f /dev/sdb1
mdadm /dev/md0 -r /dev/sdb1
mdadm /dev/md0 -a /dev/sdf1
mdadm /dev/md0 -G -n4 //-G改变raid中的活动盘的数量,一般和-n连用。-n用来指定raid中活动盘的数量。最好保证要有足够的热备盘添加。
参考阅读 http://www.cnblogs.com/mchina/p/linux-centos-disk-array-software_raid.html
raid概述与CentOS7.4中raid5的搭建与测试的更多相关文章
- fedora21 中lamp的搭建(测试没有问题)
LAMP Stands for Linux,Apache,MySQL and PHP. Most of the websites works with the above combination. T ...
- 在Android Studio中进行单元测试和UI测试
本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...
- 末学者笔记--Linux中RAID磁盘阵列及centos7启动过程
<一>RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便 ...
- RAID磁盘阵列及CentOS7系统启动流程(week2_day3)--技术流ken
RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便宜的磁盘,以硬件( ...
- RAID磁盘阵列及CentOS7系统启动流程
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意,,数据读取无影响.将数据切割成许多区段,分别存放在各个硬盘 ...
- RAID磁盘阵列及CentOS7启动流程
1. 磁盘阵列 1.1 RAID,磁盘阵列磁盘通过硬件和软件的形式组合成一个容量巨大的磁盘组,提升整个磁盘的系统效能:RAID常见类型: RAID类型 最低磁盘个数 空间利用率 各自的优缺点 级别 说 ...
- Linux创建RAID概述
Linux创建RAID RAID概述 RAID(Redundant Array of Independent Disk)虚拟存储系统 RAID即独立冗余磁盘阵列,其思想是将多块独立的磁盘按不同的方式组 ...
- 在 virtualbox 的 centos7 虚拟机中安装增强工具
在 virtualbox 的 centos7 虚拟机中安装增强工具 centos7 刚刚安装完成时,直接安装 virtualbox 增强工具会出错,需要先把 gcc / kernel-devel / ...
- Linux CentOS7系统中phpMyAdmin安装配置
今天介绍的是如何在Linux CentOS7系统中配置phpMyAdmin. 目录 环境准备 安装包 基本设置 网站预览 环境准备 linux centos7系统 ssh软件 php语言环境 mysq ...
随机推荐
- Nginx管理(一)
一.Nginx介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. 1.Nginx历史和特性 Nginx是由伊戈尔·赛索耶夫为俄罗斯 ...
- Android 第三方类库简单使用之EventBus
Android 第三方类库之EventBus 1 PS 工欲善其事必先利其器. Eventbus也是一款在开发中常用的利器 这篇也对EventBus的简单介绍和使用,与之前个xutils介绍的级别一样 ...
- 【SQL Server 2012】按倒序存储“分组统计”结果的临时表到新建表
程序预先说明: 本文访问的数据库是基于存有RDF三元组的开源数据库Localyago修改的库,其中只有一个表,表中有五个属性:主语subject.谓语predict.宾语object.主语的编号sub ...
- apache poi根据模板导出excel
需要预先新建编辑好一个excel文件,设置好样式. 编辑好输出的数据,根据excel坐标一一对应. 支持列表数据输出,列表中列合并. 代码如下: package com.icourt.util; im ...
- ZT 头文件包含其实是一想很烦琐的工作 第一个原则应该是,如果可以不包含头文件
当出现访问类的函数或者需要确定类大小的时候,才需要用头文件(使用其类定义) http://blog.csdn.net/clever101/article/details/4751717 看到这个 ...
- Java程序员面试题集2
51.类ExampleA 继承Exception,类ExampleB 继承ExampleA. 有如下代码片断: try{ throw new ExampleB("b") }catc ...
- 如何修改Fiori Launchpad里Tile计数调用的时间间隔
Fiori launchpad里的Tile上有一个数字,例如下图My Leads的例子:每隔指定的时间间隔,会向后台发起一次数据请求,读取当前Lead的个数. 这个请求可以在Chrome Develo ...
- 二维数组展示到DataGridView(c#)
窗体程序中二维数组展示到DataGridView public void TwoDArrayShowINDatagridview(string[,] arr) { DataTable dt = new ...
- Android4.4 ContentResolver查询图片无效 及 图库删除 添加图片后,ContentResolver不更新的问题解决
问题背景: 參考链接 做了一个图片浏览,用ContentResolver扫描图库照片.且严格依照时间拍摄顺序排好序显示在listview里.例如以下图所看到的: watermark/2/text/aH ...
- 【[SDOI2008]洞穴勘测】
题目 由于始终保证连通性于是我们可以用\(LCT\)来维护这个森林 三个操作分别是\(link,cut,findroot\) 代码 #include<iostream> #include& ...