在CentOS 8配置RAID 0 | RAID 1 | RAID 10

时间:2020-02-23 14:30:18  来源:igfitidea点击:

RAID代表冗余的独立磁盘阵列。
基本上开发的是允许一个将许多磁盘(如HDD,SSD和NVME)组合到阵列中以实现冗余。
此设备阵列显示为计算机作为单个逻辑存储单元或者驱动器。
冗余不能通过一个巨大的磁盘驱动器插入项目,因为在灾难发生时恢复数据将近于不可能。
在RAID中,即使阵列由多个磁盘组成,计算机"将其"它视为一个驱动器或者单个逻辑存储单元,它非常令人惊叹。

术语定义

热备用: - 如果我们有一个未在RAID阵列中使用的磁盘,如果有磁盘发生故障,则备用备用。
来自故障磁盘的数据将自动迁移.Mirration: - 可以猜到,镜像是在另一个磁盘中复制相同的数据。
此函数可以使数据备份的想法成为可能.Striping: - 一个函数,使数据能够随机地写入所有可用磁盘。
这就像在所有磁盘之间共享数据,所以所有这些都是平均填充.parity: - 从保存的奇偶校验信息中重新生成数据的技术。

使用诸如磁盘条带(RAID级别0)的技术,磁盘镜像(RAID级别1)和具有奇偶校验(RAID级别5,4和6)的磁盘条带,RAID能够实现冗余,更低的延迟,增加的带宽和最大化能够从硬盘崩溃中恢复。

我们应该考虑在项目中部署RAID的主要原因包括以下内容:

使用单个虚拟Diskminimimimimze磁盘故障实现更好的SpeedsIncrease释放存储容量。
根据RAID类型,我们将能够实现冗余,以便稍后将节省数据丢失。

RAID技术有三种:固件RAID,硬件RAID和软件RAID。
硬件RAID独立地从主机处理其阵列,并且仍然显示每个RAID阵列的单个磁盘的主机。
它使用硬件RAID控制器卡,使RAID任务透明地处理到操作系统。
另一方面,软件RAID实现内核磁盘(块设备)代码中的各种RAID级别,并提供了最便宜的解决方案,因为不需要昂贵的磁盘控制器卡或者热插拔机箱。
当前时代中有更快的CPU,因此软件RAID通常优于硬件RAID。

软件RAID的主要函数。(Access.redhat.com)

Linux机器之间的阵列的可移植性使用空闲系统resourceheL-swoppable驱动驱动器支持SupportAutom CPU检测,利用某些CPU函数,例如Streaming SIMD SupportAutom校正在RAID数据的ArrayRegular数据中的磁盘上的坏扇区,以确保健康具有电子邮件警报的阵列的ArrayProactive监视发送到重要的EventWrite-Intent位图上的指定电子邮件地址,通过允许内核精确地知道磁盘需要重新加入哪个部分而不是必须重新同步的重新同步事件的速度整个阵列

在CentOS中设置RAID 8

通过简要介绍,让我们进入此事的关键并在CentOS 8中设置各种RAID级别。
在我们继续之前,我们需要MDAdm工具,有助于配置各种RAID级别。

sudo dnf -y update
sudo dnf -y install mdadm

在CentOS 8上配置RAID级别0

如上所述,RAID 0提供无奇偶校验的条带,并且需要至少两个硬盘。
当其速度比较与其余相比相比,它确实很好,因为它不存储任何奇偶校验数据并同时执行读写操作。

让我们查看我们在服务器上的磁盘:

$lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0  128G  0 disk
├─sda1                8:1    0    1G  0 part /boot
└─sda2                8:2    0  127G  0 part
  ├─cl_centos8-root 253:0    0   50G  0 lvm  /
  ├─cl_centos8-swap 253:1    0    2G  0 lvm  [SWAP]
  └─cl_centos8-home 253:2    0   75G  0 lvm  /home
sdb                   8:16   0    1G  0 disk
sdc                   8:32   0    1G  0 disk
sdd                   8:48   0    1G  0 disk

如上所示,服务器附有三个原始磁盘(SDB,SDC和SDD)。
我们将首先清除磁盘然后在我们创建突袭之前分区它们。

for i in sdb sdc sdd; do
  sudo wipefs -a /dev/$i
  sudo mdadm --zero-superblock /dev/$i
