ウェブサイト検索

Mdadm を使用して Rocky Linux 8|AlmaLinux 8 でソフトウェア RAID を構成する |


Rocky Linux 8 でソフトウェア RAID を構成する方法に関するこのガイドへようこそ | mdadm を使用する RHEL 8。 RAID は独立した安価なディスクの冗長アレイとも呼ばれ、複数のディスクを 1 つのアレイに結合して、1 つの大きなディスクよりも優れたパフォーマンスを発揮するために使用されます。これらのディスクは、復元力とパフォーマンスが高く、ディスク セット内の単一障害点の回避に役立つため、推奨されます。

Rocky Linux 8 でソフトウェア RAID を構成する

RHEL 8 でのソフトウェア RAID の構成

RAID は少なくとも 2 つ以上のデバイスで動作し、データが書き込まれると複数のディスクに分散され、複数のディスクからの高いデータ可用性が保証されます。 RAID には 2 つのタイプがあります。

  • ソフトウェア RAID – これには MD (複数のドライバー) が付属しています。これを作成および管理するには、「mdadm 」を使用できます。 」ユーティリティ。
  • ハードウェア RAID – これは、PCI カードまたは PCI-E カード、またはマザーボードに統合されています。独自の BIOS が組み込まれており、オペレーティング システムが RAID にインストールされる前に構成されます。
  • ファームウェア RAIDATARAID とも呼ばれます。これは基本的に ソフトウェア RAID の一種です。セットはファームウェアベースのメニューを使用して構成でき、通常は BIOS に接続され、RAID セットから起動できるようになります。

RAID は、実行レベル 0、1、4、5、6、10、およびリニアを含む構成をサポートします。これらの実行レベルについては、以下の表で詳しく説明します。

RAID-LEVEL METHOD USED MINIMUM DISKS USE PROS CONS
0 Striping 2 Heavy read operations High Performance Data will be lost if one disk fails
1 Mirroring 2 Used for application servers Fault tolerance and high read performance Little lag in write OPS, Reduced storage 1/2.
5 Striping & Parity 3 Can be used for application and normal file Storage Speed and fault tolerance Little lag in writing OPS, Reduced storage 1/3.
6 Striping & Double parity 4 Application servers & large file Storage Has an extra level of redundancy with high-speed performance Low write performance, reduced storage
10(1+0) Both Striping & Mirroring 4 Used in highly utilized Database Servers Write performance and strong fault tolerance It has reduced storage 1/2, offers limited scalability.

ライナー RAID 構成グループは、より大きな仮想ディスクの作成を促進します。ここで、メンバー ドライブのいずれかに障害が発生すると、アレイ全体が使用できなくなります。メンバーの合計容量がディスクの容量となります。

ソフトウェア RAID には次の機能があります。

  • アイドル状態のシステム リソースを使用したバックグラウンドでのアレイ再構築
  • マルチスレッド設計
  • アレイ内のディスク上の不良セクタの自動修正
  • ホットスワップ可能なドライブのサポート
  • 再構築を必要としない Linux マシン間でのアレイの移植性
  • テイクオーバーは、RAID0 から RAID6 への RAID レベル変換をサポートします。
  • 再同期チェックポイント設定により、再同期中にコンピュータを再起動すると、起動時に再同期が中断されたところから再開され、最初からやり直すことがなくなります。
  • ストリーミング単一命令複数データ (SIMD) サポートなどの特定の CPU 機能を活用するための自動 CPU 検出
  • アレイの健全性を確保するための RAID データの定期的な整合性チェック

ここで、Rocky Linux 8 の Software RAID に関連する素晴らしい機能を実際に試して楽しんでみましょう。 RHEL8。

ステップ 1 – ディスク上に RAID パーティションを作成する

いずれかの実行レベルを設定するには、少なくとも 2 つのディスク/パーティションが必要です。以下のようにシステムで利用可能なディスクを確認してください。

lsblk

