Linux-RAIDディスクアレイおよびアレイカード(RAID5を作成する手順を含む)


序文

  • RAID(独立ディスクの冗長アレイ)、フルネームは独立ディスクの冗長アレイです
  • 簡単に言えば、RAIDは、さまざまな方法で複数の独立したハードディスク(物理ハードディスク)を組み合わせてハードディスクグループ(論理ハードディスク)を形成することで、単一のハードディスクよりも高いストレージパフォーマンスを提供し、データバックアップテクノロジを提供します。
  • ユーザーの観点からは、構成されたディスクグループはハードディスクのようなものであり、ユーザーはパーティション分割、フォーマットなどを行うことができます。
  • ディスクアレイを形成するさまざまな方法は、RAIDレベルと呼ばれます。RAIDレベルは、RAIDテクノロジーのいくつかの異なるレベルでもあり、さまざまな速度、安全性、およびコストパフォーマンスを提供できます。
  • 実際の状況に応じて適切なRAIDレベルを選択すると、ストレージシステムの可用性、パフォーマンス、および容量に関するユーザーの要件を満たすことができます。

1.RAIDハードディスクアレイの詳細説明

  • 複数の独立した物理ハードディスクをさまざまな方法で組み合わせてハードディスクグループ(論理ハードディスク)を形成し、単一のハードディスクよりも高いストレージパフォーマンスを提供し、データバックアップテクノロジーを提供します
  • RAIDはさまざまなレベルに分けられ、RAIDのレベルが異なれば、データの信頼性と読み取りおよび書き込みのパフォーマンスにおいてさまざまなトレードオフが発生します。
  • 一般的に使用されるRAIDレベルは次のとおりです。
    • RAID 0
    • RAID 1
    • RAID 5
    • RAID 6
    • RAID 1 +0など

1. RAID0ディスクアレイの概要

ここに写真の説明を挿入

  • RAID 0(ストライプストレージ)
  • RAID 0は、データをビットまたはバイト単位で継続的に分割し、複数のディスクに対して並列に読み取り/書き込みを行うため、データ転送速度は高くなりますが、データの冗長性はありません。
  • RAID 0は単にパフォーマンスを向上させるだけであり、データの信頼性を保証するものではありません。ディスクの1つに障害が発生すると、すべてのデータに影響します。
  • RAID 0は、データセキュリティ要件が高い場合には使用できません

2. RAID1ディスクアレイの概要

ここに写真の説明を挿入

  • RAID 1(ミラーストレージ)
  • ディスクデータミラーリングを通じてデータの冗長性を実現し、独立したディスクのペアで相互にバックアップデータを生成します
  • 元のデータがビジーの場合、データはミラーコピーから直接読み取ることができるため、RAID1は読み取りパフォーマンスを向上させることができます。
  • RAID 1は、ディスクアレイの中で最も高いユニットコストを持っていますが、高いデータセキュリティと可用性を提供します。ディスクに障害が発生すると、システムは、障害が発生したデータを再編成することなく、ミラーディスクの読み取りと書き込みに自動的に切り替えることができます。

3. RAID5ディスクアレイの概要

ここに写真の説明を挿入

  • N(N> = 3)個のディスクがアレイを形成し、1つのデータがN-1ストリップを生成し、パリティデータのコピーが1つ生成されます。合計N個のデータがN個のディスクに周期的かつ均等に格納されます
  • N個のディスクが同時に読み取りと書き込みを行うため、読み取りパフォーマンスは非常に高くなりますが、検証メカニズムの問題により、書き込みパフォーマンスは比較的低くなります。
  • (N-1)/ Nディスク使用率
  • 信頼性が高く、すべてのデータに影響を与えることなく1つのディスクを損傷できます

4. RAID6ディスクアレイの概要

ここに写真の説明を挿入

  • N(N> = 4)ディスクがアレイを形成し、(N-2)/ Nディスク使用率
  • RAID 5と比較して、RAID6は2番目の独立したパリティ情報ブロックを追加します
  • 2つの独立したパリティシステムは異なるアルゴリズムを使用します。2つのディスクに同時に障害が発生しても、データの使用には影響しません。
  • RAID 5と比較すると、「書き込み損失」が大きいため、書き込みパフォーマンスが低下します。