done

在磁盘上创建一个分区并设置RAID标志。

for i in sdb sdc sdd; do
  sudo parted --script /dev/$i "mklabel gpt"
  sudo parted --script /dev/$i "mkpart primary 0% 100%"
  sudo parted --script /dev/$i "set 1 raid on"
done

我们应该看到创建的新分区(SDB1,SDC1,SDD1):

$lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0  128G  0 disk
├─sda1                8:1    0    1G  0 part /boot
└─sda2                8:2    0  127G  0 part
  ├─cl_centos8-root 253:0    0   50G  0 lvm  /
  ├─cl_centos8-swap 253:1    0    2G  0 lvm  [SWAP]
  └─cl_centos8-home 253:2    0   75G  0 lvm  /home
sdb                   8:16   0    1G  0 disk
└─sdb1                8:17   0 1022M  0 part
sdc                   8:32   0    1G  0 disk
└─sdc1                8:33   0 1022M  0 part
sdd                   8:48   0    1G  0 disk
└─sdd1                8:49   0 1022M  0 part

准备好分区后,继续创建RAID 0设备。
级别条带与RAID 0相同,因为它只提供数据条带。

sudo mdadm --create /dev/md0 --level=stripe --raid-devices=3 /dev/sd[b-d]1

使用以下任何命令找出RAID设备状态:

$cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdd1[2] sdc1[1] sdb1[0]
      3133440 blocks super 1.2 512k chunks
unused devices: <none>

或者

$sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Wed Aug 26 21:20:57 2017
        Raid Level : raid0
        Array Size : 3133440 (2.99 GiB 3.21 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent
       Update Time : Wed Aug 26 21:20:57 2017
             State : clean
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0
            Layout : -unknown
        Chunk Size : 512K
Consistency Policy : none
              Name : centos8.localdomain:0  (local to host centos8.localdomain)
              UUID : 2824d400:1967473c:dfa0938f:fbb383ae
            Events : 0
    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1

如果一切看起来很漂亮,请在新RAID设备上创建我们选择的文件系统。

sudo mkfs.ext4 /dev/md0

接下来,我们需要将新设备安装在文件系统上,以便启动文件和目录。
创建一个新的安装点:

sudo mkdir /mnt/raid0

配置安装在/etc/fstab中:

echo "/dev/md0 /mnt/raid0 ext4 defaults 0 0" | sudo tee -a /etc/fstab

如果我们不确定文件系统类型,请在下面的命令发出命令,并使用将显示的类型更改ext4.

sudo blkid /dev/md0
/dev/md0: UUID="e6fe86e5-d241-4208-ab94-3ca79e59c8b6" TYPE="ext4"

确认它可以正确安装:

$sudo mount -a
$df -hT
Filesystem                  Type      Size  Used Avail Use% Mounted on
devtmpfs                    devtmpfs  865M     0  865M   0% /dev
tmpfs                       tmpfs     882M     0  882M   0% /dev/shm
tmpfs                       tmpfs     882M   17M  865M   2% /run
tmpfs                       tmpfs     882M     0  882M   0% /sys/fs/cgroup
/dev/mapper/cl_centos8-root xfs        50G  2.1G   48G   5% /
/dev/sda1                   ext4      976M  139M  770M  16% /boot
/dev/mapper/cl_centos8-home xfs        75G  568M   75G   1% /home
tmpfs                       tmpfs     177M     0  177M   0% /run/user/1000
/dev/md0                    ext4      2.9G  9.0M  2.8G   1% /mnt/raid0    ##Our New Device.

在CentOS 8上配置RAID级别1

RAID 1提供磁盘镜像或者奇偶校验,无需条带。
它只是在两个磁盘上写下所有数据,因此,如果一个磁盘发生故障或者弹出,则所有数据都将在另一个磁盘上使用。
由于它在两个磁盘上写入,因此RAID 1需要双重硬盘,以便我们想要使用2个磁盘,然后我们必须安装4个磁盘进行设置。

在我们开始之前让我们清除所有磁盘,然后开始RAID配置,以确保我们从干净的磁盘开始。

for i in sdb sdc sdd; do
  sudo wipefs -a /dev/$i
  sudo mdadm --zero-superblock /dev/$i
done

在磁盘上创建一个分区并设置RAID标志。

for i in sdb sdc sdd; do
  sudo parted --script /dev/$i "mklabel gpt"
  sudo parted --script /dev/$i "mkpart primary 0% 100%"
  sudo parted --script /dev/$i "set 1 raid on"
done

创建RAID 1设备:

sudo mdadm --create /dev/md1 --level=raid1 --raid-devices=2 /dev/sd[b-c]1 --spare-devices=1 /dev/sdd1

检查新数组的状态:

$sudo mdadm --detail /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Wed Aug 26 21:32:52 2017
        Raid Level : raid1
        Array Size : 1045504 (1021.00 MiB 1070.60 MB)
     Used Dev Size : 1045504 (1021.00 MiB 1070.60 MB)
      Raid Devices : 2
     Total Devices : 3
       Persistence : Superblock is persistent
       Update Time : Wed Aug 26 21:33:02 2017
             State : clean
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1
Consistency Policy : resync
              Name : centos8.localdomain:1  (local to host centos8.localdomain)
              UUID : 9ca1da1d:a0c0a26b:6dd27959:a84dec0e
            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

RAID设备已准备就绪后,如果它没有文件系统,我们就无法使用它。
要解决此问题,请创建需求所需的文件系统。
下面显示一个示例,其中XFS正在设置。

sudo mkfs.xfs /dev/md1

之后,创建一个安装点的安装点,将安装其中:

sudo mkdir /mnt/raid1

再次,配置安装在/etc/fstab中:

echo "/dev/md1 /mnt/raid1 xfs defaults 0 0" | sudo tee -a /etc/fstab

确认它可以正确安装:

$sudo mount -a
$df -hT
Filesystem                  Type      Size  Used Avail Use% Mounted on
devtmpfs                    devtmpfs  865M     0  865M   0% /dev
tmpfs                       tmpfs     882M     0  882M   0% /dev/shm
tmpfs                       tmpfs     882M   17M  865M   2% /run
tmpfs                       tmpfs     882M     0  882M   0% /sys/fs/cgroup
/dev/mapper/cl_centos8-root xfs        50G  2.1G   48G   5% /
/dev/sda1                   ext4      976M  139M  770M  16% /boot
/dev/mapper/cl_centos8-home xfs        75G  568M   75G   1% /home
tmpfs                       tmpfs     177M     0  177M   0% /run/user/1000
/dev/md1                    xfs      1016M   40M  977M   4% /mnt/raid1

在CentOS 8上配置RAID级别10

RAID 10将磁盘镜像(一次写入两个磁盘)和磁盘条带化以保护数据。
要求至少为4个磁盘,RAID 10跨镜像对的数据。
使用此配置,只要每个镜像对中的一个磁盘都是函数的,可以检索数据。

就像以前的RAID级别已经完成,首先清除所有原始磁盘。

for i in sdb sdc sdd sde; do
  sudo wipefs -a /dev/$i
  sudo mdadm --zero-superblock /dev/$i
done

在磁盘上创建一个分区并设置RAID标志。

for i in sdb sdc sdd sde; do
  sudo parted --script /dev/$i "mklabel gpt"
  sudo parted --script /dev/$i "mkpart primary 0% 100%"
  sudo parted --script /dev/$i "set 1 raid on"
done

然后继续创建RAID 10设备并检查其状态:

sudo mdadm --create /dev/md10 --level=10 --raid-devices=4 dev/sd[b-e]1
sudo mdadm -–query --detail /dev/md10

一旦RAID设备设置,创建特定需求所需的文件系统。
下面显示一个示例,其中XFS正在设置。

sudo mkfs.xfs /dev/md10

之后,创建一个安装点的安装点,将安装其中:

sudo mkdir /mnt/raid10

配置安装在/etc/fstab中:

echo "/dev/md10 /mnt/raid10 xfs defaults 0 0" | sudo tee -a /etc/fstab

确认它可以正确安装:

$sudo mount -a
$df -hT

停止并删除RAID阵列

如果我们希望从系统中删除RAID设备,只需卸载挂载点,请停止它并使用下面的命令删除。
请记住使用址点和/dev/md0用raid设备替换/mnt/raid0。

sudo umount /mnt/raid0
sudo mdadm --stop /dev/md0
sudo mdadm --remove /dev/md0