linux中RAID详解

一、RAID介绍

RAID即廉价冗余磁盘阵列(Redundant Array of Inexpensive Disks),从Linux 2.4内核开始,Linux就提供软件RAID,不必购买昂贵的硬件RAID控制器和附件(一般中、高挡服务器都提供这样的设备和热插拔硬盘),就可以通过并行处理多个独立的I/O 请求提高读写性能,而且能通过增加冗余信息来提高数据存储的可靠性。

二、几种RAID类型

RAID 0

非冗余,读写性能好,数据可靠性低于单个磁盘。

RAID 1

镜像,读性能好,写性能与单个磁盘相当,数据可靠性高,成本高。

RAID 2

并行访问,通过海明码实现冗余,读写性能好,磁盘同步旋转,带检错纠错功能,可靠性高,读写性能好,但一次只能执行一个I/O 请求。

RAID 3

并性访问,通过奇偶校验实现冗余,读写性能好,磁盘同步旋转,带检错功能,可靠性高,读写性能好,但一次只能执行一个I/O 请求。

RAID 4

独立访问,以块为单位计算奇偶校验块并存放与校验盘,数据可靠性高,读性能好,写性能差(因为每次写都要更新校验盘数据),校验盘成为性能瓶颈。

RAID 5

在RAID 4 基础上,把奇偶校验块循环分布在所有磁盘上,从而减轻单个校验盘的性能瓶颈问题,读写性能和可靠性类似于RAID 4。

三、硬件RAID 和软件RAID

硬件RAID

(1)利用硬件RAID 控制器来实现, 由集成或专用的阵列卡来控制硬盘驱动器。

(2)存取性能和数据保护能力高, 但成本也高。

(3)Linux 将硬件磁盘阵列看作一块实际的硬盘, 其设备名为/dev/sd[a-p]。

软件RAID

(1)利用操作系统提供的软件RAID 功能来实现。

(2)适用于要求不高的场合, 成本低。

(3)Linux 将软件磁盘阵列看作多重磁盘设备(MD), 其设备名为/dev/md0、/dev/md1 等。

四、linux中RAID配置

在Linux系统中,主要提供RAID 0、RAID 1、RAID 5三种级别的RAID。mdadm是 linux下标准的的软raid管理工具,是一个模式化工具(在不同的模式下);程序工作在内存用户程序区,为用户提供RAID接口来操作内核的模块,实现各种功能。

1、RAID 1 配置

(1)创建两个相同大小的RAID 分区,设置分区id 为fd。

(2)建立RAID 设备

mdadm --create /dev/md0 --level 1 --raid-devices=2 /dev/sdb1 /dev/sdc1

(3)设置mdadm 配置文件/etc/mdadm.conf

DEVICE /dev/sdb1 /dev/sdc1

ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1

(4)建立文件系统

mkfs -t ext3 /dev/md0

(5)挂载RAID 1 设备

mkdir /mnt/raid1

mount /dev/md0 /mnt/raid1

(6)管理RAID 1阵列

# 模拟某成员磁盘发生故障

mdadm /dev/md0 --fail /dev/sdc1

# 从RAID 1 阵列中移除故障成员

mdadm /dev/md0 --remove /dev/sdc1

# 准备一块要替换的磁盘,并将新磁盘加入到阵列中

mdadm /dev/md0 --add /dev/sdd1

# 查看阵列实时信息

cat /proc/mdstat

mdadm --detail /dev/md0

2、RAID 5配置

(1)准备4 个阵列成员(创建RAID 分区)

(2)创建RAID 设备:系统默认只有md0 设备,其他需自行创建。

ls –l /dev/md0          # 查看md 设备的类型和主次设备号

mknod /dev/md1 b 9 1     # 创建设备文件

(3)建立RAID 5 设备

mdadm --create /dev/md1 --level=5 --raid-devices=3 --spare-devices=1 /dev/sdd[5-8] mdadm --detail /dev/md1

(4)设置mdadm 配置文件/etc/mdadm.conf

DEVICE /dev/sdd5 /dev/sdd6 /dev/sdd7 /dev/sdd8

ARRAY /dev/md1 devices=/dev/sdd5,/dev/sdd6,/dev/sdd7,/dev/sdd8

(5)建立文件系统

mkfs.ext3 /dev/md1

(6)挂载RAID 5 设备

mkdir /mnt/raid5

mount /dev/md1 /mnt/raid5

(7)管理RAID 5 阵列

# 利用备用盘重建RAID 5

mdadm /dev/md1 --fail /dev/sdd6

mdadm --detail /dev/md1

# 可看到备用盘自动参与重建阵列, 而故障盘成为备用磁盘, 而且# 注意: 要等待RAID 重建完毕, 再替换故障磁盘

# 将故障磁盘移除并加入新磁

mdadm /dev/md1 --remove /dev/sdd6

mdadm /dev/md1 --add /dev/sde1

mdadm --detail /dev/md1

(8)启用/停用/监控RAID 设备

# 停止RAID 设备(停止前要先卸载)

mdadm --stop /dev/md0

# 启动RAID 设备

mdadm --assemble --scan /dev/md0

# 监控RAID 设备

mdadm --monitor [email protected] --delay=180 /dev/md0

