磁盘管理之软RAID

1、RAID概述

RAID,Redundant Arrays of Inexpensive(Independent)Disks的简称,独立磁盘冗余阵列,简称磁盘阵列。简单来说,RAID是把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘,经常被用在服务器电脑上。不同的RAID实现的功能也是不尽相同的,或增强处理速度,或增强容错能力,当然,更有甚者,是可以兼备这个特性的。

2、RAID分类

<1>RAID0

<2>RAID1

<3>RAID4

<4>RAID5

<5>RAID01

<6>RAID10

3、经典RAID5的实现

如果只是用作测试的话,软RAID可以在一块硬盘的不同分区上实现,此处用不同的硬盘实现

 <1>添加五块硬盘,四块做成RAID阵列,一块做spare硬盘

     <2>创建文件系统,并调整分区类型为fd

[[email protected]~]#fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): t    # 调整分区类型
Selected partition 1
Hex code (type L to list all codes): fd    # 选择fd
Changed type of partition ‘Linux‘ to ‘Linux raid autodetect‘

Command (m for help): w    # 存盘退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

     <3>创建RAID设备

[[email protected]~]#mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sd{b,c,d,e,f}1 
mdadm: /dev/sdb1 appears to contain an ext2fs file system
       size=2097152K  mtime=Thu Jan  1 08:00:00 1970
mdadm: /dev/sde1 appears to contain an ext2fs file system
       size=2097152K  mtime=Mon Aug 29 21:32:01 2016
Continue creating array? y    # 确定创建
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.    # 创建完成并启动

     <4>查看创建进度

[[email protected]/mnt]#cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sde1[5] sdf1[4](S) sdd1[2] sdc1[1] sdb1[0]
      6285312 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
                            # RAID5创建完成,正式启动
unused devices: <none>

    <5>查看RAID配置

[[email protected]~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug 30 15:38:04 2016
     Raid Level : raid5    # RAID级别
     Array Size : 6285312 (5.99 GiB 6.44 GB)    # 阵列大小,使用率为n-1/n
  Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)    # 备用的磁盘空间大小
   Raid Devices : 4
  Total Devices : 5
    Persistence : Superblock is persistent

    Update Time : Tue Aug 30 15:38:14 2016
          State : clean 
 Active Devices : 4    # RAID工作状况
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K    # Chunk默认大小

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : fe6313e4:bc14f451:01602e5e:13820d53
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       5       8       65        3      active sync   /dev/sde1

       4       8       81        -      spare   /dev/sdf1    # 备用盘

    <6>为RAID5创建文件系统

[[email protected]/mnt]#mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=384 blocks
393216 inodes, 1571328 blocks
...    # 文件系统创建成功

  <7>挂载RAID

# 创建挂载点
[[email protected]~]#mkdir /mnt/raid    
# 编辑/etc/fstab
[[email protected]~]#vim /etc/fstab 
...
UUID="24adec89-2933-47e3-b824-11e25ef679cf" /mnt/raid  ext4 defaults 0 0 
...
# 挂载
[[email protected]~]#mount -a
# 查看挂载
[[email protected]~]#mount
...
/dev/md0 on /mnt/raid type ext4 (rw,relatime,seclabel,stripe=384,data=ordered)

    <8>创建RAID配置文件

[[email protected]~]#mdadm -Ds /dev/md0 > /etc/mdadm.conf
[[email protected]~]#cat /etc/mdadm.conf 
ARRAY /dev/md0 metadata=1.2 spares=1 name=localhost.localdomain:0 UUID=fe6313e4:bc14f451:01602e5e:13820d53

    <9>测试

[[email protected]~]#cp /etc/* /mnt/raid/ -r    # 数据已通过挂载点存储在RAID5上
[[email protected]~]#cat /mnt/raid/issue
\S
Kernel \r on an \m

   <9>模拟损坏一块磁盘