5.RAID比較表

RAIDレベル ハードドライブの数 ディスク使用率 チェックはありますか? 保護能力 書き込みパフォーマンス
RAID0 N N 番号 番号 1台のハードドライブのN回
RAID1 N(偶数) N / 2 番号 デバイスの障害を許可する お互いに準備するために2組のストレージデバイスを作成する必要があります
RAID5 N> 3 (N-1)/ N 持ってる デバイスの障害を許可する 計算チェックを書く必要があります
RAID6 N> 4 (N-2)/ N 持ってる 2つのデバイス障害を許可する 計算検証を二重に書き込む必要があります
RAID1 + 0 N> = 4(偶数) N / 2 番号 2つの基本セットのいずれかを不良にする N / 2ディスクは同時に書き込みます

6. RAID 1 +0ディスクアレイの概要

ここに写真の説明を挿入

  • RAID 1 + 0(最初にミラーリングしてからストライピング)
  • N(偶数、N> = 4)のディスクがペアでミラーリングされた後、それらはRAID0に結合されます
  • N / 2ディスク使用率
  • N / 2個のディスクが同時に書き込み、N個のディスクが同時に読み取ります
  • 高性能と高信頼性

2.アレイカードの紹介

1.アレイカードの紹介

  • アレイカードはRAID機能を実現するためのボードです
  • 通常、I / Oプロセッサ、ハードディスクコントローラ、ハードディスクコネクタ、キャッシュなどの一連のコンポーネントで構成されます
  • さまざまなRAIDカードがさまざまなRAID機能をサポートします。
    たとえば、RAID0、RAID1、RAID5、RAID10などをサポートします。
  • RAIDカードインターフェイスタイプ:
    IDEインターフェイス、SCSIインターフェイス、SATAインターフェイス、SASインターフェイス

2.アレイカードのキャッシュ

  • キャッシュは、RAIDカードが外部バスとデータを交換する場所です。RAIDカードは最初にデータをキャッシュに送信し、次にキャッシュが外部データバスとデータを交換します。
  • キャッシュのサイズと速度は、RAIDカードの実際の伝送速度に直接関係する重要な要素です。
  • 工場では、さまざまなRAIDカードにさまざまなメモリ容量が装備されており、通常は数メガバイトから数百メガバイトの範囲です。

3つ目は、ソフトウェアRAID5アレイの手順を作成する

1.仮想マシンにハードディスクを追加します

追加する前に、仮想マシンをオフにする必要があることを忘れないで
ここに写真の説明を挿入
くださいディスクパーティションをチェックして、ハードディスクが正常に作成されているかどうかを確認してください。

[root@localhost ~]# fdisk -l        

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009ac95

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    12584959     6291456   83  Linux
/dev/sda2        12584960    54527999    20971520   83  Linux
/dev/sda3        54528000    62916607     4194304   82  Linux swap / Solaris
/dev/sda4        62916608    83886079    10484736    5  Extended
/dev/sda5        62918656    83886079    10483712   83  Linux

磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdc:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdd:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sde:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

2.mdadmパッケージがインストールされているかどうかを確認します

[root@localhost ~]# rpm -q mdadm 
mdadm-4.0-5.el7.x86_64

3.パーティションを作成し、他の3つも同じ方法で作成します

パーティションID番号を「fd」に変更します

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x7f2f5d10 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-83886079,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):
将使用默认值 83886079
分区 1 已设置为 Linux 类型,大小设为 40 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7f2f5d10

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

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

4.RAIDデバイスを作成します

[root@localhost ~]# mdadm -Cv /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 41909248K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
  • -C:新規
  • -v:作成プロセスに関する詳細情報を表示します
  • / dev / md5:RAID5の名前を作成します
  • -a yes:-auto。これは、デバイスファイルが存在しない場合、自動的に作成されることを意味します。これは省略できます。
  • -l:RAIDレベルを指定します。l5はRAID5を作成することを意味します
  • -n:RAIDを作成するために複数のハードディスクを指定します。n3はRAIDを作成するために3つのハードディスクを使用することを意味します
  • / dev / sd [bd] 1:RAIDを作成するためにこれらの4つのディスクパーティションを指定します
  • -x:RAIDのホットスペアディスクとして非常に高速なハードディスクの使用を指定します。x1は、空きハードディスクをスペアとして予約することを意味します
  • / dev / sde1:スペアハードディスクとして指定