# 将监控任务转入后台执行

nohup mdadm --monitor [email protected] --delay=180 /dev/md0

(9)如果要删除RAID 多重磁盘设备(可选)

每个md 设备只能被建立一次,如果创建命令(mdadm–create) 出错,将造成该md 设备无法使用,这时需要按以下步骤先删除该错误的md 设备,然后才能重新创建它。

#1. 停用RAID 设备

mdadm --stop /dev/md0

#2. 清空每个组成分区的超级块

mdadm --zero-superblock /dev/sdb1

mdadm --zero-superblock /dev/sdc1

时间: 2024-10-13 22:19:31

linux中RAID详解的相关文章

Linux阵列 RAID详解

主要内容:(笔记总结--会不定时补充.修改,如有错误,欢迎指正探讨)    一. RAID详解   二. mdadm工具介绍   三. 创建一个RAID的基本过程   四. 磁盘阵列的管理   五. RAID优化 RAID详解:   描述:RAID: (Redundant Array of indenpensive Disk) 独立磁盘冗余阵列: 磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起 动作

Linux中getopt详解

Linux中getopt详解 getopt函数用来解析命令行参数的,以'-'或'--'开头的参数为选项参数,选项参数除去'-'或'--'的剩下的是选项字符.如果getopt函数被重复调用,则它将会依次返回每个选项元素中的选项字符. 使用getopt需使用以下头文件: #include<unistd.h> #include<getopt.h> 有几个全局变量与getopt函数解析参数有关: optind: int型, 指示下一个要解析的参数位置,初始时为1. optarg: char

linux中iptables详解

linux中iptables详解 一.通用基础知识 1.基本概念 什么是防火墙? 所谓防火墙指的是工作于主机或网络的边缘,对于进出的报文根据事先定义的规则作检查,将那些能够被规则所匹配到的报文作出相应处理的组件. 防火墙是由软件和硬件设备组合而成.在内部网和外部网之间.专用网与公共网之间的界面上构造的保护屏障,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入. 防火墙主要由服务访问规则.验证工具.包过滤和应用网关4个

postgreSQL在linux中安装详解

postgreSQL在linux中安装详解 收藏 这里安装8.4.4版本,首先下载postgresql-8.4.4-1-linux.bin.(http://www.postgresql.org/download/)下载linux32版本的1.       如果该文件不在linux系统中,将其从Windows拖到linux系统中,放到任意一个目录下,最好放在/opt或者/home.推荐一个Windows文件转到linux的工具:WinSCP3 ( 1.打开一个终端,su -成root用户:2.ch

Linux阵列 RAID详解 (转)

原文链接:http://molinux.blog.51cto.com/2536040/516008   一. RAID详解   二. mdadm工具介绍   三. 创建一个RAID的基本过程   四. 磁盘阵列的管理   五. RAID优化 RAID详解:   描述:RAID: (Redundant Array of indenpensive Disk) 独立磁盘冗余阵列: 磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时

linux 中/proc 详解

proc 文件系统 在Linux中有额外的机制可以为内核和内核模块将信息发送给进程-- /proc 文件系统.最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告的内核使用,例如/proc/modules 有模块的列表/proc/meminfo 有内存使用的统计表.  使用proc 文件系统的方法和使用设备驱动程序非常相似--创建一个/proc 文件需要的所有信息的结构,包括任何处理函数的指针(在我们的例子中只有一个,当某人试图从/proc 文件读时调用的那

Apache服务环境在Linux中搭建详解

Apache服务环境搭建详解: 本篇文章我介绍的是phpstudy集成工具,它将php.mysql及apache集成在一起,可以很方便的在不同服务环境间进行切换,比如:apache+php5.4切换为nginx+php5.4,另外,这个集成工具(windows版)提供了可视化的图形界面,以及提供了配置文件的快捷查找和网站域名的设置等,具体可到http://www.phpstudy.net网址查看详情.在这里,我介绍的是在Linux环境中怎么安装和配置apache+php+mysql(phpstu

Linux中inode详解,硬链接和软链接介绍

inode 详解   在Linux中,我们经常会做一些关于数据的操作(备份.传输.压缩等)或是要在后台持续的运行一些程序.由于,工作的数据量很大或者工作要持续很长的时间,我们就必须保证这个终端的启动,一旦终端关闭了,它所运行的进程也会关闭,我们所做的工作就可能前功尽弃.但是,即使我们不主动的关闭终端,终端有的时候也会应为一些原因(网络.锁屏等)而中断,导致我们的工作进度清零. 1.inode 定义 inode是用来存储文件元信息的区域.中文译名叫做"索引节点".   简单来说,inod

Linux之Raid详解

RAID即廉价冗余磁盘阵列(Redundant Array of Inexpensive Disk),从Linux2.4内核开始,Linux就提供软件RAID.实现方式为将多个磁盘按照一定的机制组织起来:能够提高IO性能,提升耐用性,并且支持冗余功能. RAID类型: 外接式磁盘阵列:通过扩展卡实现 内接式RAID:主板集成RAID控制器 Software RAID:软RAID 硬件式的RAID在BIOS中进行单独配置 Level: RAID-0:(Stripe),中文译为集带工作方式.它是将要