# 模拟损坏
[[email protected]~]#mdadm /dev/md0 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0    # 已损坏
# 查看RAID运行状况
[[email protected]~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug 30 15:38:04 2016
     Raid Level : raid5
     Array Size : 6285312 (5.99 GiB 6.44 GB)
  Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
   Raid Devices : 4
  Total Devices : 5
    Persistence : Superblock is persistent

    Update Time : Tue Aug 30 16:25:52 2016
          State : clean, degraded, recovering 
 Active Devices : 3
Working Devices : 4
 Failed Devices : 1
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

 Rebuild Status : 57% complete    # 进度

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : fe6313e4:bc14f451:01602e5e:13820d53
         Events : 29

    Number   Major   Minor   RaidDevice State
       4       8       81        0      spare rebuilding   /dev/sdf1    # 正在修复中
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       5       8       65        3      active sync   /dev/sde1

       0       8       17        -      faulty   /dev/sdb1    # faulty状态
# 查看数据
[[email protected]~]#cat /etc/issue
\S
Kernel \r on an \m
                      # 数据无损坏

    <10>不修复faulty硬盘,再次模拟损坏一块硬盘

# 损坏硬盘
[[email protected]~]#mdadm /dev/md0 -f /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md0
# 查看状态
[[email protected]~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug 30 15:38:04 2016
     Raid Level : raid5
     Array Size : 6285312 (5.99 GiB 6.44 GB)
  Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
   Raid Devices : 4
  Total Devices : 5
    Persistence : Superblock is persistent

    Update Time : Tue Aug 30 16:33:01 2016
          State : clean, degraded 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 2
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K
                                       # 也没有修复的进度
           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : fe6313e4:bc14f451:01602e5e:13820d53
         Events : 39

    Number   Major   Minor   RaidDevice State
       4       8       81        0      active sync   /dev/sdf1
       2       0        0        2      removed    # 没有硬盘顶替,显示remove状态
       2       8       49        2      active sync   /dev/sdd1
       5       8       65        3      active sync   /dev/sde1

       0       8       17        -      faulty   /dev/sdb1    # 已损坏
       1       8       33        -      faulty   /dev/sdc1    # 已损坏
# 再次查看数据
[[email protected]~]#cat /mnt/raid/issue
\S
Kernel \r on an \m
                      # 数据无损

     <11>依然不修复,再次损坏

# 损坏硬盘
[[email protected]~]#mdadm /dev/md0 -f /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md0
[[email protected]~]#mdadm -D /dev/md0
/dev/md0:    
        Version : 1.2
  Creation Time : Tue Aug 30 15:38:04 2016
     Raid Level : raid5
     Array Size : 6285312 (5.99 GiB 6.44 GB)
  Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
   Raid Devices : 4
  Total Devices : 5
    Persistence : Superbloc
     k is persistent

    Update Time : Tue Aug 30 16:39:41 2016
          State : clean, FAILED 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 3
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : fe6313e4:bc14f451:01602e5e:13820d53
         Events : 41

    Number   Major   Minor   RaidDevice State
       4       8       81        0      active sync   /dev/sdf1
       2       0        0        2      removed    # 移除
       4       0        0        4      removed    # 移除
       5       8       65        3      active sync   /dev/sde1

       0       8       17        -      faulty   /dev/sdb1    # 已损坏
       1       8       33        -      faulty   /dev/sdc1    # 已损坏
       2       8       49        -      faulty   /dev/sdd1    # 已损坏
# RAID5中,已损坏俩块硬盘,校验数据失效,数据全部损坏。
[[email protected]~]#cat /mnt/raid/fstab 
cat: /mnt/raid/fstab: Input/output error

此时数据已经损坏,不可恢复

    RAID支持热插拔技术

    <12>在RAID 不损坏之前也是可以增加RAID的磁盘的

[[email protected]~]#mdadm -G /dev/md0 -a -n 5 /dev/sdg1

RAID损坏后,移除RAID

[[email protected]~]#mdadm /dev/md0 -r /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md0

标准的卸载RAID的步骤

  <13>取消挂载、停止RAID、删除配置文件

[[email protected]~]#umount /mnt/raid/
[[email protected]~]#mdadm -S /dev/md0    备注----->启用RAID:mdadm -A -s /dev/md5
mdadm: stopped /dev/md0
[[email protected]~]#rm -f /etc/mdadm.conf

    <14>移除RAID中的磁盘

    <15>删除磁盘上的RAID信息

[[email protected]~]#mdadm --zero-superblock /dev/sdf1    # 一定要先停止,否则报错
时间: 2024-12-18 18:58:32

磁盘管理之软RAID的相关文章

Linux系统下磁盘配额、软RAID及LVM的配置与管理

Linux系统下磁盘配额.软RAID及LVM的 配置与管理 一.设定文件系统配额 1.概述:配额是操作系统的一个可选的功能, 它允许管理员以文件系统为单元, 限制分派给用户或组成员所使用的磁盘空间大小或是使用的总文件数量.这经常被用于那些分时操作的系统上, 对于这些系统而言, 通常希望限制分派到每一个用户或组的资源总量, 从而可以防止某个用户占用所有可用的磁盘空间. 2.配置文件系统配额(基于用户): (1)配置配额前准备工作: 1)备份/home目录,创建分区,进行挂载,将/home目录下的数

磁盘管理配额和raid配置

磁盘管理配额和raid配置 磁盘结构 <img src="E:\博客文本\磁盘配额和raid配置\1572923009298.png" alt="1572923009298" style="zoom:67%;" /> MBR与磁盘分区表示 主引导记录(MBR:Master Boot Record) MBR位于硬盘第一个物理扇区处 MBR中包含硬盘的主引导程序和硬盘分区表 分区表有4个分区记录区,每个分区记录区占16个字节 Linux中

每天进步一点点——Linux磁盘管理LVM与RAID

转载请注明出处:http://blog.csdn.net/cywosp/article/details/38965799 1. 传统磁盘管理问题 当分区大小不够用时无法扩展其大小,仅仅能通过加入硬盘.创建新的分区来扩充空间.可是新加入进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充.上层应用非常多时候仅仅能訪问一个文件系统.仅仅能让现有磁盘下线.换上新的磁盘之后,再将原来磁盘中的数据导入. 2. LVM LVM(Logical Volume Manager)逻辑卷管理通过将底层物理

LVM逻辑卷管理-软RAID磁盘阵列

LVM逻辑卷管理软RAID磁盘阵列管理################################################# 一.LVM逻辑卷管理 1. 基本概念    Logical Volume Manager        ** 多个物理分区/磁盘 ==> 组合成一个整体 ==>划分逻辑存储单位,即逻辑卷        ** 逻辑分区的大小可以根据需要扩大.缩减        ** /boot 用来存放引导文件,不能使用LVM逻辑卷(启动时会找不到内核) PV(Physica

常见RAID级别原理, Linux中软RAID实现方式详解

前言:本文章耗费作者大量时间,转载声明转自anyisalin.blog.51cto.com RAID简介 RAID(Redundant Arry of Independent Disks)独立冗余阵列,旧称(Redundant Arry of Inexpensive Disks)廉价冗余阵列,其主要目的是将多个硬盘组成在一起来达到提高I/O.读写.冗余性. RAID分为硬件RAID和软件RAID 硬件RAID通过RAID卡连接多个硬盘.或者主板中集成了RAID控制器来实现RAID的相关功能. 软

磁盘管理之基于软RAID的LVM

LVM即为逻辑卷管理是一种管理磁盘的工具使用此技术可以动态的扩展和缩小文件系统空间而不损坏其中数据同时它还具备快照功能实现文件的备份本文将介绍lvm创建逻辑卷,缩减逻辑卷以及利用快照功能实现频繁读写的文件系统的备份. 下图为其逻辑结构: PV:物理卷   PE:物理区域 VG:卷组 LV:逻辑卷 逻辑卷的创建可以是分区或是RAID 下面将以软RAID5方式详细介绍逻辑卷的创建过程 创建软raid5 首先创建分区 我们使用分区工具fdisk 设备为/dev/sdb 创建3个主分区分别为 /dev/

23、磁盘管理—磁盘阵列(RAID)实例详解

磁盘阵列(RAID)实例详解 raid技术分类 软raid技术 硬raid技术 Raid和lvm的区别 为什么选择用raid RAID详解 RAID-0 RAID-1 RAID-5 Raid-10 Raid的管理 案例:创建一个raid10+冗余盘 磁盘阵列(RAID)实例详解 Raid(磁盘阵列)级别介绍 Raid有"廉价磁盘冗余阵列"的意思,就是利用多块廉价的硬盘组成磁盘组,让数据分部储存在这些硬盘里面,从而达到读取和写入加速的目的:也可以用作数据的冗余,当某块硬盘损毁后,其他硬盘

linux基础学习-第十五天 磁盘管理(SWAP、dd、quota、RAID、LVM)

2016-08-26: 授课内容: 1.SWAP交换分区的创建 2.dd命令的使用 3.设定文件系统配额 4.设定和管理软RAID设备 5.配置逻辑卷 1.swap (1)SWAP分区:模拟内存,当物理内存不足时,进程需要内存资源是,内存会把一部分没有在用的进程分页挪到硬盘的模拟内存中,腾出空间被现在需要使用内存资源的进程 即其作用是可以允许内存过载使用,windows系统也有类似的机制,由于虚拟内存空间是建立在硬盘之上,所以其速度和性能会大打折扣,所以适合临时使用 (2)创建SWAP分区: 相

linux下磁盘管理机制--RAID

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