Linux实现最常用的磁盘阵列--RAID5

(一) RAID简介:
独立磁盘冗余数组(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余数组(RAID,Redundant Array of Inexpensive Disks),简称硬盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID比单个硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说, 看起来就像一个单独的硬盘或逻辑存储单元。分为RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50
简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID功能更加有效地与主板集成,它也成为了玩家的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作
最初的RAID分成了不同的等级,每种等级都有其理论上的优缺点,不同的等级在两个目标间取得平衡,分别是增加数据可靠性以及增加存储器(群)读写性能。这些年来,出现了对于RAID观念不同的应用

RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案
(二) 各软RAID的区别:
RAID4,奇偶备份,最少3块硬盘,其中一块硬盘作为奇偶校验备份,那么任意一块硬盘损坏都可以其他盘和校验盘通过奇偶校验还原数据
RAID5,将奇偶校验数据库分散到各个硬盘,最少3块硬盘
RAID6,横向和纵向都生成奇偶校验,最少4块硬盘
RAID0,速度最快,不冗余,最少2块硬盘,提高2倍速度(硬盘越多,理论速度提高越多),但任何一块硬盘损坏,则所有数据报废
RAID1,50%冗余;——RAID0+1
(三) Linux实现RAID5各参数详解与注意事项:
需要的磁盘个数:三块以上
我们在这里添加四块硬盘,其中3块做磁盘阵列,1块做预备(spare)磁盘
注意:raid5 的磁盘使用率是N-1 也就是说四个30G的硬盘可用空间是90G
实验步骤:

  1. 查看一下系统中的磁盘设备fdisk -l
  2. 接下来创建raid了使用的命令是mdadm,如果没有请先安装mdadm软件包(rpm -qa |grep mdadm)
    注意:RHEL 6.5的光盘中有
    mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]

    参数解释:
    --create //表示要创建raid
    --auto=yes /dev/md0 //是否自动检测,新建立的软件磁盘陈列设备为md0,md序号可以为0-9
    --level=5 //磁盘阵列的等级,这里是raid5
    -raid-devices //所需使用的磁盘数量
    --spare-devices //添加作为预备(spare)磁盘的块数
    /dev/sd[b-e] //磁盘阵列所使用的设备,还可以写成“/dev/sdb /dev/sdc /dev/sdd /dev/sde”同样可以缩写为:mdadm –C –a yes /dev/md0 –l5 –n3 –x1 /dev/sd[b-e]
    查看RAID是否成功的创建是否运行的正常,有两种方法
  3. 查看详细信息:mdadm --detail /dev/md0命令查看RAID的详细信息
  4. 较为简单的查看:可以直接查看cat /proc/mdstat的文件看到RAID运行的情况

    U代表没有问题、_则表示不正常;磁盘后面的(S)表示作为预备
    格式化并且挂载和使用创建的RAID
    mkfs.ext4 /dev/md0 //格式化 raid5磁盘为 md0

    mkdir /raid
    mount /dev/md0 /raid //将md0 挂载到/raid目录下
    查看一下挂载情况
    df –hT

    试一下新加上的RAID是不是可以使用,向里面写入文件
    设置开机自动启动RAID以及自动挂载
    让RAID开机启动, RIAD配置文件名字为mdadm.conf , 这个文件默认是不存在的,要自己建立.该配置文件存在的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理. 说明下mdadm.conf文件主要由以下部分组成:
    DEVICES选项制定组成RAID所有设备,
    ARRAY选项指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号
    注意:此文件如果不创建下次开机重启后/dev/md0将会被系统自动识别为其他非/dev/md0名称的设备,对于实现开机挂载和使用都不方便
    自动启动raid
    先建立/etc/mdadm.conf 这个文件
    mdadm --detail --scan > /etc/mdadm.conf
    要对这个文件做一下改动:将组成RAID5的设备名全部追加到配置文件中

    在设置RAID的自动挂载
    修改文件 vi /etc/fstab
    在里面加上一行 /dev/md0 /raid ext4 defaults 0 0
    模拟RAID5中的磁盘损坏,验证spare磁盘的功能(在raid5中允许一块磁盘的损坏,也就是我们设置的spare磁盘会立即的替换坏掉的磁盘进行raid的重建,保障数据的安全性)
    mdadm --manage /dev/md0 --fail /dev/sdd //使用此命令设置sdd成为出错的状态(或可简写为mdadm /dev/md0 -f /dev/sdd)

    再来查看一下磁盘的信息:mdadm –-detail /dev/md0

简单的查看一下RAID的情况:

创建完成也就是说明raid5 已经自动的恢复了!
查看一下raid5是不是可以正常使用!
向里面写写数据,这时可以发现,RAID5还可正常使用,对数据不造成任何影响
Active sync /dev/sdb1 # raid的真成员
spare /dev/sdc1 #raid备用成员
如果想重新添加/dev/sdd进RAID5,可做以下操作:
mdadm /dev/md0 --remove /dev/sdd //将坏掉的磁盘sdd从raid中
mdadm /dev/md0 -a /dev/sdd //将/dev/sdd加入阵列
mdadm --zero-superblock --force /dev/sdd(可选) //可修复硬盘将模拟损坏的硬盘重新添加
命令参数
-A = --assemble 激活
-S = --stop 停止
-D = --detail 查看raid详细信息
-C = -- create 建立raid设备
-v = --verbose 显示建立过程的详细信息
-l = --level raid的级别
-n = --raid-devices raid设备数
-s = --scan 扫描raid设备
-f = --fail 标示坏的硬盘
-a = --add 添加硬盘
-r = -remove 移除坏的硬盘

关闭RAID的方法:

直接卸载/dev/md0,并且注释掉/etc/fstab文件中的配置
umount /dev/md0 //解除挂接
vi /etc/fstab //将fstab里面的开机自动挂载注释掉
#/dev/md0 /var/www/html ext4 defaults 0 0
mdadm --stop /dev/md0 //停止md0磁盘服务

原文地址:http://blog.51cto.com/13770300/2133216

时间: 2024-11-10 04:56:07

Linux实现最常用的磁盘阵列--RAID5的相关文章

linux学习之路之磁盘阵列RAID及硬件RAID和软件RAID的区别

我们知道单个磁盘存储数据的容量是有限的,为了让磁盘的容量增大,我们可以将多个较小的磁盘组合在一起,形成一个较大的磁盘装置,这就是RAID(独立式磁盘阵列),RAID不仅可以提高数据的存储容量,也可以提高数据保护功能,不同级别的RAID,所提供的的功能各不一样. RAID常见的级别有RAID0,RAID1,RAID5,RAID10,RAID01,RAID5,RAID50 下面逐个介绍这些级别的工作原理. RAID0:首先将磁盘分成等量的数据块(CHUNK),然后在将存储的数据切分成符合CHUNK大

Linux运维常用命令

Linux运维常用的150个命令 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls 全拼list,功能是列出目录的内容及其内容属性信息. cd 全拼change directory,功能是从当前工作目录切换到指定的工作目录. cp 全拼copy,其功能为复制文件或目录. find 查找的意思,用于查找目录及目录下的文件. mkdir 全拼mak

Linux内核中常用String库函数实现

//只列举了部分常用的strcpy,strcmp,strcat,strchr,strstr,strpbrk...  char *strcpy(char *dest, const char *src) { char *tmp = dest; while ((*dest++ = *src++) != '\0') /* nothing */; return tmp; } char *strncpy(char *dest, const char *src, size_t count) { char *t

Linux运维常用知识(4)

linux命令无效-bash: ls: command not found 一次重启后开机,基本所有的命令都不可用,只有少数的命令可用 [[email protected] ~]# ll -bash: ls: command not found [[email protected] ~]# pwd /root [[email protected] ~]# shutdown -r now -bash: shutdown: command not found [[email protected] ~

linux日常管理常用命令--w

linux日常管理常用命令--w 命令:w(linux管理员最常用的命令) [[email protected] ~]# w 14:45:41 up 2 min,  2 users,  load average: 0.10, 0.10, 0.04 USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT root     tty1     -                14:44   54.

Linux查看系统配置常用命令

Linux查看系统配置常用命令: 系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# lsmod # 列出加载的内核模块# env # 查看环境变量 资源# free -m # 查看内存使用量和交换区使用量# df -h # 查看各

linux web开发常用命令

:q 退出 vi :wq 保存并退出 vi :wq! 强制保存并退出 vi #tail -f catalina.out  查询tomcat后台输出 在Linux系统下,重启Tomcat使用命令操作的! 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看Tomcat是否以关闭 ps -ef|grep java 如果显示以下相似信息,说明Tomcat还没有关闭 root 7010 1 0 Apr19 ?

[Linux]-查看系统常用配置命令

Linux查看系统配置常用命令 一.linux CPU大小   cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id" 说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息.但是对于双核的cpu,在cpuinfo中会看到两个cpu.常常会让人误以为是两个单核的cpu.其实应该通过Physical Processor ID来区分单

Linux系统中常用的压缩和解压缩工具

Linux系统中常用的压缩和解压缩工具 压缩:以时间换空间的一种操作: 压缩的原理:标记和替换: 压缩比:压缩之前与压缩之后的文件大小的比值:其中:纯文本文件的压缩比较大,视频.图像等文件压缩比小 能够实现压缩功能的工具: compress/uncompress:.Z扩展名 gzip/gunzip:.gz扩展名 bzip2/bunzip2:.bz2扩展名 xz/unxz:.xz扩展名,目前压缩比最高的工具 zip/unzip:.zip扩展名 gzip: gzip, gunzip, zcat -