linux磁盘管理三——独立磁盘冗余阵列 RAID

Posted 遙遙背影暖暖流星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux磁盘管理三——独立磁盘冗余阵列 RAID相关的知识,希望对你有一定的参考价值。

一,RAID 的认识
在这里插入图片描述
多快同时存储,速度快,但没有备份,不安全
在这里插入图片描述
在这里插入图片描述

只有一个在正在存数据,一个备份,速度慢,安全
在这里插入图片描述
在这里插入图片描述

数据随机在一个盘中建立检验。允许一个盘坏掉
在这里插入图片描述
在这里插入图片描述

数据随机在两个盘中建立检验,容许两个坏掉
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、配置RAID的大致步骤:
1、建立对应磁盘阵列

mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb  /dev/sdc    #-C创建,跟raid名称与路径;-l 后跟RAID的类型  ;-n阵列化的磁盘数 ;最后是被列阵化的具体磁盘 

2、生成配置文件
配置文件在 /etc/ mdadm.conf,若没有先touch建立

  mdadm -Dsv /dev/md0 > /etc/ mdadm.conf

3、格式化

mkfs.xfs  /dev/md0 

4、挂载磁盘

mount /dev/md0  /raid0   #挂载/raid0,临时
或者是
vim /etc/fstab  
/dev/vd0 /raid0  xfs defaults 0 0   #输入,永久保存
或者[
root@localhost ~]# blkid /dev/md0
/dev/md0: UUID="41918eb2-4385-4644-9629-dc4297ce2624" TYPE="xfs" 
[root@localhost ~]# echo "UUID=41918eb2-4385-4644-9629-dc4297ce2624 /md0 xfs defaults 0 0" >> /etc/fstab 

#移除一块硬盘之后,硬盘设备的名称也随之而改变了,所以最好用UUID挂载硬盘

三、
1、配置RAID0
如图,有b~g六个空磁盘
lsblk #查看磁盘
在这里插入图片描述
生成raid0的
在这里插入图片描述
生成配置文件
在这里插入图片描述
格式化和挂载
在这里插入图片描述
2、卸载RAID 0

[root@localhost etc]# umount /dev/md0    #卸载挂载
[root@localhost etc]# mdadm -S /dev/md0   停止md0
[root@localhost etc]# mdadm --zero-superblock /dev/sd0   #移除数据
[root@localhost etc]# cat /dev/null > /etc/mdadm.conf  #目前mdadm中只有md0的,可以清空配置

在这里插入图片描述
3.1、配置RAID1

mdadm -C -v /dev/md11 -l 1 -n 2  /dev/sda /dev/sdb    #创建raid1,-C创建,跟raid名称与路径;-l 后跟RAID的类型  ;-n阵列化的磁盘数 ;最后是被列阵化的具体磁盘 
[root@localhost etc]# mdadm -C -v /dev/md11 -l 1 -n 2  /dev/sdc /dev/sdb       #  创建一个raid1,名为md11
mdadm: /dev/sdc appears to be part of a raid array:
       level=raid0 devices=2 ctime=Mon May 10 14:42:39 2021
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: /dev/sdb appears to be part of a raid array:
       level=raid0 devices=2 ctime=Mon May 10 14:42:39 2021
mdadm: size set to 20954112K
Continue creating array? y     #y确认
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md11 started.
[root@localhost etc]# mdadm -Dsv /dev/ /md11 > /etc/mdadm.conf   # 配置文件

[root@localhost etc]# mkfs.xfs /dev/md11    #格式化md11
meta-data=/dev/md11              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 etc]# mkdir /raid11   
[root@localhost etc]# mount /dev/md11 /raid11  # 挂载

3.2、RAID1 的热备份

[root@localhost etc]# mdadm -a /dev/md11 /dev/sdd   #增加区
mdadm: /dev/ /md11 is an invalid name for an md device - ignored.
mdadm: added /dev/sdd
[root@localhost etc]# lsblk     #此时看到sdd出现在md11
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  200G  0 disk
├─sda1            8:1    0  190G  0 part  /boot
└─sda2            8:2    0   10G  0 part
  ├─centos-root 253:0    0    7G  0 lvm   /
  └─centos-swap 253:1    0    3G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk
