linux下磁盘管理机制--RAID

RAID(Redundant Array Of Independent Disks):独立磁盘冗余阵列。RAID的最初出现的目的是为了解决中小型企业因经费原因使用不起SCSCI硬盘,而不得不使用像IDE较廉价的磁盘情况下,将多块IDE磁盘通过某种机制组合起来,使得IDE磁盘在一定程度上提高读写性能的一种机制。当然,现在也可以将SCSCI类的磁盘也可以做成RAID来提高磁盘的读写性能。

一、RAID的级别

RAID机制通过级别来RAID级别来定义磁盘的组合方式。常见的级别有:RAID0,RAID1,RAID4,RAID5, RAID6这几种级别,下面分别叙述。

RAID0:最少使用2块磁盘,出现的目的是为了提高读写性能,磁盘利用率达到100%,但没有容错能力,磁盘损坏的几率也增加了一倍。

具体如下:

RAID1:最少使用2块磁盘,常作为磁盘的镜像使用,所以一般情况下,自己2块磁盘。设备利用率一般情况下是50%,允许一块磁盘损坏,读性能提高,写性能有所下降。

具体如下:

RAID4:最少使用3块磁盘,其中一块专门保存其他2块数据的备份。通常情况是:保存其他2块磁盘数据按位异或的结果。设备利用率是 n-1/n (n为磁盘数目),可以损坏一块磁盘,读写性能都有相应的提升。

具体如下:

RAID5:同RAID4一样,不同的一点是,RAID5将备份信息分散到每个磁盘上。

具体如下:

RAID6:在RAID5的基础上,将备份信息多存了一份。所以,它可以允许2块磁盘损坏,其他的同RAID5一样。

具体如下:

这里只介绍了常用的集中RAID级别,其他的级别的RAID,读者可自行查阅相关书籍。

我们也可以使用级别组合,常用的有RAID10,RAID50,RAID60等。

以RAID10为例:假设现在有6块磁盘,可以先每2块作为一个RAID1,然后将3组RAID1作为一个RAID0,来提高磁盘的读写性能和容错能力。

二、RAID的实现

RAID实现方式有2种:

  • 硬件RAID

    由硬件控制器来实现,在操作系统中看到的仅是一个单独的设备。企业一般都使用硬件RAID来实现。

  • 软件RAID

    由软件模拟硬件RAID的控制器来实现,依赖于操作系统。

下面通过软件RAID的实现,来理解RAID的实现方式。

在Linux中使用mdadm这个命令来实现。具体在内核中是由 md(multdisk)模块实现的。

下面介绍mdadm的常用参数:

参数 具体意义 示例
-C
创建RAID,还有子选项

-n: 用于创建RAID的磁盘数目

-l: 创建RAID级别

-c: chunk的大小,chunk就是RAID的数据块大小,它和磁盘中的Block的大小不同

-a: {yes|no}是否自动创建RAID设备文件

mdadm -C /dev/md0 -l 5 -n 3 -a yes -c 1024K /dev/sdb{5,6,7}
-A 重新装载,比如在操作系统崩溃之后,但磁盘还在,在里一个操作系统里可以使用此选项重新加载 mdadm -A /dev/md1 /dev/sdb{5,6,7}
-S 停用RAID mdadm -S /dev/md0
-D 显示RAID的详细信息 mdadm -D /dev/md0
-r 从RAID设备里移除一块磁盘(分区) mdadm /dev/md0 -r /dev/sdb5
-a 往RAID设备里添加一块磁盘(分区) mdadm /dev/md0 -a /dev/sdb5
-f 手动损坏一块磁盘 mdadm /dev/md0 -f /dev/sdb5

正式开始创建RAID,我们这里示例创建RAID5:

第一步准备磁盘,我们这里用分区代替:

第二步:就是创建RAID5。

当看到以下信息时,说明数据同步完毕。

下面就可以格式化此设备,并挂载使用了。

查看RAID的详细信息:

三、磁盘故障实验

我们手动损坏一块磁盘,数据是否正常。

此时我们依然可以正常访问数据,正常读写数据。

下来我们要做的任务是,将损毁的磁盘移除,添加新的磁盘上去。

但是,我们经常是这样做的,在没损坏的情况下,添加一块磁盘作为热备磁盘。

当有一块磁盘损坏可以立即顶上去。

四、磁盘重新装载

我们这里使用 mdadm -S RAID_DEVICE 来模拟操作系统崩溃的情况,然后重新装载。

此时,我们挂载使用,数据依然存在。

总结:本文主要介绍了RAID的级别,以及软RAID的实现过程。当然,向 mdadm 命令的好多参数,没有详细介绍,读者要是用到的话,可查看 man 手册。

linux下磁盘管理机制--RAID,布布扣,bubuko.com

时间: 2024-10-18 15:15:53

linux下磁盘管理机制--RAID的相关文章

linux下磁盘管理机制--LVM

