Linux入门之raid的配置原理及软raid的配置(CentOS,Ubuntu)


概述

RAID(Redundant Arrays of Inexpensive(Independent)Disks)1988年由加利福尼亚大学伯克利分校(University of California-Berkeley)“A Case for Redundant Arrays of Inexpensive Disks”
独立磁盘冗余阵列: 磁盘阵列是把多个磁盘组成一个阵列, 当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。

在这里插入图片描述功能
提高IO能力———磁盘并行读写
提高耐用性———磁盘冗余来实现

Raid分类及其工作原理

RAID级别
级别特点
Raid0无容错能力
Raid1有冗余能力
Raid4多块数据盘异或运算值,存于专用校验盘
Raid5有容错能力:允许最多1块磁盘损坏
Raid6有容错能力:允许最多2块磁盘损坏
Raid10有容错能力:每组镜像最多只能坏一块
Raid0介绍

在这里插入图片描述
特点

  • 读、写性能提升;
  • 可用空间:N*min(S1,S2,…)
  • 无容错能力
  • 最少磁盘数:2, 2

实现方式

把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。

优点

实现成本较为低廉
提高整个磁盘的性能和吞吐量

缺点

无数据冗余能力

Raid1介绍

在这里插入图片描述
特点

  • 读性能提升、写性能略有下降;
  • 可用空间:1*min(S1,S2,…)
  • 有冗余能力
  • 最少磁盘数:2, 2N

实现方式

把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用

优点

读性能提升
具有良好的数据冗余能力

缺点

成本高
写性能略有下降

Raid4介绍

在这里插入图片描述
特点

  • 多块数据盘异或运算值,存于专用校验盘

实现方式

RAID4和RAID3类似,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。

优点

读写性能极大提升
对于大量的连续数据有较好的I/O能力
有容错能力

缺点

成本较高
实现RAID控制较为困难

Raid5介绍

在这里插入图片描述
特点

  • 读、写性能提升
  • 可用空间:(N-1)*min(S1,S2,…)
  • 有容错能力:允许最多1块磁盘损坏
  • 最少磁盘数:3, 3+

实现方式
综合了RAID 0 的条带化技术以及阵列数据冗余技术

优点

读性能有提高,块式的集体访问效率不错
数据可靠性较高

缺点

写入效率一般,存在”写”损失
控制器的设计困难

Raid6介绍

在这里插入图片描述
特点

  • 读、写性能提升
  • 可用空间:(N-2)*min(S1,S2,…)
  • 有容错能力:允许最多2块磁盘损坏
  • 最少磁盘数:4, 4+

实现方式

综合了RAID 0 的条带化技术以及阵列数据冗余技术,较RAID 5多了一个校验盘

优点

读性能有提高,块式的集体访问效率不错
数据可靠性较高

缺点

写入效率一般,存在”写”损失
控制器的设计困难

Raid10介绍

在这里插入图片描述
特点

  • 读、写性能提升
  • 可用空间:N*min(S1,S2,…)/2
  • 有容错能力:每组镜像最多只能坏一块
  • 最少磁盘数:4, 4+

实现方式

一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速的目的。

优点

每一个镜像中可以有一个磁盘出现故障而不丢失数据
提供良好的读写速度

缺点

如果镜像对中的另一个磁盘也发生故障,则会丢失整个阵列。
设备的可用容量会减少一半

软Raid的配置

创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

1.首先在虚拟机中添加三块2G硬盘
在这里插入图片描述
2.利用lsblk命令查看当前硬盘数量和名称

root@liuyan-virtual-machine:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 140.7M  1 loop /snap/gnome-3-26-1604/98
loop1    7:1    0 140.7M  1 loop /snap/gnome-3-26-1604/74
loop2    7:2    0   2.3M  1 loop /snap/gnome-calculator/260
loop3    7:3    0  34.6M  1 loop /snap/gtk-common-themes/818
loop4    7:4    0    13M  1 loop /snap/gnome-characters/139
loop5    7:5    0   3.7M  1 loop /snap/gnome-system-monitor/127
loop6    7:6    0  44.9M  1 loop /snap/gtk-common-themes/1440
loop7    7:7    0  14.8M  1 loop /snap/gnome-characters/399
loop8    7:8    0 160.2M  1 loop /snap/gnome-3-28-1804/116
loop9    7:9    0   956K  1 loop /snap/gnome-logs/81
loop10   7:10   0   4.2M  1 loop /snap/gnome-calculator/544
loop11   7:11   0  14.5M  1 loop /snap/gnome-logs/45
loop12   7:12   0  91.4M  1 loop /snap/core/8689
loop13   7:13   0   3.7M  1 loop /snap/gnome-system-monitor/57
loop14   7:14   0    91M  1 loop /snap/core/6350
loop15   7:15   0  54.7M  1 loop /snap/core18/1668
sda      8:0    0    50G  0 disk 
└─sda1   8:1    0    50G  0 part /
sdb      8:16   0     2G  0 disk 
sdc      8:32   0     2G  0 disk 
sdd      8:48   0     2G  0 disk 
sr0     11:0    1  1024M  0 rom  

从上可以看出本次所需要的磁盘就是sdb,sdc,sdd三块

3.接下来利用mdadm命令创建raid虚拟磁盘(没有mdadm命令可以安装)

root@liuyan-virtual-machine:~# mdadm -C /dev/md0 -a yes -n 2 -l 1 -x 1 /dev/sdb /dev/sdc /dev/sdd
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.

