Linux
 Computer >> コンピューター >  >> システム >> Linux

MDADMを使用したLinuxでのソフトウェアRAIDの構成

MDADM Linux上でソフトウェアRAIDを作成および管理できるツールです。この記事では、mdadm(複数のディスク管理)を使用してRAIDアレイストレージを作成する方法、ディスクを追加および管理する方法、ホットスペアを追加する方法などを示します。

mdadm:ソフトウェアRAID管理ツールをインストールするにはどうすればよいですか?

mdadmをインストールするには、インストールコマンドを実行します:

  • CentOS / Red Hatの場合(yum / dnfが使用されます):yum install mdadm
  • Ubuntu / Debianの場合:apt-get install mdadm

mdadmと依存ライブラリがインストールされます:

Running transaction
Installing : libreport-filesystem-2.1.11-43.el7.centos.x86_64 1/2
Installing : mdadm-4.1-1.el7.x86_64 2/2
Verifying : mdadm-4.1-1.el7.x86_64 1/2
Verifying : libreport-filesystem-2.1.11-43.el7.centos.x86_64 2/2
Installed:
mdadm.x86_64 0:4.1-1.el7
Dependency Installed:
libreport-filesystem.x86_64 0:2.1.11-43.el7.centos
Complete!

Linuxで2つのディスクを使用してRAID1(ミラー)を作成する

Linuxサーバーに2つの追加ディスクをインストールしていて、それらにソフトウェアミラー(RAID1)を作成したいと思います。ドライブは空です。まず、RAIDに追加するディスク上のすべてのスーパーブロックをゼロにする必要があります。

# mdadm --zero-superblock --force /dev/vd{b,c}

クリーンなディスクが2つあります: vdb およびvdc

MDADMを使用したLinuxでのソフトウェアRAIDの構成

mdadm: Unrecognised md component device - /dev/vdb
mdadm: Unrecognised md component device - /dev/vdc

このリストは、どちらのディスクもアレイに追加されたことがないことを意味します。

ソフトウェアを作成するにはRAID1 2つのディスクからデバイス/dev/ md0に移動するには、次のコマンドを使用します。

# mdadm --create --verbose /dev/md0 -l 1 -n 2 /dev/vd{b,c}

