RAID(Reduntant Arrays of Independent Disks),即独立冗余磁盘阵列。

RAID的级别:

Raid 0: 条带

Raid 1: 镜像

Raid 2,3,4,5 等校验码类型

Raid 01, Raid 10, Raid 50 等等。

以下是模拟创建RAID1 (2G)的过程:

1、创建raid auto分区(fd)

[root@ant-colonies ~]# fdisk /dev/sda
...

Command (m for help): t
Partition number (1-9): 8
Hex code (type L to list codes): fd
Changed system type of partition 8 to fd (Linux raid autodetect)
...

/dev/sda8            3424        3685     2104483+  fd  Linux raid autodetect
/dev/sda9            3686        3947     2104483+  fd  Linux raid autodetect
/dev/sda10           3948        4209     2104483+  fd  Linux raid autodetect

[root@ant-colonies ~]# partprobe                                #通知内核重新读取分区信息

[root@ant-colonies ~]# cat /proc/partitions
major minor      #blocks       name
   8        0    125829120        sda
...
   8        8       2104483       sda8
   8        9       2104483       sda9
   8       10      2104483       sda10

 2、将磁盘分区做成RAID盘

[root@ant-colonies ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sda{8,9}
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

[root@ant-colonies ~]# fdisk -l

...

Disk /dev/md0: MB, 2152857600 bytes
2 heads, 4 sectors/track, 525600 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

[root@ant-colonies ~]# cat /proc/mdstat                     # 查看RAID信息配置文件
Personalities : [raid1]
md0 : active raid1 sda9[1] sda8[0]
      2102400 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>

[root@ant-colonies ~]# mdadm -D /dev/md0             # 查看RAID的详细信息
/dev/md0:
        Version : 1.2
  Creation Time : Fri Jan 20 05:29:57 2017

Total Devices :
    Persistence : Superblock is persistent

Update Time : Fri Jan 20 05:30:08 2017
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

Name : ant-colonies:0  (local to host ant-colonies)
           UUID : xxxxxxxxxxxxxxxx
         Events : 17

Number   Major   Minor   RaidDevice State
       0       8        8        0      active sync   /dev/sda8
       1       8        9        1      active sync   /dev/sda9

3、格式化RAID

[root@ant-colonies ~]# mke2fs -j -E stride=16  /dev/md0
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=16 blocks, Stripe width=0 blocks
131648 inodes, 525600 blocks
26280 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=541065216
17 block groups
32768 blocks per group, 32768 fragments per group
7744 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912

Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 30 mounts or 180 days, whichever comes first.  Use tune2fs -c or -i to override.

4、模拟磁盘损坏

[root@ant-colonies ~]# mdadm /dev/md0 -f /dev/sda8
mdadm: set /dev/sda8 faulty in /dev/md0
[root@ant-colonies ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda9[1] sda8[0](F)
      2102400 blocks super 1.2 [2/1] [_U]
      
unused devices: <none>
[root@ant-colonies ~]# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Jan 20 05:29:57 2017
     Raid Level : raid1
     Array Size : 2102400 (2.01 GiB 2.15 GB)
  Used Dev Size : 2102400 (2.01 GiB 2.15 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

Update Time : Fri Jan 20 05:55:52 2017
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

Name : ant-colonies:0  (local to host ant-colonies)
           UUID : xxxxxxxxxxxxxxxx
         Events : 19

Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8        9        1      active sync   /dev/sda9

0       8        8        -      faulty   /dev/sda8

5、移除损坏盘

[root@ant-colonies ~]# mdadm /dev/md0 -r /dev/sda8
mdadm: hot removed /dev/sda8 from /dev/md0
[root@ant-colonies ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Jan 20 05:29:57 2017
     Raid Level : raid1
     Array Size : 2102400 (2.01 GiB 2.15 GB)
  Used Dev Size : 2102400 (2.01 GiB 2.15 GB)
   Raid Devices : 2
  Total Devices : 1
    Persistence : Superblock is persistent

Update Time : Fri Jan 20 06:02:20 2017
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

Name : ant-colonies:0  (local to host ant-colonies)
           UUID : 7e24b602:766c7d33:85e03d1a:868c3d08
         Events : 20

Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8        9        1      active sync   /dev/sda9
[root@ant-colonies ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda9[1]
      2102400 blocks super 1.2 [2/1] [_U]
      
unused devices: <none>

6、添加新盘到阵列
[root@ant-colonies ~]# mdadm /dev/md0 -a /dev/sda10         # 不需要重新格式化
mdadm: added /dev/sda10
[root@ant-colonies ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda10[2] sda9[1]
      2102400 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>

7、增加热备盘

[root@ant-colonies ~]# mdadm /dev/md0 -a /dev/sda8
mdadm: added /dev/sda8
[root@ant-colonies ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda8[3](S) sda10[2] sda9[1]
      2102400 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>
[root@ant-colonies ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Jan 20 05:29:57 2017
     Raid Level : raid1
     Array Size : 2102400 (2.01 GiB 2.15 GB)
  Used Dev Size : 2102400 (2.01 GiB 2.15 GB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent

Update Time : Fri Jan 20 06:11:46 2017
          State : clean
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

Name : ant-colonies:0  (local to host ant-colonies)
           UUID : xxxxxxxxxxxxxxxx
         Events : 40

Number   Major   Minor   RaidDevice State
       2       8       10        0      active sync   /dev/sda10
       1       8        9        1      active sync   /dev/sda9

3       8        8        -      spare   /dev/sda8

8、停止RAID阵列

[root@ant-colonies ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@ant-colonies ~]# cat /proc/mdstat
Personalities : [raid1]
unused devices: <none>
[root@ant-colonies ~]# mdadm -D /dev/md0
mdadm: cannot open /dev/md0: No such file or directory

9、重新启动RAID阵列

[root@ant-colonies ~]# mdadm -A /dev/md0 /dev/sda{9,10,8}
mdadm: /dev/md0 has been started with 2 drives and 1 spare.

[root@ant-colonies ~]# mdadm -D --scan                       # 查看磁盘阵列的磁盘数据信息
ARRAY /dev/md0 metadata=1.2 name=ant-colonies:0 UID=7e24b602:766c7d33:85e03d1a:868c3d08
[root@ant-colonies ~]# mdadm -D --scan > /etc/mdadm.conf   # 将磁盘阵列信息添加到系统配置文件,当阵列重新装配时系统会自动挂载对应的磁盘
[root@ant-colonies ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
[root@ant-colonies ~]# mdadm -A /dev/md0
mdadm: /dev/md0 has been started with 2 drives.

10、模拟RAID阵列一块盘损坏,热备盘自动启用作为镜像

[root@ant-colonies ~]# mdadm /dev/md0 --fail /dev/sda10
mdadm: set /dev/sda10 faulty in /dev/md0
[root@ant-colonies ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda10[2](F) sda8[3] sda9[1]
      2102400 blocks super 1.2 [2/1] [_U]
      [===============>.....]  recovery = 76.0% (1600000/2102400) finish=0.0min speed=228571K/sec                   # 显示系统在恢复数据至sda8
      
unused devices: <none>
[root@ant-colonies ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda10[2](F) sda8[3] sda9[1]
      2102400 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>
[root@ant-colonies ~]# watch -n 2 `cat /proc/mdstat`   # watch每2s执行一次cat,动态查看数据恢复情况

附:

mdadm: 将任何块设备做成RAID
模式化的命令:
    创建模式
        -C
            专用选项:
                -l: 级别
                -n #: 设备个数
                -a {yes|no}: 是否自动为其创建设备文件
                -c: CHUNK大小, 2^n,默认为64K
                -x #: 指定空闲盘个数
    管理模式
        --add, --remove, --fail
        mdadm /dev/md# --fail /dev/sda7
    监控模式
        -F
    增长模式
        -G
    装配模式
        -A

查看RAID阵列的详细信息
mdadm -D /dev/md#
    --detail
    
停止阵列:
    mdadm -S /dev/md#
        --stop

watch: 周期性地执行指定命令,并以全屏方式显示结果
    -n #:指定周期长度,单位为秒,默认为2
格式: watch -n # 'COMMAND'
    
将当前RAID信息保存至配置文件,以便以后进行装配:
mdamd -D --scan > /etc/mdadm.conf

mke2fs -j  -E stride=16   /dev/md2      // stride=chuncks/blocksizes    (指定stride即条带大小)

RAID磁盘分区的创建的更多相关文章

  1. Linux下的磁盘分区,和创建文件系统(理论及实战)

    首先我们先了解一下磁盘的原理 磁盘的数据结构有: 扇区:盘片被分为多个扇形区域,每一个扇区存放512个字节的数据 磁道:同一个盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 公式: 磁盘存储 ...

  2. linux(十三)之磁盘分区、创建文件系统、挂载

    前面学习了linux的用户管理 ,感觉是不是多lnux的多用户多任务的系统感觉十分了解了,但是其实并不然的.你还需要了解更多.接下来给大家分享的是 在vmware中添加硬盘创建分区,然后挂载到指定目录 ...

  3. parted创建磁盘分区并创建LVM(Linux合并多块大于2T的磁盘并合并到一个分区)

    文章转载自:https://blog.csdn.net/likemebee/article/details/85630808

  4. Linux磁盘分区,目录树,文件系统的关系(转)

    研究了很久,自始至终不能够从三者的区别和联系中找到一个大脑与这些概念之间合适的相处方式.对于基本概念和理论理解不到位,在工作之中会走很多弯路和犯很多错误.今天花一天的时间,终于对三者的区别和联系有了更 ...

  5. linux磁盘分区格式化-fdisk命令工具

    本文主要讲述使用fdisk工具对磁盘进行分区和格式化的方法 首先要明确分区是针对磁盘进行的操做,磁盘分区会创建分区表,类似vda,sda的是磁盘,vda1,sda1的是分区 1.查看磁盘分区状态 1. ...

  6. linux磁盘分区fdisk分区和parted分区

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 磁盘分区 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  7. (转)linux磁盘分区fdisk分区和parted分区

    linux磁盘分区fdisk分区和parted分区 原文:http://www.cnblogs.com/jiu0821/p/5503660.html ~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  8. Linux RAID 磁盘管理

    Linux RAID 磁盘管理 RAID工作模式介绍:https://www.cnblogs.com/xiangsikai/p/8441440.html 本章主要讲解 Linux下 RAID5 与 R ...

  9. Windows服务器如何磁盘分区,Windows服务器磁盘分区常见的三种

    原文来自:https://www.sohu.com/a/272133008_100217178 我怕链接会失效,故转载此篇文章,解析得很透彻,一目了然!记录. -------------------- ...

随机推荐

  1. 51单片机的TXD、 RXD 既接了 232 又接了 485芯片 ,会导致通信失败!

    51单片机的TXD. RXD 既接了 232 又接了 485 ,会导致通信失败! 下面是绘制电路板用的部分电路图: 通信现象: 1.我使用了USB-232的下载模块,把它接到P4上,发现单片机只能发送 ...

  2. atoi函数实现

    #include int my_atoi(const char *str) { int result; char sign; for (; str && isspace(*str); ...

  3. Python数据结构与算法设计(总结篇)

    的确,正如偶像Bruce Eckel所说,"Life is short, you need Python"! 如果你正在考虑学Java还是Python的话,那就别想了,选Pytho ...

  4. Learning Python 008 正则表达式-001

    Python 正则表达式 总结 这节课讲讲正真使用的技术 - 正真表达式. 文本爬虫 什么是正则表达式 正则表达式这个名词听起来就有一种很官方的感觉,但是它是一个很很很有用的技术.我用语言是不能形容它 ...

  5. Linux中Root用户密码变更、密码忘记

    用户设置bash的时候,错把root的bash改为bin/bash,注意,不是“/bin/bash”!. 然后就登录不了root了,也修改不了/etc/passwd了. 解决: 1.重启Ubuntu, ...

  6. MySQL(进阶)

    视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( SEL ...

  7. NPOI导出EXCEL部分样式不起作用

    在使用NPOI导出excel的时候,设置cell样式,数据量多余6条之后,在后面几条数据没有样式(边框,对其,换行等). 原因是设置CellStyle的时候把CreateCellStyle放在循环列集 ...

  8. api接口访问限制

    1.场景描述 在日常开发接口的时候,尤其是restfull接口,肯定会考虑安全或者是做一些自定义的限制,用来界定并维护代码.那么,我们都会采用什么方法那?通常来讲,我们可以通过session的形式,以 ...

  9. C#类和类的实例

    类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功能的对象的抽象的集合. 1.类的定义  <访问修 ...

  10. WebGL three.js学习笔记 6种类型的纹理介绍及应用

    WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学 ...