• 廉价冗余磁盘阵列
– Redundant Arrays of Inexpensive Disks
– 通过硬件/软件技术,将多个较小/低速的磁盘整合成一
个大磁盘
– 阵列的价值:提升I/O效率、硬件级别的数据冗余
– 不同RAID级别的功能、特性各不相同

• RAID 0,条带模式
– 同一个文档分散存放在不同磁盘
– 并行写入以提高效率
– 至少需要2块磁盘

• RAID 1,镜像模式
– 一个文档复制成多份,分别写入不同磁盘
– 多份拷贝提高可靠性,效率无提升
– 至少需要2块磁盘

• RAID5,高性价比模式
– 相当于RAID0和RAID1的折中方案
– 需要至少一块磁盘的容量来存放校验数据
– 至少需要3块磁盘

• RAID6,高性价比/可靠模式
– 相当于扩展的RAID5阵列,提供2份独立校验方案
– 需要至少两块磁盘的容量来存放校验数据
– 至少需要4块磁盘

• RAID 0+1/RAID 1+0
– 整合RAID 0、RAID 1的优势
– 并行存取提高效率、镜像写入提高可靠性
– 至少需要4块磁盘

软raid:

安装软RAID必备条件:

1、需要内核模块:md:

2、linux上创建工具:mdadm

[root@localhost ~]# partprobe (通知内核)

[root@localhost ~]# cat /proc/partitions(验证)

raid1:

#mdadm -C /dev/md(必须要有这个目录)/raidwang  -a yes  -l  1  -n  2  /dev/sdd1   /dev/sdd2

#cat /proc/mdstat(验证)

#mke2fs   -j   /dev/md/raidwang (格式化)

#mdadm--detail /dev/md/raidwang(查看状态)

#fdisk -l

#mdadm /dev/md1 -f /dev/sdd2 (损坏磁盘)

#mdadm --detail /dev/md/raidwang(查看状态)

#mdadm /dev/md/raidwang -r /dev/sdd2(移除sdd2)

#mdadm --detail /dev/md/raidwang

#mdadm /dev/md/raidwang -a /dev/sdd3(添加新的磁盘)

#mdadm --detail /dev/md/raidwang

#cat /proc/mdstat(查看同步进度)

#mdadm --detail /dev/md/raidwang1

mdadm命令使用

【mdadm】将任何块设备做成RAID

模块化的命令:

创建模式

【-c】

专用选项

【-l】:级别(即RAID的级别类型)

【-n】:设备个数

【-a{yes|no}】:自动为其创建设备文件

【-c】:指定CHUNK大小(数据块大小)2^n 默认大小为64k

【-x】:指定空闲盘个数

例如:

mdadm -C /dev/md0 -a yes -l 0 -n 2/dev/sdb{5,6}

管理模式

不指定模式直接使用

【--add】【--del】等表示管理

默认mdadm工作在管理模式下

【-D】【--detail】查看RAID阵列信息

【-F】【--fail】【--set-faulty】将磁盘模拟损坏

例如:mdadm /dev/md# --fail /dev/sdb7(将md#中sdb7模拟为损坏)

mdadm /dev/md1 -r /dev/sdb7 (可以将已损坏的磁盘删除)

【-S】【--stop】停止阵列

例如:mdadm -s /dev/md#

监控模式

【-F】

增长摸是

【-G】

装配模式

【-A】

【mdadm -D/dev/md# 】查看RAID阵列的详细信息

--detail也行

【mdadm -D--scan】可以查看当前设备上所有md设备的信息,

如果将信息保存在【mdadm-D --scan > /etc/mdadm.conf】中,那么下次启动就不必要指定设备的磁盘了。