5.RAIDの作成の進行状況を表示します

  • ここでは、現在の完了率(37.5%)、完了までの待機時間、および伝送速度を確認できます。

  • [UUU]が完了しました。このコマンドを複数回入力して、現在の完了の進行状況を表示できます。

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
      83818496 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [=======>.............]  recovery = 37.5% (15727256/41909248) finish=2.1min speed=203812K/sec
      
unused devices: <none>
[root@localhost ~]# 
[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
      83818496 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [=============>.......]  recovery = 68.2% (28595200/41909248) finish=1.0min speed=207154K/sec
      
unused devices: <none>

  • 次のコマンドを使用して、RAID作成の進行状況を表示することもできます。
  • ここでは、3つがアクティブで、もう1つがスペアであることがわかります。
[root@localhost ~]# mdadm -D /dev/md5 
/dev/md5:
           Version : 1.2
     Creation Time : Wed Nov 25 16:24:23 2020
        Raid Level : raid5
        Array Size : 83818496 (79.94 GiB 85.83 GB)
     Used Dev Size : 41909248 (39.97 GiB 42.92 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Wed Nov 25 16:27:54 2020
             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 : e46bf95b:84550d7a:6fd09dc9:66ba9f9f
            Events : 18

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

       3       8       65        -      spare   /dev/sde1
 

6.障害回復を実現します

  • / dev / sdc1障害のシミュレーション
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdc1 
mdadm: set /dev/sdc1 faulty in /dev/md5
  • もう一度確認してください。sdcが障害のある状態になっていることがわかります。
[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdd1[4] sde1[3] sdc1[1](F) sdb1[0]
      83818496 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
      [==>..................]  recovery = 14.3% (6008320/41909248) finish=2.9min speed=200277K/sec
      
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md5 
/dev/md5:
           Version : 1.2
     Creation Time : Wed Nov 25 16:24:23 2020
        Raid Level : raid5
        Array Size : 83818496 (79.94 GiB 85.83 GB)
     Used Dev Size : 41909248 (39.97 GiB 42.92 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Wed Nov 25 16:34:28 2020
             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 : 32% complete

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : e46bf95b:84550d7a:6fd09dc9:66ba9f9f
            Events : 25

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       3       8       65        1      spare rebuilding   /dev/sde1
       4       8       49        2      active sync   /dev/sdd1

       1       8       33        -      faulty   /dev/sdc1
  • ビューは、sde1がsdc1に取って代わったことを発見しました
[root@localhost ~]# mdadm -D /dev/md5 
/dev/md5:
           Version : 1.2
     Creation Time : Wed Nov 25 16:24:23 2020
        Raid Level : raid5
        Array Size : 83818496 (79.94 GiB 85.83 GB)
     Used Dev Size : 41909248 (39.97 GiB 42.92 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Wed Nov 25 16:36:55 2020
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : e46bf95b:84550d7a:6fd09dc9:66ba9f9f
            Events : 37

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       3       8       65        1      active sync   /dev/sde1
       4       8       49        2      active sync   /dev/sdd1

       1       8       33        -      faulty   /dev/sdc1

7.ファイルを作成してマウントします

最後に、ルートディレクトリの下にmd5ディレクトリを作成し、RAIDをフォーマットします

[root@localhost ~]# cd ..
[root@localhost ~]# mkdir /md5

[root@localhost ~]# mkfs.xfs /dev/md5
[root@localhost ~]# cd  /md5
[root@localhost ~]# touche md5.txt
[root@localhost md5]# ls
md5.txt

最後に、確認してください。ここでは、120Gではなく80Gであることがわかります。前に学習したように、RAID5の使用率はわずか3/4です。

[root@localhost md5]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.3G   16G   22% /
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  4.0K  183M    1% /run/user/42
tmpfs          tmpfs     183M   28K  183M    1% /run/user/0
/dev/sr0       iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/md5       xfs        80G   33M   80G    1% /md5

おすすめ

転載: blog.csdn.net/weixin_51486343/article/details/110131356