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 にインストールされる前に構成されます。
- ファームウェア RAID – ATARAID とも呼ばれます。これは基本的に ソフトウェア 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
このガイドでは、vdb、vdc、vdd、 という 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 をデプロイして使用する