再起動後にCentOS 7で作成されたmdadm配列が消える

再起動後にCentOS 7で作成されたmdadm配列が消える

次のディスクとコマンドを使用してraid1を作成しました。

$ ls -l /dev/disk/by-id/ata-ST3000*
lrwxrwxrwx 1 root root 9 Sep 19 07:27 /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F04NR1 -> ../../sdc
lrwxrwxrwx 1 root root 9 Sep 19 07:27 /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F190E3 -> ../../sda

$ mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F190E3 /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F04NR1

mdadm.confに関連情報を追加しました。 ARRAY行に「mdadm --detail --scan >> /etc/mdadm.conf」を使用しました。

$ cat /etc/mdadm.conf
DEVICE /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F190E3
DEVICE /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F04NR1
ARRAY /dev/md0 metadata=1.2 name=jaime.WORKGROUP:0 UUID=93f2cb73:2d124630:562f1dd9:bf189029
MAILADDR your@address

ファイルシステムを作成してマウントしました。

$ mkfs -t xfs /dev/md0
$ mount -t xfs /dev/md0 /data

再起動後、/ dev / md0は存在しなくなり、アレイを組み立てることはできません。

$ mdadm --assemble /dev/md0 /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F190E3 /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F04NR1
mdadm: Cannot assemble mbr metadata on /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F190E3
mdadm: /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F190E3 has no superblock - assembly aborted



$ blkid
/dev/sda: PTTYPE="gpt"
/dev/sdb1: UUID="5c7d3f2b-c975-46a3-a116-e9fc156c1de5" TYPE="xfs"
/dev/sdb2: UUID="JhoqjI-N6R6-O9zt-Xumq-TnFX-OUCd-Lg9YHy" TYPE="LVM2_member"
/dev/sdc: PTTYPE="gpt"
/dev/mapper/centos-swap: UUID="3b882d4d-b900-4c59-9912-60a413699db4" TYPE="swap"
/dev/mapper/centos-root: UUID="08df953d-d4f4-4e83-bf4b-41f14a98a12e" TYPE="xfs"
/dev/mapper/centos-home: UUID="2358f723-5e7f-49ed-b207-f32fe34b1bbc" TYPE="xfs"

答え1

私は皆さんに適した解決策を見つけました。たぶんこれがあなたに役立つかもしれません。ここにあります:

システムが起動または起動中にmdadm.confファイルを読み取らないため、Raidマウントは消えます。だから私がしたことは、/etc/rc.d/rc.local次のコマンドを含むようにファイルを編集することでした。

sleep 10
mdadm --assemble --scan
sleep 10
mount -a

システムを再起動するたびに、このファイルを読み込み、ここで説明したコマンドを実行し、RAIDマウントをマウントします。

答え2

理論的には、「ベアドライブ」(パーティション化されていないドライブ)で攻撃することは可能ですが、ディスクがmdドライブではなくgptパーティションとして表示されることを確認しました。通常、ディスクを分割してからmd配列のパーティションを使用すると、より良い成功/安定性が見つかりました。

パーティションテーブルを作成し、パーティションタイプをLinux raidの自動検出(正しく覚えている場合はfdiskのfd)に設定しましょう。その後、配列を再作成します。

また、mdadm.confを使用しないと、より良い成功を収めることができることがわかりました。最新バージョンのmdツールは、そのパーティションのスーパーブロックから必要なすべての情報を取得します。

答え3

この問題が見つかりましたが、トラブルシューティング中に多くの役に立ちました。しかし、どんな答えも私の問題を解決しません。

たぶんこれは同じ問題を抱えている人に役立つかもしれません。私の場合、RedHat Linux 7.2には2つのNVMEドライブがあります。

SELinuxにはnvmeに問題があり、mdadmがその問題と連携しないようにします。

兆候:

このスレッドの質問で説明されているように、ソフトウェアRAIDを作成します。再起動後、RAIDは消えます。

  • /proc/mdstat空で/dev/md0存在しません。
  • mdadm --assemble --scanRAIDを起動します。

解決策:

私の例ではselinuxを無効にしました。すべてのシステムでこれが可能ではないことを知っています。しかし、おそらくあなたは私の投稿で正しい方向を見つけたでしょう。

答え4

これはfdタイプ(Linux raid自動検出)を使用してディスクパーティションをフォーマットするより良い方法のようですが、fdiskのソートメッセージに注意してください。これらの警告を受け、パーティションの作成に使用した分離ツールを使用して問題を解決し、「fd」と入力するfdiskを使用して設定しました。その後、手順に従い、起動時にRAIDデバイスが自動的に形成されます。 / etc / fstabのエントリを介してマウントすることもできます。

注:/etc/mdadm.confを使用すると、RHEL7 3.10.0-514.6.1.el7.x86_6システムが破損しています。

関連情報