大纲:

1、创建RAID1

2、创建RAID5

3、创建RAID10

===============================

1、创建RAID1

RAID1原理:需要两块或以上磁盘,可添加热备盘。

在写入数据时,会在另一块磁盘中生成该文件的镜像(即同步)。

两块磁盘中的内容完全一致。

故当一块磁盘损坏时,可使用另一块镜像盘中的数据。(当拥有热备盘时,若镜像盘损坏,可由热备盘替代)

磁盘利用率为50%,即两块100G的磁盘构成RAID1只能提供100G的可用空间。

实战:创建RAID1

第一步:给虚拟机添加三块硬盘,并开机检查。

[root@localhost ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdd
[root@localhost ~]#

效果如图:

第二步:分别对三块磁盘分区,并修改其标签

使用相同办法,分别对/dev/sdb、/dev/sdc、/dev/sdd进行分区

[root@localhost ~]# 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.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xeed790f7.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xeed790f7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]#

效果如图:

第三步:创建RAID1磁盘阵列

检查三块磁盘是否被其他磁盘阵列使用

mdadm –E /dev/sd[b-d]1

使用分区后的三块磁盘,创建RAID1磁盘阵列

(其中-n指定两块设备,-x指定一个热备盘,-l 指定级别为RAID1 -C创建 -v显示信息 /dev/md1—>指定创建的设备名)

mdadm -Cv /dev/md1 -l 1 -n 2 -x 1 /dev/sd[b-d]1

检查:

[root@localhost ~]# ls /dev/md1
/dev/md1
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Sun Aug 21 01:26:17 2016
     Raid Level : raid1
     Array Size : 20954112 (19.98 GiB 21.46 GB)
  Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Sun Aug 21 01:28:01 2016
          State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
  Spare Devices : 1

           Name : localhost.localdomain:1  (local to host localhost.localdomain)
           UUID : 9f8c8a03:8036f47c:788bd593:8c0c83cd
         Events : 17

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1

       2       8       49        -      spare   /dev/sdd1
[root@localhost ~]# mdadm -E /dev/md1
mdadm: No md superblock detected on /dev/md1.
[root@localhost ~]# mdadm -E /dev/sd[b-d]1
/dev/sdb1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 9f8c8a03:8036f47c:788bd593:8c0c83cd
           Name : localhost.localdomain:1  (local to host localhost.localdomain)
  Creation Time : Sun Aug 21 01:26:17 2016
     Raid Level : raid1
   Raid Devices : 2

Avail Dev Size : 41908224 (19.98 GiB 21.46 GB)
     Array Size : 20954112 (19.98 GiB 21.46 GB)
    Data Offset : 32768 sectors
   Super Offset : 8 sectors
   Unused Space : before=32680 sectors, after=0 sectors
          State : clean
    Device UUID : 483270f1:90ae6527:ab2ceee6:58ee030d

    Update Time : Sun Aug 21 01:28:01 2016
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 5e434c0e - correct
         Events : 17

   Device Role : Active device 0
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 9f8c8a03:8036f47c:788bd593:8c0c83cd
           Name : localhost.localdomain:1  (local to host localhost.localdomain)
  Creation Time : Sun Aug 21 01:26:17 2016
     Raid Level : raid1
   Raid Devices : 2

Avail Dev Size : 41908224 (19.98 GiB 21.46 GB)
     Array Size : 20954112 (19.98 GiB 21.46 GB)
    Data Offset : 32768 sectors
   Super Offset : 8 sectors
   Unused Space : before=32680 sectors, after=0 sectors
          State : clean
    Device UUID : b6a96682:0ca07895:8fafe1f0:c5761864

    Update Time : Sun Aug 21 01:28:01 2016
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : be54c04a - correct
         Events : 17

   Device Role : Active device 1
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 9f8c8a03:8036f47c:788bd593:8c0c83cd
           Name : localhost.localdomain:1  (local to host localhost.localdomain)
  Creation Time : Sun Aug 21 01:26:17 2016
     Raid Level : raid1
   Raid Devices : 2

Avail Dev Size : 41908224 (19.98 GiB 21.46 GB)
     Array Size : 20954112 (19.98 GiB 21.46 GB)
    Data Offset : 32768 sectors
   Super Offset : 8 sectors
   Unused Space : before=32680 sectors, after=0 sectors
          State : clean
    Device UUID : 9ee8a186:310bc49c:66788d58:ec4b1d9a

    Update Time : Sun Aug 21 01:28:01 2016
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 678c0856 - correct
         Events : 17

   Device Role : spare
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
[root@localhost ~]#

查看磁盘阵列状态信息:

生成配置信息:

[root@localhost ~]# mdadm -Dvs >> /etc/mdadm.conf
[root@localhost ~]# cat !$     # !$  --> 上一条命令最后一个参数

第四步:格式化并挂载

[root@localhost ~]# mkfs.xfs /dev/md1

效果如图:

[root@localhost ~]# mkdir /disk

[root@localhost ~]# mount /dev/md1 /disk

[root@localhost ~]# df –h | tail –1

效果如图:

第五步:设置开机启动

[root@localhost ~]# echo "/dev/md1 /disk xfs defaults 0 0 " >> /etc/fstab
[root@localhost ~]# cat !$

[root@localhost ~]# df | grep /disk
[root@localhost ~]# umount /disk
[root@localhost ~]# mount –a  #测试,umount /disk 模拟重启,mount –a 模拟开机
[root@localhost ~]# df | tail –1 #检查挂载结果

效果如图:

注:也可使用   mount –av   查看挂载信息

 

第六步:RAID1磁盘故障模拟及修复

模拟RAID磁盘故障:

[root@localhost ~]# mdadm -D /dev/md1 #查看/dev/md1状态
/dev/md1:
        Version : 1.2
  Creation Time : Sun Aug 21 01:26:17 2016
     Raid Level : raid1
     Array Size : 20954112 (19.98 GiB 21.46 GB)
  Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Sun Aug 21 01:43:47 2016
          State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
  Spare Devices : 1

           Name : localhost.localdomain:1  (local to host localhost.localdomain)
           UUID : 9f8c8a03:8036f47c:788bd593:8c0c83cd
         Events : 17

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1

       2       8       49        -      spare   /dev/sdd1
[root@localhost ~]# mdadm /dev/md1 -f /dev/sdb1   #设置/dev/sdb1损坏
mdadm: set /dev/sdb1 faulty in /dev/md1
[root@localhost ~]# mdadm -D /dev/md1 #查看/dev/md1状态
/dev/md1:
        Version : 1.2
  Creation Time : Sun Aug 21 01:26:17 2016
     Raid Level : raid1
     Array Size : 20954112 (19.98 GiB 21.46 GB)
  Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Sun Aug 21 01:44:50 2016
          State : clean, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 1
  Spare Devices : 1

Rebuild Status : 3% complete

           Name : localhost.localdomain:1  (local to host localhost.localdomain)
           UUID : 9f8c8a03:8036f47c:788bd593:8c0c83cd
         Events : 19

    Number   Major   Minor   RaidDevice State
       2       8       49        0      spare rebuilding   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1

       0       8       17        -      faulty   /dev/sdb1
[root@localhost ~]#

模拟RAID磁盘故障:

1、停用RAID1磁盘阵列

2、清除/dev/sdb1超级块标识

3、激活RAID1磁盘阵列

4、添加/dev/sdb1到磁盘阵列中

详情如下:

[root@localhost ~]# mdadm /dev/md1 --zero-superblock /dev/sdb1 
mdadm: No action given for /dev/md1 in --misc mode
       Action options must come before device names
[root@localhost ~]# mdadm --zero-superblock /dev/sdb1 #磁盘阵列挂载并且激活状态下,去除标志是不会成功的
mdadm: Couldn't open /dev/sdb1 for write - not zeroing
[root@localhost ~]# mdadm -S /dev/md1   #停用RAID1磁盘阵列
mdadm: Cannot get exclusive access to /dev/md1:Perhaps a running process, mounted filesystem or active volume group?
[root@localhost ~]# df |grep disk
/dev/md1               20943872   32932  20910940   1% /disk
[root@localhost ~]# umount /disk
[root@localhost ~]# mdadm -S /dev/md1  #停用RAID1磁盘阵列
mdadm: stopped /dev/md1
[root@localhost ~]# mdadm --zero-superblock /dev/sdb1  #清除/dev/sdb1超级块标识
[root@localhost ~]# mdadm -As /dev/md1      #激活RAID1磁盘阵列
mdadm: /dev/md1 has been started with 2 drives.
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Sun Aug 21 01:26:17 2016
     Raid Level : raid1
     Array Size : 20954112 (19.98 GiB 21.46 GB)
  Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Sun Aug 21 01:49:16 2016
          State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
  Spare Devices : 0

           Name : localhost.localdomain:1  (local to host localhost.localdomain)
           UUID : 9f8c8a03:8036f47c:788bd593:8c0c83cd
         Events : 36

    Number   Major   Minor   RaidDevice State
       2       8       49        0      active sync   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1


[root@localhost ~]# mdadm /dev/md1 -a /dev/sdb1 #添加/dev/sdb1到磁盘阵列中
mdadm: added /dev/sdb1
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Sun Aug 21 01:26:17 2016
     Raid Level : raid1
     Array Size : 20954112 (19.98 GiB 21.46 GB)
  Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Sun Aug 21 01:50:15 2016
          State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
  Spare Devices : 1

           Name : localhost.localdomain:1  (local to host localhost.localdomain)
           UUID : 9f8c8a03:8036f47c:788bd593:8c0c83cd
         Events : 37

    Number   Major   Minor   RaidDevice State
       2       8       49        0      active sync   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1

       3       8       17        -      spare   /dev/sdb1


[root@localhost ~]# mdadm -Dvs >> /etc/mdadm.conf  #重新生成配置信息,在磁盘阵列信息发生改变后,要重新生成配置信息
[root@localhost ~]# cat !$
cat /etc/mdadm.conf
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=1.2 spares=1 name=localhost.localdomain:1 UUID=9f8c8a03:8036f47c:788bd593:8c0c83cd
   devices=/dev/sdb1,/dev/sdc1,/dev/sdd1
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=1.2 spares=1 name=localhost.localdomain:1 UUID=9f8c8a03:8036f47c:788bd593:8c0c83cd
   devices=/dev/sdb1,/dev/sdc1,/dev/sdd1
[root@localhost ~]#

最新文章

  1. 摘抄转载前辈们的Java集合类总结
  2. 通过淘宝IP地址库获取IP位置
  3. backup3
  4. Android进程间的通信之Messenger
  5. android user版本默认开启调试模式
  6. javascript第一弹——对象
  7. jquery rotate
  8. python 练习 20
  9. bash shell漏洞及测试
  10. Oracle由ID生成父ID的函数
  11. linux(fedora) 下dvwa 建筑环境
  12. hibernate和ibatis的区别
  13. 关于html,css,js三者的加载顺序问题
  14. 算法竞赛之递归——输出1-n的所有排列
  15. Jquery模拟多选框(checkbox)
  16. JMeter-java.lang.OutOfMemoryError: PermGen space错误
  17. YII2中添加自定义模块
  18. Confluence 6 的高级 Crowd 设置
  19. 实习第一周第一天:接口 extends是继承类,implement是实现接口,原接口里面的方法填充,方法名也是不变,重写override是父类的方法名不变,把方法体给改了
  20. Redis搜索引擎设计

热门文章

  1. Oracle DB 使用RMAN将数据库移植到ASM存储区
  2. Extjs3.4 grid中添加一列复选框
  3. Laravel 文档中的 Service Providers
  4. Tomcat内部结构及请求原理(转)
  5. 如何使用iClap进行产品管理?
  6. ACM对拍程序
  7. XSS是什么
  8. I.MX6中PC连接开发板问题
  9. linux 登录数据库
  10. javascript 面向对象 new 关键字 原型链 构造函数