ここで、「 -l 1 ’はアレイタイプです(この場合はRAID1、

および「-n2 ’は、アレイに追加されたディスクの数です。

RAID0を作成する場合 (ストライプ)複数の物理ディスク間でコマンドを並列化することにより読み取り/書き込み速度を向上させるには、次のコマンドを使用します。

# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/vdb /dev/vdc

RAID 5の場合 3つ以上のドライブの場合:

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/vdb /dev/ vdc /dev/vdd

コマンドを入力した後、アクションを確認すると、ソフトウェアRAIDが作成されます。

MDADMを使用したLinuxでのソフトウェアRAIDの構成

ディスクに関する情報を一覧表示すると、RAIDmd0ドライブが表示されます。

# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 20G 0 disk
├─vda1 253:1 0 512M 0 part /boot
└─vda2 253:2 0 19.5G 0 part /
vdb 253:16 0 20G 0 disk
└─md0 9:0 0 20G 0 raid1
vdc 253:32 0 20G 0 disk
└─md0 9:0 0 20G 0 raid1

RAID1ドライブにext4ファイルシステムを作成するには、次のコマンドを実行します。

# mkfs.ext4 /dev/md0

MDADMを使用したLinuxでのソフトウェアRAIDの構成

バックアップディレクトリを作成し、そこにRAIDデバイスをマウントします。

# mkdir /backup
# mount /dev/md0 /backup/
# df -h

Filesystem Size Used Avail Use% Mounted on
.............
.............
/dev/md0 20G 45M 19G 1% /backup

アレイはエラーなしでマウントされました。毎回手動でデバイスをマウントしないようにするには、 fstabに次の変更を加えます。 :

# nano /etc/fstab

/dev/md0 /backup ext4 defaults 1 2

MDADMを使用したLinuxでのソフトウェアRAIDの構成

RAIDアレイの状態を表示したり、整合性を確認したりする方法

アレイ内のデータの整合性を確認するには、次のコマンドを使用します。

#echo 'check' > /sys/block/md0/md/sync_action

次に、次のファイルの出力を表示します。

#cat /sys/block/md0/md/mismatch_cnt

0を取得した場合 、アレイはOKです:

MDADMを使用したLinuxでのソフトウェアRAIDの構成

チェックを停止するには、次のコマンドを実行します。

#echo 'idle' > /sys/block/md0/md/sync_action

サーバーで使用可能なすべてのRAIDの状態を確認するには、次のコマンドを使用します。

# cat /proc/mdstat

Personalities : [raid1]
md0 : active raid1 vdc[1] vdb[0]
20954112 blocks super 1.2 [2/2] [UU]

次のコマンドを使用して、特定のRAIDに関する詳細情報を表示できます。

# mdadm -D /dev/md0

MDADMを使用したLinuxでのソフトウェアRAIDの構成

コマンドリストの主な項目を考えてみましょう:

  • バージョン –メタデータバージョン
  • 作成時間 –RAID作成の日時
  • RAIDレベル –RAIDアレイのレベル
  • 配列サイズ –RAIDディスクスペースのサイズ
  • 使用済み開発サイズ –デバイスが使用するスペースサイズ
  • RAIDデバイス –RAID内のディスクの数
  • デバイスの総数 –はRAIDに追加されたディスクの数です
  • 州– は現在の状態です(クリーン—問題ありません)
  • アクティブデバイス –RAID内のアクティブなディスクの数
  • 実用的なデバイス –RAIDで動作しているディスクの数
  • 故障したデバイス –RAIDで障害が発生したデバイスの数
  • スペアデバイス –RAID内のスペアディスクの数
  • 一貫性ポリシー –は障害後の同期タイプを設定するパラメータであり、rsyncはRAIDアレイリカバリ後の完全同期です(ビットマップ、ジャーナル、pplモードが利用可能です)
  • UUID –RAIDアレイ識別子

fdiskを使用して簡単な情報を表示できます :

# fdisk -l /dev/md0

Disk /dev/md0: 21.5 GB, 21457010688 bytes, 41908224 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

RAIDでのディスク障害からの回復、ディスク交換

RAID内のディスクの1つに障害または損傷が発生した場合は、別のディスクと交換できます。まず、ディスクが損傷していて交換が必要かどうかを確認します。

# cat /proc/mdstat

Personalities : [raid1]
md0 : active raid1 vdb[0]
20954112 blocks super 1.2 [2/1] [U_]

前のコマンドから、アクティブなディスクは1つだけであることがわかります。 [ U _ ]は、問題が存在することも意味します。両方のディスクが正常な場合、出力は[ UU ]。

RAIDに関する詳細情報は、いくつかの問題があることも示しています。

# mdadm -D /dev/md0

/dev/md0:
Version : 1.2
Creation Time : Tue Dec 31 12:39:22 2020
Raid Level : raid1
Array Size : 20954112 (19.98 GiB 21.46 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Dec 31 14:41:13 2020
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
State : clean, degraded

–最後の行は、RAID内の1つのディスクが損傷していることを示しています。

この場合、 / dev / vdc 交換する必要があります。アレイを復元するには、損傷したディスクを取り外して、新しいディスクを追加する必要があります。

故障したドライブを取り外します:

# mdadm /dev/md0 --remove /dev/vdc

アレイに新しいディスクを追加します:

# mdadm /dev/md0 --add /dev/vdd

新しいディスクを追加すると、ディスクの回復が自動的に開始されます:

# mdadm -D /dev/md0

/dev/md0:
Version : 1.2
Creation Time : Tue Dec 31 12:39:22 2020
Raid Level : raid1
Array Size : 20954112 (19.98 GiB 21.46 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Dec 31 14:50:20 2020
State : clean, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1
Consistency Policy : resync
Rebuild Status : 48% complete
Name : host1:0 (local to host host1)
UUID : 9d59b1fb:7b0a7b6d:15a75459:8b1637a2
Events : 42
Number Major Minor RaidDevice State
0 253 16 0 active sync /dev/vdb
2 253 48 1 spare rebuilding /dev/vdd
rebuild Status : 48% complete shows the current array recovery state.
spare rebuilding /dev/vdd shows which disk is being added to the array.
After rebuilding the array, check its state:
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

LinuxのソフトウェアRAIDにディスクを追加または削除する方法

以前に作成したmdadmRAIDデバイスを削除する必要がある場合は、マウントを解除します。

# umount /backup

次に、次のコマンドを実行します:

# mdadm -S /dev/md0

mdadm: stopped /dev/md0

RAIDアレイを破棄した後は、個別のディスクデバイスとして検出されません:

# mdadm -S /dev/md0

mdadm: error opening /dev/md0: No such file or directory

接続されているすべてのドライブをスキャンし、物理ドライブのメタデータに従って、以前に削除された(障害が発生した)RAIDデバイスを再作成できます。次のコマンドを実行します:

# mdadm --assemble —scan

MDADMを使用したLinuxでのソフトウェアRAIDの構成

動作可能なドライブをアレイから取り外して交換する場合は、最初にドライブに障害のあるドライブのタグを付けます。

# mdadm /dev/md0 --fail /dev/vdc

次に、次のコマンドを使用して削除できます:

# mdadm /dev/md0 --remove /dev/vdc

ドライブに障害が発生した場合と同様に、新しいディスクを追加できます。

# mdadm /dev/md0 --add /dev/vdd

ホットスペアドライブをMDADMアレイに追加する方法

ホットスペアを追加できます アクティブなディスクの1つに障害が発生した場合に、RAIDアレイをすばやく再構築するためのドライブ。必要なmdデバイスに空きディスクを追加します:

# mdadm /dev/md0 --add /dev/vdc

RAIDステータスを確認すると、ディスクがスペアとして表示されます:

MDADMを使用したLinuxでのソフトウェアRAIDの構成

ホットスワップが機能することを確認するには、すべてのドライブに障害のマークを付け、RAIDステータスを確認します。

# mdadm /dev/md0 --fail /dev/vdb

確認すると、アレイの再構築が開始されていることがわかります。

MDADMを使用したLinuxでのソフトウェアRAIDの構成

/ dev / vdb ディスクは障害としてマークされ、ホットスペアディスクはアクティブなRAIDディスクの1つになりました。これで、再構築プロセスが開始されました。

RAIDに操作可能なディスクを追加するには、次の2つの手順に従う必要があります。

空のドライブをアレイに追加します:

# mdadm /dev/md0 --add /dev/vdb

これで、このディスクはホットスペアとして表示されます。アクティブにするには、mdRAIDデバイスを展開します。

# mdadm -G /dev/md0 —raid-devices=3

次に、アレイが再構築されます:

MDADMを使用したLinuxでのソフトウェアRAIDの構成

再構築後、すべてのディスクがアクティブになります:

Number Major Minor RaidDevice State
3 253 32 0 active sync /dev/vdc
2 253 48 1 active sync /dev/vdd
4 253 16 2 active sync /dev/vdb

MDADMRAIDアレイを削除する方法

ソフトウェアRAIDドライブを完全に削除する場合は、次のスキームを使用してください。

# umount /backup –ディレクトリからアレイをアンマウントします

# mdadm -S /dev/md0 —RAIDデバイスを停止します

次に、構築されたディスク上のすべてのスーパーブロックをクリアします。

# mdadm --zero-superblock /dev/vdb
# mdadm --zero-superblock /dev/vdc

Mdmonitor:RAID状態の監視と電子メール通知

mdmonitor デーモンを使用して、RAIDのステータスを監視できます。まず、 /etc/mdadm.confを作成する必要があります 現在のアレイ構成を含むファイル:

# mdadm –detail –scan > /etc/mdadm.conf

mdadm.confファイルは自動的に作成されません。手動で作成および更新する必要があります。

/etc/mdadm.confの最後に、RAIDの問題が発生した場合に通知を送信する管理者の電子メールアドレスを追加します。

MAILADDR raidadmin@woshub.com

次に、systemctlを使用してmdmonitorサービスを再起動します。

# systemctl restart mdmonitor

その後、mdadmエラーまたは障害のあるディスクがある場合、システムは電子メールで通知します。

非アクティブなMDADMRAID

ハードウェア障害または緊急シャットダウンの場合、ソフトウェアRAIDアレイが非アクティブになる可能性があります 。すべてのドライブは非アクティブとしてマークされていますが、エラーはありません。

# cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive vdc[1] vdb[0]
20954112 blocks super
unused devices: <none>

この場合、次のコマンドを使用してアレイを停止する必要があります:

# mdadm --stop /dev/md0

そしてそれを組み立て直します:

# mdadm --assemble --scan –force

mdデバイスが/etc/ fstabに登録されている場合は、次のコマンドを使用して再マウントします。

# mount -a

すでにインストールされているOSでソフトウェアRAIDを作成する方法はいくつかあります。この場合、すべてのパーティションテーブルを手動で新しいディスクにコピーし、システムディスクの内容を1つのディスクで構成されるRAIDに手動で移動する必要があります。次に、最初のディスクをクリーンアップしてRAIDに追加し、initramfsとGRUBローダーを編集します。したがって、サーバーの展開中にソフトウェアRAIDへのCentOSインストールのモードを選択することをお勧めします。

mdadm LinuxでのソフトウェアRAIDの管理が容易になります。この記事では、ツールを使用する際の主な事項について説明し、mdadmを使用してRAIDを使用する場合に発生する一般的な質問について説明しました。


  1. KaliLinuxを使用してAndroidフォンにアクセスする方法

    Androidスマートフォンは、多くの場合、ほとんどの商用IoTガジェットへのゲートウェイです。 Nest Smokeアラームは、関連するAndroidアプリを介して管理されます。温度を制御するためのネストサーモスタットもそうです。スマートロック、ドアベルカム–ほとんどすべてのスマートデバイスにAlexaまたは他のマスターアプリからアクセスできます。誰かがそのようなAndroid携帯にリモートアクセスできるとしたらどうでしょうか?これは不可能だと思いますか?このために、KaliLinuxの「metasploit」を使用してAndroidフォンへのバックドアエントリを作成する方法の基本的なデモを

  2. Linuxで本当にウイルス対策ソフトウェアが必要ですか?

    Linuxにはウイルスがないという神話があります。しかし、ほとんどの人にとって、Linuxではウイルス対策は必要ないのは事実です。これらの主張の両方がどのように真実であることができますか? Linuxマシンに本当にウイルス対策が必要ですか? 昨年Linuxデスクトップに感染したことで話題となったマルウェアであるEvilGnomeのようなケースがありますが、それらは非常にまれです。簡単に言えば、より安全に設計され、より適切に保守され、そして実はあまり人気がないおかげで、LinuxはWindowsよりも安全になります。 ただし、ユーザーとそのニーズによって異なるため、タイトルの質問に対する単純