注:-C表示创建,-a yes表示创建完整raid磁盘,-n磁盘数量,-l表示raid等级,-x热备磁盘数量
4.创建完毕之后利用mdadm -D命令查看虚拟磁盘创建情况

root@liuyan-virtual-machine:~# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sat Mar 28 19:54:48 2020
        Raid Level : raid1
        Array Size : 2094080 (2045.00 MiB 2144.34 MB)
     Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
      Raid Devices : 2
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Sat Mar 28 19:54:59 2020
             State : clean 
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1

Consistency Policy : resync

              Name : liuyan-virtual-machine:0  (local to host liuyan-virtual-machine)
              UUID : 85fc89d6:e1b98da0:985cdfac:cac62d8d
            Events : 17

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

       2       8       48        -      spare   /dev/sdd

5.接下来利用fdisk命令在刚刚创建的raid虚拟磁盘上创建两个分区,大小为1G

root@liuyan-virtual-machine:~# fdisk /dev/md0

Welcome to fdisk (util-linux 2.31.1).
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.
Created a new DOS disklabel with disk identifier 0xf58ba5a1.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-4188159, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-4188159, default 4188159): +1G

Created a new partition 1 of type 'Linux' and of size 1 GiB.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 
First sector (2099200-4188159, default 2099200): 
Last sector, +sectors or +size{K,M,G,T,P} (2099200-4188159, default 4188159): 

Created a new partition 2 of type 'Linux' and of size 1020 MiB.

Command (m for help): p

Disk /dev/md0: 2 GiB, 2144337920 bytes, 4188160 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
Disklabel type: dos
Disk identifier: 0xf58ba5a1

Device     Boot   Start     End Sectors  Size Id Type
/dev/md0p1         2048 2099199 2097152    1G 83 Linux
/dev/md0p2      2099200 4188159 2088960 1020M 83 Linux

Command (m for help): 

6.分区创建完毕之后可以利用lsblk命令查看分区创建情况

root@liuyan-virtual-machine:~# lsblk
NAME      MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0       7:0    0 140.7M  1 loop  /snap/gnome-3-26-1604/98
loop1       7:1    0 140.7M  1 loop  /snap/gnome-3-26-1604/74
loop2       7:2    0   2.3M  1 loop  /snap/gnome-calculator/260
loop3       7:3    0  34.6M  1 loop  /snap/gtk-common-themes/818
loop4       7:4    0    13M  1 loop  /snap/gnome-characters/139
loop5       7:5    0   3.7M  1 loop  /snap/gnome-system-monitor/127
loop6       7:6    0  44.9M  1 loop  /snap/gtk-common-themes/1440
loop7       7:7    0  14.8M  1 loop  /snap/gnome-characters/399
loop8       7:8    0 160.2M  1 loop  /snap/gnome-3-28-1804/116
loop9       7:9    0   956K  1 loop  /snap/gnome-logs/81
loop10      7:10   0   4.2M  1 loop  /snap/gnome-calculator/544
loop11      7:11   0  14.5M  1 loop  /snap/gnome-logs/45
loop12      7:12   0  91.4M  1 loop  /snap/core/8689
loop13      7:13   0   3.7M  1 loop  /snap/gnome-system-monitor/57
loop14      7:14   0    91M  1 loop  /snap/core/6350
loop15      7:15   0  54.7M  1 loop  /snap/core18/1668
sda         8:0    0    50G  0 disk  
└─sda1      8:1    0    50G  0 part  /
sdb         8:16   0     2G  0 disk  
└─md0       9:0    0     2G  0 raid1 
  ├─md0p1 259:2    0     1G  0 md    
  └─md0p2 259:3    0  1020M  0 md    
sdc         8:32   0     2G  0 disk  
└─md0       9:0    0     2G  0 raid1 
  ├─md0p1 259:2    0     1G  0 md    
  └─md0p2 259:3    0  1020M  0 md    
sdd         8:48   0     2G  0 disk  
└─md0       9:0    0     2G  0 raid1 
  ├─md0p1 259:2    0     1G  0 md    
  └─md0p2 259:3    0  1020M  0 md    
sr0        11:0    1  1024M  0 rom   

7.之后需要对分区进行格式化创建文件系统

root@liuyan-virtual-machine:~# mkfs.ext4 /dev/md0p1
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 3e7af287-2224-4fb6-9bba-4d89b4d27b7a
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

root@liuyan-virtual-machine:~# mkfs.ext4 /dev/md0p2
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 261120 4k blocks and 65280 inodes
Filesystem UUID: 42b6ac12-9be3-4618-a518-16ada2b46d93
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

8.格式化文件系统之后在root目录下创建相应的挂载点

root@liuyan-virtual-machine:~# mkdir md0p1
root@liuyan-virtual-machine:~# mkdir md0p2
root@liuyan-virtual-machine:~# ls

9.之后可利用mount命令进行手动挂载也可在/etc目录下编辑fstab文件进行开机自动挂载

root@liuyan-virtual-machine:~# cd /etc
root@liuyan-virtual-machine:/etc# vim fstab

10.在fstab文件下写入下列代码

/dev/md0p1 /root/md0p1 ext4 defaults 0 0
/dev/md0p2 /root/md0p2 ext4 defaults 0 0

最后重启查看即可

root@liuyan-virtual-machine:~# ls
md0p1  md0p2
root@liuyan-virtual-machine:~# cd md0p1
root@liuyan-virtual-machine:~/md0p1# ls
lost+found
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪千颜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值