Linux服务硬件及RAID配置

RAID磁盘阵列介绍

是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列
把多块独立的物理硬盘按不通的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据本分技术
组成磁盘阵列的不通方式称为RAID级别(RAID Levels)
常用的RAID级别:RAID0,RAID1,RAID5,RAID6,RAID1+0等

RAID 0磁盘阵列介绍

RAID 0(2块以上磁盘)
RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余

RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据

RAID 0不能应用于数据安全性要求高的场合

RAID 1磁盘阵列介绍

RAID 1(两块磁盘)
在这里插入图片描述

通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据

当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能

RAID 1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可比性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据

RAID 5 磁盘阵列介绍

RAID 5
在这里插入图片描述

N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有一份校验数据,共N分数据在N块盘上循环均衡存储

N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高

(N-1)/N磁盘利用率

可靠性高,允许坏一块盘,不影响所有数据

RAID 6 磁盘阵列介绍

RAID 6
在这里插入图片描述

N(N>=4)块盘组成阵列,(N-2)/N磁盘利用率

与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块

两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用

相对于RAID 5 有更大的“写损失”,因此写性能较差

RAID 1+0 磁盘阵列介绍

RAID 1+0
在这里插入图片描述

RAID 1+0是RAID 1和RAID 0的结合,先做镜像,再做条带
兼顾了RAID 1的容错能力与RAID 0的条带化读写数据的优点,性能好,可靠性高。属于混合型RAID
N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0
N/2磁盘利用率;N/2块盘同时写入,N块盘同时读取
性能高,可靠性高
(所有计费有关的业务用RAID 1+0)
RAID 10不适合计费有关的业务是因为一块硬盘挂了,只能读,不能写,对持续性业务不适合

RAID卷的比较

级别磁盘数量容错性扩展性可用磁盘空间
带卷区RAID02块以上多块磁盘容量的总和
镜像卷RAID12块2块磁盘的容量总和的1/2
RAID53块以上多块磁盘容量总和的n-1/n
RAID64块以上多块磁盘总和的n-2/n
RAID1+0偶数,4块以上多块磁盘容量总和的n/2

阵列卡介绍

阵列卡全称为磁盘阵列卡,是用来实现RAID 功能的板卡
RAID卡一般分为硬RAID卡和软RAID卡两种
通过硬件来实现RAID功能的就是硬RAID,通常是哟I/O处理器,硬盘控制器,硬盘连接器和缓存等一些列组件构成
通过软件并使用CPU的RAID卡我们成为软RAID,因为软RAID占用CUP资源比较高,所以绝大部分的服务器设备都使用的硬RAID
不同的RAID卡支持的RAID功能不同,例如支持RAID 0,RAID 1,RAID 5,RAID1+0等
RAID卡的第一个重要功能就是他可以达到单个磁盘驱动器的几倍,几十倍甚至上百倍的速率,这也是RAID最初想要解决的问题
RAID卡的第二个重要功能就是提供容错能力,现在服务器基本上集成了RAID卡

RAID卡的接口类型

IDE接口、SCSI接口、SATA接口和SAS接口------前两个不常用

阵列卡的缓存

缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据
缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素
不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等

构建软RAID磁盘阵列实验

我们需要用到mdadm工具创建RAID磁盘

因为我们做的是RAID,所以文件系统格式需要改为fd

mdadm工具指令基本格式
[root@localhost ~]# mdadm -C -v 目录 -l级别 -n磁盘数量 设备

常用选项
l		指定级别
C		创建
v		指定目录
n		磁盘数量

查看RAID级别的两个方法

第一个方法
cat /proc/mdstat		'//查看状态'

第二个方法
mdadm -D 目录

RAID 0 实验

需要两块磁盘
磁盘分区格式需要改为fd(raid格式)

1.创建好两个磁盘分区

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1  

2.创建RAID0

