sdd
現在、データを1つのディスク()に保存しています。 2つの新しい3TBディスク(sdb&sdc
)があり、3つのディスクすべてにRAID 5アレイを作成しようとしています。
sdb
: gpt テーブル、空のパーティション sdb1sdc
: gpt テーブル、空のパーティション sdc1sdd
:gptテーブル、私のデータを含むbtrfs-partition sdd1
私の計画はこんな感じです。
- RAID5アレイを作成
md0
し、sdb1
sdc1
- ここに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
ディスク()があります。sdd
2つの新しい3TBディスク(sdb&sdc
)があり、3つのディスクすべてにRAID 5アレイを作成しようとしています。
sdb
: gpt テーブル、空のパーティション sdb1sdc
: gpt テーブル、空のパーティション sdc1sdd
:gptテーブル、私のデータを含むbtrfs-partition sdd1
私の計画はこんな感じです。
- RAID5アレイを作成
md0
し、sdb1
sdc1
- ここに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