RAID阵列的更多相关文章

  1. RAID阵列的初始化与管理

    如果我们创建RAID阵列的目的是新部署一台服务器,我们建议所有新创建的RAID阵列都应该做初始化操作,这样,硬盘上原有的用户数据将被清除,以便进行后续的系统,软件安装. 转自: http://zh.c ...

  2. IBM X3650 M5服务器RAID阵列设置

    生产环境中的raid配置说明: 一. 开机后,注意引导界面,按F1键进入BIOS进行设置 二. 进入BIOS后,选择system setting--storage ,进入磁盘阵列配置界面,可以看到M5 ...

  3. 《linux就该这么学》第九节课:第七章,RAID阵列和LVM逻辑卷技术

    笔记 (借鉴请改动) 7.1.RAID(独立冗余磁盘阵列) 常见的几种RAID:RAID0,RAID1,RAID5,RAID10   raid0  实现写入速度但安全性略低. raid1 实现了速度和 ...

  4. 记一次RAID阵列的迁移经历

    xu言: 最近,某电信机房因为空调漏水问题导致了我司的Dell R430 服务器的主板及CPU不同程度受损.服务器已经不能正常开机.但是,又基于把服务器的数据需要最短时间进行恢复.抱着试试看的心里进行 ...

  5. LVM与RAID阵列

    创建LVM分区: 相关命令: pvcreat /dev/sdb{1,2,3} 创建物理卷 vgcreat test_vg1 /dev/sdb1 创建卷组     vgcreat test_vg2 -s ...

  6. Raid阵列之简单介绍

    1.raid分类 软raid:用软件模拟raid芯片 硬raid:集成的后来添加的 2.raid基本简介 (1)raid是由廉价磁盘冗余阵列发展成为独立磁盘冗余阵列 (2)linux是借助MD(Mui ...

  7. RAID阵列搭建

    RAID0 2个或2个以上磁盘,称为条带卷,无容错,可提高读写效率,其中一个磁盘损坏,所有文件不可读磁盘大小尽量统一,或者以最小的空间为标准,可用空间=N*min RAID1 2个或2个磁盘以上,称为 ...

  8. RAID阵列盘有一块状态变为外来处理方法

    感谢: https://blog.csdn.net/cmzsteven/article/details/63680933

  9. Linux阵列 RAID详解

    主要内容:(笔记总结--会不定时补充.修改,如有错误,欢迎指正探讨)    一. RAID详解   二. mdadm工具介绍   三. 创建一个RAID的基本过程   四. 磁盘阵列的管理   五. ...

随机推荐

  1. Eclipsed的SVN插件不能识别之前工作空间的项目

    今天用Eclipse的SVN插件,由于之前项目是用"tortoisesvn"进行checkout的,并且已经在工作空间中使用.后来用来Ecplise的SVN插件,可是发现右键Tea ...

  2. vscode settings.json配置

    // 将设置放入此文件中以覆盖默认设置 { "editor.fontSize": 18, "editor.tabSize": 2, "editor.m ...

  3. JavaScript跨域问题

    通过实现Ajax通信的主要限制,来源于跨域安全策略.默认情况下,XHR对象只能访问与包含它的页面位于同一个域中的资源.这种安全策略可以预防某些恶意行为.但是,实现合理的跨域请求对于开发某些浏览器应用程 ...

  4. gradle 生成 pom,引用mybatis-plus源代码到自己的工程中

    一 前情概要 自己的maven工程使用mybatis-plus,然后想用热部署加载mapping文件.经过各种探索之后实现了,但是修改了xml文件后,就不断在控制台提示“mapper xxx is i ...

  5. Python--day46--上节内容回顾及补充

    1,union(把两张表连起来,以上下的方式):具有自动去重的功能,有相同的就去掉. 结果: 2,union all就没有去重的功能 3,临时表,指定映射,条件,三元运算

  6. Python--day41--线程队列

    1,普通队列:queue.Queue(),先进先出 import queue q = queue.Queue() #队列 先进先出 q.put(1) q.put(2) q.put(3) q.put(4 ...

  7. 浅谈集合框架五——集合框架扩展:Collections工具类的使用,自定义比较器

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  8. python模块之序列化模块

    序列化 """ 序列--字符串 序列化--其他数据类型转化为字符串数据类型 反序列化--字符串转化为其他数据类型 """ json模块 &q ...

  9. linux readv 和 writev

    Unix 系统已经长时间支持名为 readv 和 writev 的 2 个系统调用. 这些 read 和 write 的"矢量"版本使用一个结构数组, 每个包含一个缓存的指针和一个 ...

  10. linux进程互斥等待

    我们已经见到当一个进程调用 wake_up 在等待队列上, 所有的在这个队列上等待的进程 被置为可运行的. 在许多情况下, 这是正确的做法. 但是, 在别的情况下, 可能提前知道 只有一个被唤醒的进程 ...