[root@localhost ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sd[b-c]1		'//在/dev/md0目录下创建RAID 0'
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# cat /proc/mdstat		'//查看raid 第一种方法'
Personalities : [raid0] 
md0 : active raid0 sdc1[1] sdb1[0]
      41908224 blocks super 1.2 512k chunks
      
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md0		'//查看raid 第二种方法'
/dev/md0:
           Version : 1.2
     Creation Time : Mon Nov  4 23:13:21 2019
        Raid Level : raid0
        Array Size : 41908224 (39.97 GiB 42.91 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Mon Nov  4 23:13:21 2019
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : e6803bdd:e42b94df:8a0475cd:a1ef6f04
            Events : 0

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

3.格式化分区

[root@localhost ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

4.格式化后并挂载

[root@localhost ~]# mkdir /raid0		'//创建raid0挂载目录'
[root@localhost ~]# mount /dev/md0 /raid0/		'//将/dev/md0 挂载到/raid0'
[root@localhost ~]# df -hT		'//查看挂载是否成功'
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  3.1G   17G   16% /
devtmpfs       devtmpfs  898M     0  898M    0% /dev
tmpfs          tmpfs     912M     0  912M    0% /dev/shm
tmpfs          tmpfs     912M  9.0M  903M    1% /run
tmpfs          tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   37M   10G    1% /home
/dev/sda1      xfs       6.0G  174M  5.9G    3% /boot
tmpfs          tmpfs     183M   12K  183M    1% /run/user/42
tmpfs          tmpfs     183M     0  183M    0% /run/user/0
/dev/md0       xfs        40G   33M   40G    1% /raid0

RAID 1实验

-x:备用磁盘

1.创建raid1

[root@localhost ~]# mdadm -C -v /dev/md1 -l1 -n2 /dev/sd[d-e]1 -x1 /dev/sdf1		'//创建将sdd1,sde1创建raid1,并将sdf1作为备用磁盘'
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
mdadm: size set to 20954112K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.

2.查看状态信息

[root@localhost ~]# cat /proc/mdstat		'//查看状态信息'
Personalities : [raid0] [raid1] 
md1 : active raid1 sdf1[2](S) sde1[1] sdd1[0]
      20954112 blocks super 1.2 [2/2] [UU]
      [===========>.........]  resync = 59.1% (12402304/20954112) finish=0.6min speed=206292K/sec
      
md0 : active raid0 sdc1[1] sdb1[0]
      41908224 blocks super 1.2 512k chunks
      
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md1		'//查看详细信息'
/dev/md1:
           Version : 1.2
     Creation Time : Mon Nov  4 23:41:52 2019
        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 : Mon Nov  4 23:43:18 2019
             State : clean, resyncing 
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1

Consistency Policy : resync

     Resync Status : 82% complete

              Name : localhost.localdomain:1  (local to host localhost.localdomain)
              UUID : cbd878ef:8ad679a4:2ee73455:99f429de
            Events : 13

    Number   Major   Minor   RaidDevice State
       0       8       49        0      active sync   /dev/sdd1
       1       8       65        1      active sync   /dev/sde1

       2       8       81        -      spare   /dev/sdf1

3.格式化并挂载

[root@localhost ~]# mkfs.xfs /dev/md1		'//格式化分区'
meta-data=/dev/md1               isize=512    agcount=4, agsize=1309632 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5238528, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mkdir /raid1		'//创建raid1挂载目录'
[root@localhost ~]# mount /dev/md1 /raid1		'//挂载'
[root@localhost ~]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  3.1G   17G   16% /
devtmpfs       devtmpfs  898M     0  898M    0% /dev
tmpfs          tmpfs     912M     0  912M    0% /dev/shm
tmpfs          tmpfs     912M  9.1M  903M    1% /run
tmpfs          tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   37M   10G    1% /home
/dev/sda1      xfs       6.0G  174M  5.9G    3% /boot
tmpfs          tmpfs     183M   12K  183M    1% /run/user/42
tmpfs          tmpfs     183M     0  183M    0% /run/user/0
/dev/md0       xfs        40G   33M   40G    1% /raid0
/dev/md1       xfs        20G   33M   20G    1% /raid1

RAID 5/RAID 6实验

1.创建raid5

[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[g-j]1 -x1 /dev/sdk1 '//用sdg1,sdh1,sdj1创建raid5,将sdk1作为备用磁盘'
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

2.查看磁盘信息

[root@localhost ~]# cat /proc/mdstat		'//查看状态信息'
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] 
md5 : active raid5 sdj1[4] sdk1[3](S) sdh1[1] sdg1[0]
      41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      
md1 : active raid1 sdf1[2](S) sde1[1] sdd1[0]
      20954112 blocks super 1.2 [2/2] [UU]
      
md0 : active raid0 sdc1[1] sdb1[0]
      41908224 blocks super 1.2 512k chunks
      
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md5		'//查看详细信息'
/dev/md5:
           Version : 1.2
     Creation Time : Mon Nov  4 23:53:59 2019
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Mon Nov  4 23:55:43 2019
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : e473255b:68d70fc5:3e26dce3:9a98f13e
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       97        0      active sync   /dev/sdg1
       1       8      113        1      active sync   /dev/sdh1
       4       8      145        2      active sync   /dev/sdj1

       3       8      161        -      spare   /dev/sdk1

3.删除一块磁盘,看备用磁盘是否自动顶替掉坏掉的磁盘

[root@localhost ~]# mdadm -f /dev/md5 /dev/sdg1		'//删除sdg1'
mdadm: set /dev/sdg1 faulty in /dev/md5		'//提示sdg1已经损坏'
[root@localhost ~]# mdadm -D /dev/md5		'//查看详细信息'
/dev/md5:
           Version : 1.2
     Creation Time : Mon Nov  4 23:53:59 2019
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Nov  5 00:00:54 2019
             State : clean, degraded, recovering 
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 22% complete

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : e473255b:68d70fc5:3e26dce3:9a98f13e
            Events : 23

    Number   Major   Minor   RaidDevice State
       3       8      161        0      spare rebuilding   /dev/sdk1		'//发现备用sdk1已经顶替上来'
       1       8      113        1      active sync   /dev/sdh1
       4       8      145        2      active sync   /dev/sdj1

       0       8       97        -      faulty   /dev/sdg1

4.格式化并挂载

[root@localhost ~]# mkdir /raid5		'//创建挂载点目录'
[root@localhost ~]# mkfs.xfs /dev/md5		'//格式化'
meta-data=/dev/md5               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mount /dev/md5 /raid5		'//挂载'

RAID 1+0 实验

RAID 1+0是用两个RAID1来创建的

1.连续创建两个raid1

[root@localhost ~]# mdadm -C -v /dev/md0 -l1 -n2 /dev/sd[b-c]1		'//创建第一个raid1'
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
mdadm: size set to 20954112K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -C -v /dev/md1 -l1 -n2 /dev/sd[d-e]1		'//创建第二个raid1'
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
mdadm: size set to 20954112K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.

2.查看详细信息

[root@localhost ~]# mdadm -D /dev/md0
[root@localhost ~]# mdadm -D /dev/md1

3.创建raid1+0

[root@localhost ~]# mdadm -C -v /dev/md10 -l0 -n2 /dev/md0 /dev/md1
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.

4.查看详细信息

[root@localhost ~]# mdadm -D /dev/md10
/dev/md10:
           Version : 1.2
     Creation Time : Tue Nov  5 00:19:07 2019
        Raid Level : raid0
        Array Size : 41875456 (39.94 GiB 42.88 GB)		'//创建成功'
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Tue Nov  5 00:19:07 2019
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : localhost.localdomain:10  (local to host localhost.localdomain)
              UUID : 6c3209a3:71bece7a:9b3129be:05a436e0
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       9        0        0      active sync   /dev/md0
       1       9        1        1      active sync   /dev/md1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值