サンプル出力:

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0          11:0    1  9.2G  0 rom  
vda         252:0    0   40G  0 disk 
├─vda1      252:1    0    1G  0 part /boot
└─vda2      252:2    0   39G  0 part 
  ├─rl-root 253:0    0   35G  0 lvm  /
  └─rl-swap 253:1    0    4G  0 lvm  [SWAP]
vdb         252:16   0   10G  0 disk 
vdc         252:32   0   10G  0 disk 
vdd         252:48   0   10G  0 disk 
vde         252:64   0   10G  0 disk 

このガイドでは、vdbvdcvdd、 という 4 つのディスクが接続されています。 vde のストレージ サイズはそれぞれ 10 GB です。次に、すべてのディスクに RAID パーティションを作成します。ここでは、parted を使用します。

parted をシステムにインストールします。

sudo dnf install parted

root ユーザーに切り替えます。

sudo su -

各ディスクのパーティション タイプ (gpt) を次のように設定します。

parted --script /dev/vdb "mklabel gpt"
parted --script /dev/vdc "mklabel gpt"
parted --script /dev/vdd "mklabel gpt"
parted --script /dev/vde "mklabel gpt"

次に、ディスク上にパーティションを作成し、ファイル タイプを EXT4 に設定します。

parted --script /dev/vdb "mkpart primary ext4 0% 100%"
parted --script /dev/vdc "mkpart primary ext4 0% 100%"
parted --script /dev/vdd "mkpart primary ext4 0% 100%"
parted --script /dev/vde "mkpart primary ext4 0% 100%"

パーティションを作成したら、それを RAID パーティションとして設定します。

parted --script /dev/vdb "set 1 raid on"
parted --script /dev/vdc "set 1 raid on"
parted --script /dev/vdd "set 1 raid on"
parted --script /dev/vde "set 1 raid on"

作成されたパーティションテーブルを確認します。

parted --script /dev/vdb "print"

出力例:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  10.7GB  10.7GB      ext4     primary  raid

ステップ 2 – Rocky Linux 8 でソフトウェア RAID をセットアップする | RHEL8

パーティションが作成されたら、ソフトウェア RAID をセットアップする準備が整います。このガイドでは、mdadm ツールを使用して RAID を作成および管理します。

Rocky Linux 8 に mdadm をインストールします。 RHEL8。

dnf install mdadm -y

mdadm で使用される基本的な構文は次のとおりです。

mdadm [mode] <raiddevice> [options] <component-devices>

コマンド内:

  • モード – 実行する操作を指定します。これも;

    • Build (-B, –build) – デバイスごとのメタデータ (スーパーブロック) を持たない配列を構築します。
    • アセンブル (-A、-assemble) – 以前に作成した配列のコンポーネントをアクティブな配列にアセンブルするために使用されます。
    • 作成 (-C、–create) – デバイスごとのメタデータ (スーパーブロック) を含む新しい配列を作成するために使用されます。
    • Grow (-G、–grow) – 配列を拡大/縮小したり、形状を変更したりするために使用されます。
    • フォロー/モニター (-F、-follow、-monitor) – 1 つ以上の md デバイスを監視し、状態の変化に応じて動作します。
    • 自動検出 (–auto-detect) – このモードはアレイには作用しませんが、自動検出されたアレイをアクティブにするよう Linux カーネルに要求します。
    • 他のモードには、その他管理などがあります。

4 つのディスクを使用してソフトウェア RAID レベル 10 を作成するには、次のコマンドを使用します。

mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/vd[bcde]

コマンドは以下のように短縮することもできます。

mdadm -C /dev/md0 -l raid10 -n=4 /dev/vd[bcde]

上記のコマンドでは次のようになります。

  • -l, –level= レベルの 1 つである RAID レベルを指定します。リニア、raid0、0、ストライプ、raid1、1、ミラー、raid4、4、raid5、5、raid6、6、raid10、10、マルチパス
  • -n, –raid-devices は、アレイ内のアクティブなデバイスの数です。

次に、以下の手順に従って RAID を作成します。

mdadm: partition table exists on /dev/vdb
mdadm: partition table exists on /dev/vdb but will be lost or
       meaningless after creating array
