Raidを認識すると、ドライブ「シリアル番号」と「インストール名」をtxtにエクスポートできませんでした。

Raidを認識すると、ドライブ「シリアル番号」と「インストール名」をtxtにエクスポートできませんでした。

失敗したraid(ハードディスクのシリアル番号)と(インストール名)または「OK」出力ファイルstatus.txtをエクスポートするためにbashスクリプトまたはPHPファイルを作成したいと思います。以下のコードを試しましたが、完了していません。

2つの出力が予想されます。

 status.txt  if In case everything is fine.
    
    a=OK b=OK c=OK
    

    status.txt  In case sn=DH26fd5302 failed.
    
    a=FAIL b=DH26fd5302 c=/dev/md3 

mdam出力

[root@gtw4-de ~]# mdadm -vDs /dev/md3 | awk -F= '/^[ ]+devices/ {print $2}' | tr , '\n'
/dev/sda3
/dev/sdb3
/dev/sdc3
/dev/sdd3
[root@gtw4-de ~]# mdadm --detail --scan /dev/md3
ARRAY /dev/md3 metadata=0.90 UUID=f1c7d2cb:a4335wb:a4d2adc2:26fd5302
[root@gtw4-de ~]#

mdstatプロセス

[root@gtw4-de ~]# cat /proc/mdstat
Personalities : [raid1] [raid10]

    md6 : active raid10 sda6[0] sdd6[3] sdc6[2] sdb6[1]
          7237440512 blocks 512K chunks 2 near-copies [4/4] [UUUU]
          bitmap: 2/54 pages [8KB], 65536KB chunk
    
    md5 : active raid10 sda5[0] sdc5[2] sdd5[3] sdb5[1]
          153594880 blocks 512K chunks 2 near-copies [4/4] [UUUU]
    
    md2 : active raid1 sdd2[3] sdc2[2] sdb2[1] sda2[0]
          523200 blocks [4/4] [UUUU]
    
    md3 : active raid1 sda3[0] sdc3[2] sdd3[3] sdb3[1]
          209918912 blocks [4/4] [UU_UU]
          bitmap: 2/2 pages [8KB], 65536KB chunk

スクリプトは[]間の_のみを検索してOKまたはFAIL出力を提供しますが、エラーが発生した場合は、エラーが発生したドライブのUUIDとマウント名が必要です。

#!/bin/sh
if grep -q '\[[^]]*_.*]' /proc/mdstat
then
       (find problem drive which contain _ between [] get mount name then search UUID)
else
        echo "a=OK b=OK c=OK"
fi

ベストアンサー1

あなたの質問からあなたが本当に欲しいものが何であるかは明らかではありません。これらの説明は、RAIDアレイを監視してそれを実行するためのスクリプトを作成していることを示しているようです。これに基づいてmdadmすでに完了しています。

mdadm --monitor --scan

キーワードに正しいメールアドレス値があることを確認してください/etc/mdadm/mdadm.confMAILADDR私のメールアドレス値rootは組織全体の監視ツールに渡されました)。

他のオプションも使用できますmdadm。たとえばPROGRAM、キーワード、

mdadm --monitor監視中のアレイで潜在的に興味深いイベントが検出されたときに実行するプログラムの名前を指定します。プログラムは、イベント、mdデバイス、および関連コンポーネントデバイスである2つまたは3つの引数を使用して実行されます。

おすすめ記事