mdadm RAID5 3*3TB、データを含むドライブ1台

mdadm RAID5 3*3TB、データを含むドライブ1台

sdd現在、データを1つのディスク()に保存しています。 2つの新しい3TBディスク(sdb&sdc)があり、3つのディスクすべてにRAID 5アレイを作成しようとしています。

  • sdb: gpt テーブル、空のパーティション sdb1
  • sdc: gpt テーブル、空のパーティション sdc1
  • sdd:gptテーブル、私のデータを含むbtrfs-partition sdd1

私の計画はこんな感じです。

  • RAID5アレイを作成md0し、sdb1sdc1
  • ここにbtrfsファイルシステムを作成します。
  • sdd1データのコピーmd0
  • 再パーティション(=削除)sdd
  • 配列を次に展開sdd1

現在、2つのディスクRAID5アレイを作成しています。私は配列を構成しました。

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=2 /dev/sdc1 /dev/sdb1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 2900832256K
mdadm: automatically enabling write-intent bitmap on large array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

そして、初期同期を実行していることを示しています。現在データが保存されている/proc/mdstatディスク()があります。sdd2つの新しい3TBディスク(sdb&sdc)があり、3つのディスクすべてにRAID 5アレイを作成しようとしています。

  • sdb: gpt テーブル、空のパーティション sdb1
  • sdc: gpt テーブル、空のパーティション sdc1
  • sdd:gptテーブル、私のデータを含むbtrfs-partition sdd1

私の計画はこんな感じです。

  • RAID5アレイを作成md0し、sdb1sdc1
  • ここにbtrfsファイルシステムを作成します。
  • sdd1データのコピーmd0
  • 再パーティション(=削除)sdd
  • 配列を次に展開sdd1

現在、2つのディスクRAID5アレイを作成しています。私は配列を構成しました。

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=2 /dev/sdc1 /dev/sdb1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 2900832256K
mdadm: automatically enabling write-intent bitmap on large array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

/proc/mdstat初期同期を実行する様子を示します。

Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
        md0 : active raid5 sdb1[2] sdc1[0]
          2900832256 blocks super 1.2 level 5, 512k chunk, algorithm 2 [2/1] [U_]
          [>....................]  recovery =  0.6% (19693440/2900832256) finish=308.8min speed=155487K/sec
          bitmap: 0/22 pages [0KB], 65536KB chunk

    unused devices: <none>

上部は、この期間中にmd(adm)がCPUの約35%を使用したことを示しています。

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  989 root      20   0       0      0      0 S  29.1  0.0   0:17.69 md0_raid5
  994 root      20   0       0      0      0 D   6.6  0.0   0:03.54 md0_resync

今まではそんなに良くなった。これは約6時間かかります。最初の試行ではサーバーを再起動する必要があるため、約5時間後にアレイが停止し、2回目の試みではドライブがsdb奇妙に消えてシステムも再起動する必要がありました。

配列は自動的に起動しますが、進行状況バーは消えます。

Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]      
md127 : active (auto-read-only) raid5 sdb1[2] sdc1[0]
      2900832256 blocks super 1.2 level 5, 512k chunk, algorithm 2 [2/1] [U_]
      bitmap: 0/22 pages [0KB], 65536KB chunk

unused devices: <none>

CPU使用量がないと報告しますtop

だから手動で停止して組み立ててみました。

~# mdadm --stop /dev/md127
mdadm: stopped /dev/md127
~# mdadm --assemble --verbose /dev/md0 /dev/sdc1 /dev/sdb1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdb1 to /dev/md0 as 1
mdadm: added /dev/sdc1 to /dev/md0 as 0
mdadm: /dev/md0 has been started with 1 drive (out of 2) and 1 rebuilding.

再構築中であると言われていますが、mdstatには何も表示されません。

Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md0 : active (auto-read-only) raid5 sdc1[0] sdb1[2]
      2900832256 blocks super 1.2 level 5, 512k chunk, algorithm 2 [2/1] [U_]
      bitmap: 0/22 pages [0KB], 65536KB chunk

unused devices: <none>

上部にCPU使用率は再表示されません。

そのため、手動で同期を強制する方法をオンラインで検索してこれを見つけましたが、--update=resync成功しませんでした。

~# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
~# mdadm --assemble --verbose --force --run --update=resync /dev/md0 /dev/sdc1 /dev/sdb1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: Marking array /dev/md0 as 'clean'
mdadm: added /dev/sdb1 to /dev/md0 as 1
mdadm: added /dev/sdc1 to /dev/md0 as 0
mdadm: /dev/md0 has been started with 1 drive (out of 2) and 1 rebuilding.
root@server:~# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md0 : active (auto-read-only) raid5 sdc1[0] sdb1[2]
      2900832256 blocks super 1.2 level 5, 512k chunk, algorithm 2 [2/1] [U_]
      bitmap: 0/22 pages [0KB], 65536KB chunk

unused devices: <none>

(まだCPU使用量はありません)


2日間、直接問題を解決しようとした後、助けやアドバイスをいただきありがとうございます。

答え1

RAIDアレイには何もないので、簡単なオプションはすべてを消去して再起動することです。

  • mdadm /dev/md127 --fail /dev/sdb1; mdadm /dev/md127 --fail /dev/sdc1; mdadm /dev/md127 --remove failed
  • wipefs -a /dev/sdb1; wipefs -a /dev/sdc1

しかし、パフォーマンスが低下したRAID 5アレイを作成し、ここに3番目のディスクを追加することをお勧めします。再構築は通常再構築よりも高速ですが、再構築中にディスクに障害が発生するとデータが失われる可能性が高くなります(バックアップはありませんか?)。

  • mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdc1 /dev/sdb1 missing
  • 新しいファイルシステムの作成
  • データのコピー
  • wipefs -a /dev/sdd1
  • mdadm /dev/md0 --add /dev/sdd1

関連情報