linux raid技术
一、概念
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。是为了提高文件在磁盘上的读写速度而研究出来的。
将存入磁盘的数据分成一个一个的条带,然后并行地存储到磁盘阵列中,或者从磁盘阵列中以条带的形式并行地取数据。如下图:

二、raid的级别:
0:条带技术( 单纯地将数据进行条带化处理,然后存储到磁盘中)
数据读写性能提升
不提供冗余性能(没有数据备份)
盘符数:>=2
1:镜像(备份)
性能表现,写性能下降,读性能提升(可以交替读)
冗余能力:有
空间利用率:50%
镜像技术 mirror
盘符数:>=2
2,
3,
4
5:加入校验机制,几个磁盘轮流作为校验盘
性能表现:读写提升
冗余能力:有
空间利用率:(n-1)/n
盘符数:>=3
1 0:先备份再条带
性能表现:读、写提升
冗余能力:有
盘符数:>=4
空间利用率 1/2
0 1:先条带再备份(常用,因为1 0方式可能导致在每一个备份里条带的存储位置不同)
性能表现:读写提升
冗余能力:有
空间利用率:50%
盘符数:>=4
5 1:
性能表现:读、写提升
冗余能力:有
空间利用率:(n-2)/n
盘符数:>=6
三 、raid的类型
硬件raid:
外接一个磁盘阵列
或者内部有raid控制芯片
软件raid
md(multi disks)将指定的磁盘设备组合起来形成raid
raid 设备被创建在 /dev/md#下
如果有一天内核坏了,为了raid后的磁盘可以被使用,要把磁盘的类型标识为内核可识别的 Linux raid auto类型。
命令为mdadm:将任何设备作成raid
模式化的命令:
创建模式
管理模式
监控模式
增长模式
装配模式
-A
创建模式
-C
专用选项
-c chunk(条带)大小,默认为 64k,
-l 级别
-a {yes|no}自动为其创建设备文件
-n:设备个数,几个盘来做raid
-x:指定空闲盘个数,然后作为raid盘坏了以后,直接顶上去的盘
管理模式
--add --del
监控模式
-F
增长模式
-G
装配模式
-A
-D --detail /dev/md# 查看raid信息
停用阵列:madm --stop /dev/md#
启用阵列: mdadm -A /dev/md1 /dev/sda6 /dev/sda7
将当前raid信息保存至配置文件,以便以后装配,
mdadm -D --scan >/etc/mdadm.conf
软raid新建过程
新建分区/dev/sda5,/dev/sda6,过程中将sda5,sda6指定为Linux raid auto类型
让内核识别新建的分区 partprobe /deb/sda
cat /proc/partitions
madm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6}
cat /proc/mdstat
接下来
mke2fs -j /dev/md0
接下来挂载
mount /dev/md0 /mnt
madam -D|--detail /dev/md0 查看raid阵列的详细信息
在管理模式下,模拟一个磁盘的损坏mdadm /dev/md# --fail /dev/sda7 将md#(代表raid)下的sda7盘模拟损坏
移除硬盘 mdadm /dev/md# -r /dev/sda7
mdadm mdadm /dev/md# -a /dev/sda7
文件系统时,可以指定条带大小里有多少个block,然后避免每次生成软raid时计算一个条带包含多少磁盘块。 mke2fs -j -E stride=16 -b(块大小) 4096 /dev/md0
linux raid技术的更多相关文章
- RAID技术介绍
RAID技术介绍 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAI ...
- 双机相关知识(原理、LVM、Raid技术)
1 双机知识 1.1 预备知识 1.1.1 基本概念 双机热备:双机热备双机管理软件可以根据心跳自动检测环境运行情况,如果发现一个节点挂掉了,会自动切换到另外一个 ...
- 【原】Linux Raid 实验
本文参照以下两个链接,将实验重做了一遍,目的就是加深印象及提升实操能力 参照链接:http://www.opsers.org/base/learning-linux-the-day-that-the- ...
- [转]RAID技术介绍和总结
以下内容转自伯乐在线:http://blog.jobbole.com/83808/ 原文出处: 涯余(@若东临于沧海) ---------------------------------------- ...
- RAID技术介绍和总结
简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAID全称为独立磁盘冗 ...
- 高速掌握sinox2014激动人心的ZFS和RAID技术
Sinox2014引入激动人心的zfs系统以及其支持的RAID,让用户高速打造便宜的高可靠性文件server. ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统( ...
- 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID10
RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征.基本原理.关键技术.各种等级和发展现状进 ...
- 第8天【文件系统挂载、ext文件系统及read命令、Linux RAID、lvm应用】
文件系统挂载与管理工具(01)_recv 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行成为挂载: 解除此关联关系的过程 吧设备关联挂载点: ...
- 【转】RAID 技术发展综述
原文地址:https://blog.csdn.net/liuaigui/article/details/4581970 摘要 :现代企业信息化水平不断提高,数据已经取代计算成为了信息计算的中心.这 ...
随机推荐
- 为什么阿里巴巴要求谨慎使用ArrayList中的subList方法
GitHub 3.7k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 3.7k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 3.7k Star 的 ...
- Creating External Table - KUP-04020
原因:因为操作系统环境不同,所以换行符也不同,要查看数据文件的换行符 解决方法: 1.如果是苹果系统类的数据文件,则改为:RECORDS DELIMITED BY 0X'0D' 2.如果是window ...
- udp广播和多播
使用UDP协议进行信息的传输之前不需要建立链接, 客户端向服务器发送信息时,客户端只需要给出服务器的ip地址和端口号,可以发送信息.至于服务器端是否存在,是否能够收到该报文,客户端根本不用管. 广播( ...
- Google Code Jam 2014 Round 1 A:Problem B. Full Binary Tree
Problem A tree is a connected graph with no cycles. A rooted tree is a tree in which one special ver ...
- nginx的proxy_pass到$host的问题
今天在配置一个location的时候,希望使用一个变量如$host来指示nginx代理: location /test/ { proxy_pass http://$host; } 如你想不到,这个配置 ...
- Python snap
orderedDict enum sys.path 注册装饰器 装饰器检查 入参 Flask01 flask_script flask blue print functools.partial dns ...
- 在ListView的GroupItem头中显示每列的Summary
问题描述 WPF自带的ListView和DataGrid控,都提供了数据分组的支持,并可以对分组的Header进行自定义.但是,如果想在每个分组的Header中,显示出本分组的"小计&quo ...
- c#基础系列:序列化效率比拼——谁是最后的赢家Newtonsoft.Json
前言:作为开发人员,对象的序列化恐怕难以避免.楼主也是很早以前就接触过序列化,可是理解都不太深刻,对于用哪种方式去做序列化更是随波逐流——项目中原来用的什么方式照着用就好了.可是这么多年自己对于这东西 ...
- The following classes could not be found: - android.support.v7.internal.widget.ActionBarOverlayLayout
升级android-studio之后,出现这个问题,一直解决不了. 无意间,在布局文件的Design界面中,修改原来的AppTheme为Base.Theme.AppCompat就修复了此问题. 暂时不 ...
- iOS - 每隔一段时间,反复执行同一个任务
我们有时候会有这样的需求,当程序处于运行状态,每隔几秒给服务器发送一次请求. 这时我们可以这样处理: UILocalNotification *localNotification = [[UILoca ...