mdadm: partition table exists on /dev/vdc
mdadm: partition table exists on /dev/vdc but will be lost or
       meaningless after creating array
mdadm: partition table exists on /dev/vdd
mdadm: partition table exists on /dev/vdd but will be lost or
       meaningless after creating array
mdadm: partition table exists on /dev/vde
mdadm: partition table exists on /dev/vde but will be lost or
       meaningless after creating array
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

次に、RAID ステータスを確認します。

$ mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri Jan 28 03:33:16 2022
        Raid Level : raid10
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 10476544 (9.99 GiB 10.73 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Fri Jan 28 03:35:00 2022
             State : clean 
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : 089d8e15:403e261e:dbbee899:36a357b2
            Events : 17

    Number   Major   Minor   RaidDevice State
       0     252       16        0      active sync set-A   /dev/vdb
       1     252       32        1      active sync set-B   /dev/vdc
       2     252       48        2      active sync set-A   /dev/vdd
       3     252       64        3      active sync set-B   /dev/vde

次のコマンドを使用して詳細情報リストを取得します。

mdadm --examine /dev/vd[bcde]

または、次のコマンドを使用して RAID のステータスを確認します。

$ cat /proc/mdstat
Personalities : [raid10] 
md0 : active raid10 vde[3] vdd[2] vdc[1] vdb[0]
      20953088 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
      
unused devices: <none>

ステップ 3 – RAID デバイス上にファイルシステムを作成する

RAID デバイスを使用できるようにするには、Rocky Linux 8 | にファイル システムを作成してマウントする必要があります。 RHEL 8 システム。

RAID デバイス /dev/md0 のファイル システムを作成するには、以下の手順を実行します。

mkfs.ext4 /dev/md0

サンプル出力:

mke2fs 1.45.6 (20-Mar-2020)
Discarding device blocks: done                            
Creating filesystem with 5238272 4k blocks and 1310720 inodes
Filesystem UUID: e2570369-67d8-444c-9125-6afdb68dc7d5
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

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

ステップ 4 – ソフトウェア RAID デバイスを Rocky Linux 8 にマウントする| RHEL8。

これで、作成したパーティションを任意の場所にマウントできます。

  • 一時的なマウンティング

このタイプのマウントでは、システムを再起動するたびにデバイスをマウントする必要があります。以下のように /mnt にマウントします。

mount /dev/md0 /mnt/

マウントが成功したかどうかを確認します。

$ df -hT -P /mnt/
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/md0       ext4   20G   45M   19G   1% /mnt

RAID 10 の短所の 1 つであるストレージが 1/2 削減されたことがわかりました。

  • 永続的な取り付け

これにより、マウントされたデバイスが永続化されます。以下のようにマウントを /etc/fstab ファイルに追加する必要があります。

$ sudo vim /etc/fstab
/dev/md0 /mnt ext4 defaults 0 0

次に、 /etc/mdadm/mdadm.conf を更新する必要があります。これは、現在アクティブなアレイを記述する構成ファイルを作成することによって実現されます。

$ mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=089d8e15:403e261e:dbbee899:36a357b2

mdadm.conf に変更を加えます。

mdadm --detail --scan > /etc/mdadm.conf

システムを再起動して、デバイスが永続的であるかどうかを確認します。

sudo reboot

再起動が成功したら、デバイスを確認します

$ df -hT -P /mnt/
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/md0       ext4   20G   45M   19G   1% /mnt

出来上がり!

それはとても簡単でした! Rocky Linux 8 でソフトウェア RAID を見事に構成しました | mdadm を使用する RHEL 8。ソフトウェア RAID デバイスの素晴らしさをお楽しみいただけるようになりました。これがお役に立てば幸いです。

関連記事:

  • RAID 0 を構成する | RAID 1 | CentOS 8 上の RAID 10
  • RAID、LVM、ZFS の比較
  • Kubernetes クラスターに Rook Ceph Storage をデプロイする方法
  • Kubernetes で OpenEBS Container Storage をデプロイして使用する

関連記事: