디스크 어레이-RAID

디스크 어레이-RAID

RAID(Redundant Array of Independent Disk)는 원래 값싼 소형 디스크를 결합하여 고가의 대형 디스크를 대체하기 위해 개발되었으며, 동시에 디스크 장애가 발생하더라도 데이터 액세스가 손실되지 않고 일정 수준의 데이터 액세스가 가능해지기를 바랐습니다. 분실 보호 기술.

RAID0

  • 디스크가 2개 이상 필요합니다.
  • 데이터 스트라이핑, 디스크에 배포, 높은 읽기 및 쓰기 성능, 높은 스토리지 활용도
  • 데이터에 대한 중복 전략이 없으므로 디스크에 장애가 발생하면 데이터를 복구할 수 없습니다.
  • 장면:
    • 성능 요구 사항은 높지만 오디오 및 비디오와 같은 데이터 보안 및 안정성 요구 사항은 낮은 시나리오

여기에 이미지 설명을 삽입하세요.

습격 1

  • 디스크가 2개 이상 필요합니다.
  • 데이터>미러 백업>디스크에 쓰기(작업 디스크 및 미러 디스크), 높은 신뢰성, 디스크 활용률은 50%입니다.
  • 읽기 성능이 쓰기 성능보다 낫습니다.
  • 디스크 오류는 데이터 읽기 및 쓰기에 영향을 미치지 않습니다.
  • 장면:
    • 높은 데이터 보안과 신뢰성이 요구되는 시나리오: 이메일 시스템, 거래 시스템 등
      여기에 이미지 설명을 삽입하세요.

RAID5

  • 디스크가 3개 이상 필요합니다.
  • 데이터는 디스크의 스트립에 저장되며 읽기 및 쓰기 성능이 좋으며 디스크 활용률은 (n-1)/n입니다.
  • 디스크 장애 발생 시 다른 데이터베이스 및 해당 검증 데이터를 기반으로 손상된 데이터를 재구성할 수 있음(성능 소모)
  • 스토리지, 데이터 보안 및 비용의 모든 측면을 고려하십시오.

여기에 이미지 설명을 삽입하세요.

RAID6

  • 디스크가 4개 이상 필요합니다.
  • 데이터는 읽기 성능이 좋고 내결함성이 뛰어난 디스크 스트립에 저장됩니다.
  • 데이터 보안을 보장하기 위해 이중 인증을 사용합니다.
  • 두 개의 디스크에 동시에 장애가 발생하는 경우 두 개의 체크섬을 통해 디스크 데이터를 재구성할 수 있습니다.
  • 높은 비용과 복잡한 건설
    여기에 이미지 설명을 삽입하세요.

RAID10

  • RAID1과 RAID0의 조합
  • 디스크가 4개 이상 필요합니다.
  • 두 개의 디스크를 그룹으로 사용하여 먼저 RAID1을 생성한 다음 완성된 RAID1을 사용하여 RAID0을 생성합니다.
  • 데이터 중복성과 읽기 및 쓰기 성능을 고려합니다.

여기에 이미지 설명을 삽입하세요.

소프트 RAID 생성

RAID0 생성

디스크를 준비하고 여러 영역으로 나눕니다.

yum -y install mdadm
#创建raid0

[root@workstation ~]# mdadm --create /dev/md0 --raid-devices=2 /dev/sdc[12] --level=0
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
#查看RAID信息
[root@workstation ~]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdc2[1] sdc1[0]
      4188160 blocks super 1.2 512k chunks

unused devices: <none>

#查看指定RAID信息

[root@workstation ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri Aug  4 03:32:04 2023
        Raid Level : raid0
        Array Size : 4188160 (3.99 GiB 4.29 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Fri Aug  4 03:32:04 2023
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : workstation:0  (local to host workstation)
              UUID : bae959ef:7318753c:91ebd9b8:9a4a7f3b
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2
#格式化挂载使用
[root@workstation ~]# mkfs.ext4 /dev/md0

[root@workstation ~]# mount /dev/md0 /mnt01

RAID1 생성

[root@workstation ~]# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdc[12]
#查看状态信息
[root@workstation ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc2[1] sdc1[0]
      2094080 blocks super 1.2 [2/2] [UU]

unused devices: <none>

[root@workstation ~]# mkfs.ext4 /dev/md1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 523520 blocks
26176 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
#挂载
[root@workstation ~]# mkdir /mnt01
[root@workstation ~]# mount /dev/md1 /mnt01
[root@workstation ~]# lsblk
NAME                    MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                       8:0    0   20G  0 disk
├─sda1                    8:1    0    1G  0 part  /boot
└─sda2                    8:2    0   19G  0 part
  ├─centos_servera-root 253:0    0   17G  0 lvm   /
  └─centos_servera-swap 253:1    0    2G  0 lvm   [SWAP]
sdb                       8:16   0   20G  0 disk
└─sdb1                    8:17   0   20G  0 part
sdc                       8:32   0   20G  0 disk
├─sdc1                    8:33   0    2G  0 part
│ └─md1                   9:1    0    2G  0 raid1 /mnt01
└─sdc2                    8:34   0    2G  0 part
  └─md1                   9:1    0    2G  0 raid1 /mnt01
sr0                      11:0    1  918M  0 rom

#模拟一块盘失效

[root@workstation ~]# mdadm /dev/md1 -f /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md1
[root@workstation ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc2[1] sdc1[0](F)
      2094080 blocks super 1.2 [2/1] [_U]

unused devices: <none>
#移除失效盘

[root@workstation ~]# mdadm /dev/md1 -r /dev/sdc1
mdadm: hot removed /dev/sdc1 from /dev/md1
[root@workstation ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Fri Aug  4 04:03:58 2023
        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 : 1
       Persistence : Superblock is persistent

       Update Time : Fri Aug  4 04:20:06 2023
             State : clean, degraded
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : workstation:1  (local to host workstation)
              UUID : 2d7ed32a:ed703ee1:eaa2a801:4391bfcd
            Events : 20

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       34        1      active sync   /dev/sdc2
#加入新磁盘
[root@workstation ~]# mdadm /dev/md1 -a /dev/sdc1
mdadm: added /dev/sdc1
[root@workstation ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[2] sdc2[1]
      2094080 blocks super 1.2 [2/2] [UU]

unused devices: <none>

RAID5 생성

4개의 디스크 파티션을 준비합니다.

[root@workstation ~]# lsblk | grep sdc
sdc                       8:32   0   20G  0 disk
├─sdc1                    8:33   0    1G  0 part
├─sdc2                    8:34   0    1G  0 part
├─sdc3                    8:35   0    1G  0 part
└─sdc4                    8:36   0    1G  0 part



[root@workstation ~]# mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sdc{1,2,3,4}
#挂载
[root@workstation ~]# mkdir /usr-mnt
[root@workstation ~]# mount /dev/md5 /usr-mnt
#标记一块盘失效

mdadm: set /dev/sdc4 faulty in /dev/md5
[root@workstation ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdc3[4] sdc4[3](F) sdc2[1] sdc1[0]
      2093056 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>
#raid5依然可用

[root@workstation ~]# echo "hello" > /usr-mnt/file
[root@workstation ~]# ls /usr-mnt/file
/usr-mnt/file

추천

출처blog.csdn.net/weixin_51882166/article/details/132108097