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: 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が作成されます。
ディスクに関する情報を一覧表示すると、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
バックアップディレクトリを作成し、そこに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
RAIDアレイの状態を表示したり、整合性を確認したりする方法
アレイ内のデータの整合性を確認するには、次のコマンドを使用します。
#echo 'check' > /sys/block/md0/md/sync_action
次に、次のファイルの出力を表示します。
#cat /sys/block/md0/md/mismatch_cnt
0
を取得した場合 、アレイはOKです:
チェックを停止するには、次のコマンドを実行します。
#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
コマンドリストの主な項目を考えてみましょう:
- バージョン –メタデータバージョン
- 作成時間 –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 /dev/md0 --fail /dev/vdc
次に、次のコマンドを使用して削除できます:
# mdadm /dev/md0 --remove /dev/vdc
ドライブに障害が発生した場合と同様に、新しいディスクを追加できます。
# mdadm /dev/md0 --add /dev/vdd
ホットスペアを追加できます アクティブなディスクの1つに障害が発生した場合に、RAIDアレイをすばやく再構築するためのドライブ。必要なmdデバイスに空きディスクを追加します:
# mdadm /dev/md0 --add /dev/vdc
RAIDステータスを確認すると、ディスクがスペアとして表示されます:
ホットスワップが機能することを確認するには、すべてのドライブに障害のマークを付け、RAIDステータスを確認します。
# mdadm /dev/md0 --fail /dev/vdb
確認すると、アレイの再構築が開始されていることがわかります。
/ dev / vdb ディスクは障害としてマークされ、ホットスペアディスクはアクティブなRAIDディスクの1つになりました。これで、再構築プロセスが開始されました。
RAIDに操作可能なディスクを追加するには、次の2つの手順に従う必要があります。
空のドライブをアレイに追加します:
# mdadm /dev/md0 --add /dev/vdb
これで、このディスクはホットスペアとして表示されます。アクティブにするには、mdRAIDデバイスを展開します。
# mdadm -G /dev/md0 —raid-devices=3
次に、アレイが再構築されます:
再構築後、すべてのディスクがアクティブになります:
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
/etc/mdadm.confの最後に、RAIDの問題が発生した場合に通知を送信する管理者の電子メールアドレスを追加します。
MAILADDR [email protected]
次に、systemctlを使用してmdmonitorサービスを再起動します。
# systemctl restart mdmonitor
その後、mdadmエラーまたは障害のあるディスクがある場合、システムは電子メールで通知します。
ハードウェア障害または緊急シャットダウンの場合、ソフトウェア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
mdadm LinuxでのソフトウェアRAIDの管理が容易になります。この記事では、ツールを使用する際の主な事項について説明し、mdadmを使用してRAIDを使用する場合に発生する一般的な質問について説明しました。
-
KaliLinuxを使用してAndroidフォンにアクセスする方法
Androidスマートフォンは、多くの場合、ほとんどの商用IoTガジェットへのゲートウェイです。 Nest Smokeアラームは、関連するAndroidアプリを介して管理されます。温度を制御するためのネストサーモスタットもそうです。スマートロック、ドアベルカム–ほとんどすべてのスマートデバイスにAlexaまたは他のマスターアプリからアクセスできます。誰かがそのようなAndroid携帯にリモートアクセスできるとしたらどうでしょうか?これは不可能だと思いますか?このために、KaliLinuxの「metasploit」を使用してAndroidフォンへのバックドアエントリを作成する方法の基本的なデモを
-
Linuxで本当にウイルス対策ソフトウェアが必要ですか?
Linuxにはウイルスがないという神話があります。しかし、ほとんどの人にとって、Linuxではウイルス対策は必要ないのは事実です。これらの主張の両方がどのように真実であることができますか? Linuxマシンに本当にウイルス対策が必要ですか? 昨年Linuxデスクトップに感染したことで話題となったマルウェアであるEvilGnomeのようなケースがありますが、それらは非常にまれです。簡単に言えば、より安全に設計され、より適切に保守され、そして実はあまり人気がないおかげで、LinuxはWindowsよりも安全になります。 ただし、ユーザーとそのニーズによって異なるため、タイトルの質問に対する単純