次のディスクとコマンドを使用して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 --scan
RAIDを起動します。
解決策:
私の例ではselinuxを無効にしました。すべてのシステムでこれが可能ではないことを知っています。しかし、おそらくあなたは私の投稿で正しい方向を見つけたでしょう。
答え4
これはfdタイプ(Linux raid自動検出)を使用してディスクパーティションをフォーマットするより良い方法のようですが、fdiskのソートメッセージに注意してください。これらの警告を受け、パーティションの作成に使用した分離ツールを使用して問題を解決し、「fd」と入力するfdiskを使用して設定しました。その後、手順に従い、起動時にRAIDデバイスが自動的に形成されます。 / etc / fstabのエントリを介してマウントすることもできます。
注:/etc/mdadm.confを使用すると、RHEL7 3.10.0-514.6.1.el7.x86_6システムが破損しています。