M25_六周:raid磁盘阵列

1:磁盘阵列:

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。

磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。

磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

2:分类:

磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。

外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵。

内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作。

利用软件仿真的方式,是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。因此会拖累机器的速度,不适合大数据流量的服务器。

3:RAID级别:

区块,一般chunk可设定为4k~1M之间,不同的raid会根据chunk数量来切割符合大小后并保存到不同的磁盘去.

/dev/md0 一般只有软raid才这么表示`硬raid很可能不显示,设定在raid卡处理

硬raid做的raid0很可能会导致容量过大的500G和100G会产生有400G无法使用.磁盘效能要最大化,磁盘大小尽量相等

raid0 带区,并联,分散存储,性能好/稳定差.

raid1 镜像,并联,数据备份,稳定好/写入性能弱/读取性能好.

raid01 先带区再镜像

raid10 先镜像再带区,容错比01好,强烈建议,并因为不需要像如raid5做数据校验找回,读写性能会更好.

raid4 3个带区,1个校验,性能+一定安全.>=3块硬盘 读写频繁

raid5 至少3个磁盘以上,校验分布在各个磁盘, 丢哪个根据冗余计算可恢复,奇偶校验有性能+ 安全

spare disk 坏的磁盘马上恢复备用硬盘

4:创建RAID5磁盘阵列

操作环境CentOS 7.3(虚拟机)

首先准备多个磁盘,最少3个,这里我们准备4个,第四个作为备份,当有磁盘坏掉后,第四块备份的硬盘会自动顶替坏掉的硬盘修复数据。因为是做实验磁盘大小都分区为2个G。

创建RAID5阵列:

[ root@localhost ~ ]#mdadm  -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,e,f}1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
//-C /dev/md0:因为是软raid所有硬盘名为md0,虚拟机必须这样设置,不然添加不了
// -l 5: 创建阵列为raid5
// -n 3 -x1 :3块主硬盘,-x1:备用硬盘1块
// /dev/sd{b,c,e,f}1: sdb1、sdc1、sde1、sdf 1:4块磁盘
####查看硬盘信息:lsblk
[ root@localhost ~ ]#lsblk
sdb               8:16   0   50G  0 disk
└─sdb1            8:17   0    2G  0 part
sdc               8:32   0   60G  0 disk
└─sdc1            8:33   0    2G  0 part
sdd               8:48   0   80G  0 disk
sde               8:64   0   50G  0 disk
└─sde1            8:65   0    2G  0 part
sdf               8:80   0   50G  0 disk
└─sdf1            8:81   0    2G  0 part
sr0              11:0    1 1024M  0 rom
//带有md0的都是刚刚创建的raid5阵列的磁盘

查看raid5阵列磁盘详细信息:mdadm -D /dev/md0

[ root@localhost ~ ]#mdadm  -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sun Aug 20 11:25:02 2017
     Raid Level : raid5
     Array Size : 4190208 (4.00 GiB 4.29 GB)
  Used Dev Size : 2095104 (2046.00 MiB 2145.39 MB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sun Aug 20 11:25:10 2017
          State : clean, degraded, recovering
 Active Devices : 2
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 2

         Layout : left-symmetric
     Chunk Size : 512K

 Rebuild Status : 49% complete

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : f2998446:399a4adf:1e1b584d:a7ac7c37
         Events : 8

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       4       8       65        2      spare rebuilding   /dev/sde1

       3       8       81        -      spare   /dev/sdf1

格式化raid5,创建文件系统格式并挂载使用

[ root@localhost ~ ]#mke2fs -t ext4 /dev/md0  //格式化成ext4格式
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=256 blocks
262144 inodes, 1047552 blocks
52377 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
  
挂载使用:
[ root@localhost ~ ]#mount /dev/md0  /mnt
[ root@localhost ~ ]#df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/cl-root      52403200 1155216  51247984   3% /
devtmpfs                   488984       0    488984   0% /dev
tmpfs                      499968       0    499968   0% /dev/shm
tmpfs                      499968    6844    493124   2% /run
tmpfs                      499968       0    499968   0% /sys/fs/cgroup
/dev/sda1                 1038336  141664    896672  14% /boot
/dev/mapper/cl-software  10475520   32944  10442576   1% /software
tmpfs                       99996       0     99996   0% /run/user/0
/dev/md0                  4058816   16376   3816548   1% /mnt

测试raid5的效果

[ root@localhost /mnt ]#dd if=/dev/zero  of=/mnt/f1 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 6.91397 s, 155 MB/s
[ root@localhost /mnt ]#dd if=/dev/zero  of=/root/1.txt  bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 27.5494 s, 39.0 MB/s
//因为是在机械硬盘上,第一条是在raid5阵列测试,第二条是机械硬盘测试,效果一般般

模拟一块硬盘坏掉

 [ root@localhost /mnt ]#mdadm  /dev/md0  -f /dev/sdb1
// 模拟把sdb1硬盘弄坏
mdadm: set /dev/sdb1 faulty in /dev/md0
[ root@localhost /mnt ]#mdadm  -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sun Aug 20 11:25:02 2017
     Raid Level : raid5
     Array Size : 4190208 (4.00 GiB 4.29 GB)
  Used Dev Size : 2095104 (2046.00 MiB 2145.39 MB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sun Aug 20 11:38:33 2017
          State : clean, degraded, recovering
 Active Devices : 2
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

 Rebuild Status : 6% complete

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : f2998446:399a4adf:1e1b584d:a7ac7c37
         Events : 21

    Number   Major   Minor   RaidDevice State
       3       8       81        0      spare rebuilding   /dev/sdf1
       1       8       33        1      active sync   /dev/sdc1
       4       8       65        2      active sync   /dev/sde1

       0       8       17        -      faulty   /dev/sdb1
// 确实坏了,我们的sdf1自动顶配上去恢复数据去了

你可能感兴趣的:(M25_六周:raid磁盘阵列)