└─md11            9:11   0   20G  0 raid1 /raid11
sdc               8:32   0   20G  0 disk
└─md11            9:11   0   20G  0 raid1 /raid11
sdd               8:48   0   20G  0 disk
└─md11            9:11   0   20G  0 raid1 /raid11
sde               8:64   0   20G  0 disk
sdf               8:80   0   20G  0 disk
sdg               8:96   0   20G  0 disk
sr0              11:0    1  4.3G  0 rom   /run/media/root/CentOS 7 x86_64
[root@localhost etc]# mdadm -r /dev/md11 /dev/sdd    #移除盘,注意慎用,当有数据数据时不能移除
mdadm: /dev/  /md11 is an invalid name for an md device - ignored.
mdadm: hot removed /dev/sdd from /dev/md11
[root@localhost etc]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0  200G  0 disk
├─sda1            8:1    0  190G  0 part  /boot
└─sda2            8:2    0   10G  0 part
  ├─centos-root 253:0    0    7G  0 lvm   /
  └─centos-swap 253:1    0    3G  0 lvm   [SWAP]
sdb               8:16   0   20G  0 disk
└─md11            9:11   0   20G  0 raid1 /raid11
sdc               8:32   0   20G  0 disk
└─md11            9:11   0   20G  0 raid1 /raid11
sdd               8:48   0   20G  0 disk
sde               8:64   0   20G  0 disk
sdf               8:80   0   20G  0 disk

4、设置热备份的盘
先把之前的raid去掉

[root@localhost etc]# umount /dev/md11
[root@localhost etc]# mdadm -S /dev/md11
[root@localhost etc]# cat /dev/null > /etc/mdadm.conf

重新创建,-x指定热备份的数量

 mdadm  -C -v /dev/md11 -l 1 -n 2 -x 1 /dev/sd[b-d]   #组内工作的2个盘,热备一个

在这里插入图片描述
这时候如再加一个盘到md11时,依旧为热备份盘,不能正常使用。raid1是两个磁盘,也无法单独加一个盘,拓展磁盘时可以和lvm结合,达到单独加一个盘的需要。

5、配置RAID5


[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 -x1 /dev/sd[b,c,d,e]     //3块盘做raid5,1块盘做热备
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: /dev/sdb appears to be part of a raid array:
       level=raid5 devices=4 ctime=Mon May 10 02:27:56 2021
mdadm: /dev/sdc appears to be part of a raid array:
       level=raid5 devices=4 ctime=Mon May 10 02:27:56 2021
mdadm: /dev/sdd appears to be part of a raid array:
       level=raid5 devices=4 ctime=Mon May 10 02:27:56 2021
mdadm: /dev/sde appears to be part of a raid array:
       level=raid5 devices=4 ctime=Mon May 10 02:27:56 2021
mdadm: size set to 20954112K
Continue creating array? y               <----这里输入y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

[root@localhost ~]# mdadm -D /dev/md5    //查看状态
/dev/md5:
           Version : 1.2
     Creation Time : Mon May 10 02:34:28 2021
        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 May 10 02:35:11 2021
             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 : 19141953:15e712a3:70fc1faa:220b06c7
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       3       8       64        -      spare   /dev/sde      //热备盘


[root@localhost ~]# mdadm -Dvs > /etc/mdadm.conf    //写入配置

[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 ~]# mkdir /raid5

[root@localhost ~]# mount /dev/md5 /raid5/

6,创建RAID 10

创建raid10(用4块硬盘)
两种方法
1、可以先做raid1再做raid0
2、mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sd[k,l,m,n]

以上是关于linux磁盘管理三——独立磁盘冗余阵列 RAID的主要内容,如果未能解决你的问题,请参考以下文章

linux 系统管理之磁盘阵列RAID和压缩命令

RAID(独立冗余磁盘阵列)与LVM(逻辑卷管理器)

Linux软件RAID(磁盘冗余阵列)

Linux系统RAID磁盘阵列

独立冗余磁盘阵列 ----RAID

Raid磁盘阵列在Linux系统上的搭建