mdadm raid6配列のサイズを10から8に縮小しました。
だから私は次の手順に従います。
pi@raspbian-x64:~ $ sudo mdadm --grow /dev/md0 --raid-devices=8
mdadm: this change will decrease the size of the array.
use --grow --array-size first to truncate array.
e.g. mdadm --grow /dev/md0 --array-size 2928887808
pi@raspbian-x64:~ $ sudo mdadm --grow /dev/md0 --array-size 2928887808
pi@raspbian-x64:~ $ sudo mdadm --grow /dev/md0 --raid-devices=8
mdadm: Cannot set new_offset for /dev/sda1
mdadmが/dev/sda1にnew_offsetを設定できない理由をご存知ですか?
私の配列の詳細は次のとおりです(コマンドを使用した後)。
pi@raspbian-x64:~ $ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue May 11 07:47:04 2021
Raid Level : raid6
Array Size : 2928887808 (2793.21 GiB 2999.18 GB)
Used Dev Size : 488147968 (465.53 GiB 499.86 GB)
Raid Devices : 10
Total Devices : 8
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Jul 18 02:18:12 2022
State : clean, degraded
Active Devices : 8
Working Devices : 8
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Name : pi1:0
UUID : 4314f81c:4b2f90a0:db6089d4:c5958ee0
Events : 147618
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
- 0 0 3 removed
10 8 65 4 active sync /dev/sde1
9 8 82 5 active sync /dev/sdf2
8 8 81 6 active sync /dev/sdf1
- 0 0 7 removed
7 8 2 8 active sync /dev/sda2
6 8 1 9 active sync /dev/sda1
現在、RAIDアレイには46%の空き容量があります。したがって、アレイを8つのデバイスに減らすことをお勧めします。
アップデート1:
デバイス数を10個から7個に減らしたいです。
newSize = devSize * (totalWantedDeviceCount - raid6deviceIntegrityCount)
newSize = 488147968 * (7 - 2)
newSize = 2440739840 (instead of 3905183744)
そのため、RAIDアレイファイルシステムのサイズを縮小できました。
sudo resize2fs /dev/md0 2440739840K
(私は多くのバグを修正しなければならなかったsudo e2fsck -f /dev/md0 -y
)
次に、mdadmでRAIDアレイのサイズを縮小しました。
sudo mdadm --grow /dev/md0 --array-size 2440739840
効率的な:
pi@raspbian-x64:~ $ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue May 11 07:47:04 2021
Raid Level : raid6
Array Size : 2440739840 (2327.67 GiB 2499.32 GB)
Used Dev Size : 488147968 (465.53 GiB 499.86 GB)
Raid Devices : 10
Total Devices : 10
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Aug 15 20:57:47 2022
State : clean
Active Devices : 10
Working Devices : 10
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Name : pi1:0
UUID : 4314f81c:4b2f90a0:db6089d4:c5958ee0
Events : 205009
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 33 1 active sync /dev/sdc1
2 8 81 2 active sync /dev/sdf1
5 8 129 3 active sync /dev/sdi1
10 8 113 4 active sync /dev/sdh1
11 8 49 5 active sync /dev/sdd1
8 8 97 6 active sync /dev/sdg1
4 8 17 7 active sync /dev/sdb1
7 8 66 8 active sync /dev/sde2
6 8 65 9 active sync /dev/sde1
3つのデバイスを削除しようとしましたが、同じエラーが発生しました。
pi@raspbian-x64:~ $ sudo mdadm --grow /dev/md0 --raid-devices=7
mdadm: Cannot set new_offset for /dev/sda1
アップデート2:
配列のサイズを減らすことができなかったので、最初から新しい配列を新しく作成する必要がありました...
アップデート3:
Qbert-Pacmanトリックを使用して、RAIDアレイのサイズを縮小するために実行するために必要なコマンドを生成するのに役立つスクリプトを作成しました。githubのスクリプト。
誰にも効果があるか教えてください。
答え1
この情報が役立つことを願っています。私は、raid4アレイを8つのSSDドライブから4つのSSDドライブに減らそうとしたときに文書化したのと同じ手順に従いました。
ext4ファイルシステムのサイズが縮小されました。 2FS/ファイルシステムのサイズ変更 2929890816
mdadm raid4 配列のサイズが縮小されました。 mdadm -G /dev/md0 - 配列サイズ 2929890816
mdadm raid4デバイスを8台のSSDドライブから4台のSSDドライブに減らそうとしましたが、同じエラーが発生しました(mdadm: /dev/sdX に new_offset を設定できません。)。 mdadm -G /dev/md0 -l4 -n4
再構成中に一時データを保存するためにバックアップファイルを割り当てるオプションを追加することで、この問題を解決しました。前のコマンドは、mdadm raid4の縮小の問題を解決する次のコマンドに置き換えられました。
mdadm -G /dev/md0 -l4 -n4 --バックアップファイル/var/tmp/md0-backup
バックアップファイルが作成され、約10752kを使用して一時データを保持します。バックアップファイルの割り当てと使用を確認するコマンドを実行すると、次の追加出力が表示されます。
mdadm:10752Kの重要なセクションをバックアップする必要があります。
この情報が将来のmdadmデバイスの再構成作業に役立つことを願っています。