当我们用传统分区方法使用磁盘时,当出现分区大小不够用的时候,通常只能添加添加一个更大的磁盘,重新创建分区来扩展空间.但是,这样只能是将原来的磁盘下线,换上新的磁盘,在将原始数据写入,在实际的生产过程中是不允许的.此时就需要使用逻辑卷LVM这种磁盘分区管理了. 逻辑卷是将硬盘空间重新"分割"成大小相等的块(PE)组成的PV放到一个容器(VG)中,当需要可以随时向这个容器中取出这样的块,来实现动态调整磁盘空间大小.当然新添加的块不会改变原来的文件系统,而且原磁盘也不用下线. 下面说明逻辑卷

Linux下磁盘管理

设置密码mkpasswdmkpasswd -s 0mkpasswd -s 0 -1 15 规定密码的长度 1. 查看磁盘或者目录的容量df 查看磁盘各分区使用情况 不加参数以k为单位 df -i inode数,df -h 以G或者T或者M df -m 以M单位显示 du 查看目录或者文件的容量 不加参数 以k为单位显示 -s 列出总和 -a 列出所有文件和目录 -k 以k为单位 -m 以M为单位 -h 最合适的单位 最常用组合 -sh du -sh /root扩展 ls -lh 看到的大小和du

linux下磁盘管理神器lvm命令使用以及TCP协议

一.LVM 简介LVM(Logical Volume Manager)是一个应用于Linux的内核的逻辑卷管理器,是Linux环境下对磁盘进行分区管理的一种机制.先介绍几个有关LVM的名词1.PV(物理卷)可以是一个磁盘,一个分区.由PE(物理盘区)组成,多个PV可以组成一个VG(卷组).2.VG(卷组)多个物理卷组成的一个组,但是卷组不可以直接使用,需要在上面创LV(逻辑卷)才可以使用.VG上可以创建多个LV.3.PE(物理盘区)就像我们之前学习的磁盘的block块,默认是4MB.4.LV(逻

2015.3.23 Linux下磁盘管理

1.查看磁盘或目录的容量 df  查看磁盘各分区使用情况 df -i  -h  -m du  查看某个目录或文件所占的空间大小 du -a /tmp:列车全部文件与目录大小 du -c:最后汇总 2.磁盘的分区和格式化 fdisk -l 查看磁盘和分区,大于2T用GPT mkfs.ext3.mkfs.ext4.mke2fs -t ext4 格式化分区 格式化时默认blocks (5.00%) reserved for the super user  ##给超级用户预留的空间,特殊用途 -m  可

Linux 红帽   磁盘管理~~~~RAID5+LVM

Linux  红帽    磁盘管理~~~~RAID5+LVM 实验环境: 在Linux 操作系统的PC机上添加3块20G大小的磁盘 实验步骤: 一.  创建RAID5: 1. 准备工作: [[email protected] ~]# uname -a              //查看基本信息 [[email protected] ~]# cat /etc/redhat-release        //查看红帽的发行版本 为添加好的三个磁盘进行分区, 分区的类型:FD(全称:)    为了节省

linux之磁盘管理,网络,计时任务

磁盘管理 查看磁盘空间的占用 df # 磁盘占有率 -h # 以人类易读的方式展示 Linux下磁盘命名格式:/dev/sda 查看目录的占用空间 /dev/sd[a-z]num总大小 linux下磁盘的命名格式如下图 size used avail user% mounted on 总大小 占用 剩余 占用率 挂载点,挂载到哪个目录上 查看目录的占用空间 du 命令 du / # 查看根目录 du -sh . # 当前 du -sh . # 人类易读方式 du -s /* # 查看根目录下每一

linux下磁盘分区详解

给新硬盘上建立分区时都要遵循以下的顺序:建立主分区→建立扩展分区→建立逻辑分区→激活主分区→格式化所有分区. 一个硬盘的主分区也就是包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则该硬盘必须得有一个主分区.         扩展分区也就是除主分区外的分区,但它不能直接使用,必须再将它划分为若干个逻辑分区才行.逻辑分区也就是我们平常在操作系统中所看到的D.E.F等盘. 分区从实质上说就是对硬盘的一种格式化.当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了BIOS系

linux之磁盘管理(五)

swap分区 交换空间,正是因为交换空间的存在,使我们的内存可以过载使用. 在物理买内存不足的情况下,拿swap来应急. free:查看当前系统上物理内存和交换空间的使用情况. -m [[email protected] ~]# free total       used       free     shared    buffers     cached Mem:       1026868     419232     607636          0      23704     28

Linux基础-----磁盘管理

文件系统 Windows NTFS FAT32 Linux VFS:虚拟文件系统:将底层文件系统的不同,通过统一的接口,输出给上层应用 ext2 ext3 ext4 xfs 文件系统:对分区文件就行组织管理,并建立索引表,文件系统有内核提供 格式化:创建文件系统 低级格式化:创建磁道.扇区 高级格式化:创建文件系统 分区是按柱面来划分 磁道:数据存储在磁道上 扇区:将磁道划分成扇状用于管理 柱面:多个盘片,相同位置的扇区,形成柱面 0磁道的0扇区:(不属于任何分区)MBR 512字节   主引导