Debian GNU/Linux 10 (buster) の LUKS ボリュームで ext4 ファイルシステムを使用して、既存の RAID1 アレイを拡張しようとしています。
これは私のlsblkディスクレイアウトです。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 9,1T 0 disk
├─sda1 8:1 0 10M 0 part
├─sda2 8:2 0 477M 0 part
│ └─md0 9:0 0 476,7M 0 raid1 /boot
├─sda3 8:3 0 55,9G 0 part
│ └─md1 9:1 0 55,9G 0 raid1 /
└─sda4 8:4 0 7,2T 0 part
└─md2 9:2 0 7,2T 0 raid1
└─md2_crypt 253:0 0 7,2T 0 crypt /data
sdb 8:16 0 9,1T 0 disk
├─sdb1 8:17 0 10M 0 part
├─sdb2 8:18 0 477M 0 part
│ └─md0 9:0 0 476,7M 0 raid1 /boot
├─sdb3 8:19 0 55,9G 0 part
│ └─md1 9:1 0 55,9G 0 raid1 /
└─sdb4 8:20 0 7,2T 0 part
└─md2 9:2 0 7,2T 0 raid1
└─md2_crypt 253:0 0 7,2T 0 crypt /data
/dataを拡張して残りの空き容量を占めたいです。したがって、これはsda4、sdb4、およびmd2を拡張してmd2_cryptとその上にファイルシステムを拡張することを意味します。
このようにしようとしましたが、正しいかどうかわかりません。
- 削除/データ(削除/データ)
- LUKSボリュームを閉じます(cryptsetup luksClose md2_crypt)
- sda4 の失敗と削除 (mdadm -f /dev/md2 /dev/sda4 && mdadm -r /dev/md2 /dev/sda4)
- /dev/sda4 パーティションを削除し、使用可能なディスク容量全体を占める新しいパーティションを作成します。 (cgdisk /dev/sda4)既存のものを削除せずに増やすことはできますか?
- サイズ変更された sda4 を再度追加します (mdadm --add /dev/md2 /dev/sda4)
- 同期待機 (mdadm --wait /dev/md2)
- sda4の代わりにsdb4を使用して手順4〜6を繰り返します。
- RAIDアレイから書き込み意図ビットマップを削除します(mdadm --grow /dev/md2 -b none)。
- RAIDアレイ拡張(mdadm --grow /dev/md2 --size max)
- 同期待機 (mdadm --wait /dev/md2)
- もう一度ビットマップを追加する(mdadm --grow /dev/md2 --bitmap内)
- 利用可能なすべてのスペースを占めるようにLUKSボリュームをサイズ変更する(cryptsetup luksOpen md2_crypt&&cryptsetup resize md2_crypt)
- fsck ファイルシステム (e2fsck -f /dev/mapper/md2_crypt)
- ext4 ファイルシステム拡張 (resize2fs /dev/mapper/md2_crypt)
- ファイルシステムを再マウントします(mount / data)。
これは正しいアプローチですか?私は重要なステップを逃しましたか?順番は正しいですか?私はLUKSを育てたことがないので、特にLUKSの部分が心配です。また、意図ビットマップに書き込むのが心配です。これが削除/追加されるのか、いつ必要なのかはわかりません。
追加の詳細:
これは私の/proc/mdstatです
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sda4[3] sdb4[4]
7754802503 blocks super 1.2 [2/2] [UU]
[=============>.......] check = 66.6% (5170546304/7754802503) finish=237.0min speed=181708K/sec
bitmap: 0/15 pages [0KB], 262144KB chunk
md1 : active raid1 sdb3[4] sda3[3]
58560512 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sdb2[4] sda2[3]
488128 blocks super 1.2 [2/2] [UU]
unused devices: <none>
(起動前に同期が完了します)
mdadm - 詳細/dev/md2
/dev/md2:
Version : 1.2
Creation Time : Sat Apr 1 20:30:05 2017
Raid Level : raid1
Array Size : 7754802503 (7395.56 GiB 7940.92 GB)
Used Dev Size : 7754802503 (7395.56 GiB 7940.92 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Wed Apr 12 16:57:07 2023
State : clean, checking
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : bitmap
Check Status : 66% complete
Events : 235789
Number Major Minor RaidDevice State
4 8 20 0 active sync /dev/sdb4
3 8 4 1 active sync /dev/sda4
ルーク情報:
LUKS header information for /dev/md2
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha1
Payload offset: 4096
MK bits: 512
fdisk -l /dev/sda
Disk /dev/sda: 9,1 TiB, 10000831348736 bytes, 19532873728 sectors
Disk model: MG06ACA10TE
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sda1 2048 22527 20480 10M BIOS boot
/dev/sda2 22528 999423 976896 477M Linux RAID
/dev/sda3 999424 118185983 117186560 55,9G Linux RAID
/dev/sda4 118185984 15628053134 15509867151 7,2T Linux RAID
parted /dev/sda は無料出力を印刷します:
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use
all of the space (an extra 3904820560 blocks) or continue with the current setting?
Fix/Ignore? ^C
Model: ATA MG06ACA10TE (scsi)
Disk /dev/sda: 10,0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
17,4kB 1049kB 1031kB Free Space
1 1049kB 11,5MB 10,5MB bios_grub
2 11,5MB 512MB 500MB raid
3 512MB 60,5GB 60,0GB raid
4 60,5GB 8002GB 7941GB raid
8002GB 10,0TB 1999GB Free Space
答え1
ステップが多すぎます。必ずしも必要でない限り、ドライブが故障したくありません。 (※)
未分割の空き領域があり、他のパーティションがないと仮定すると、すべてを順番に追加できます。このようなオンラインサイズ変更を使用すると、何も削除する必要はありません。
# Partition (repeat it for all disks)
parted /dev/sdx print free
parted /dev/sdx resizepart 4 100%
# RAID
mdadm --grow /dev/md2 --size=max
mdadm --wait /dev/md2
# LUKS
cryptsetup resize md2_crypt
# EXT4
resize2fs /dev/mapper/md2_crypt
lsblk
パーティション/ md / cryptデバイスのサイズを変更した後に新しいサイズを表示するなど、各ステップが実際に機能していることを確認する必要があります。理想的にはうまくいくはずですが、時にはカーネルはパーティションテーブルを再読み込みすることを拒否します。この場合、再起動が必要な場合があります。
(※)状況によっては意味がある場合がありますが、危険な変更を行うときはミラーをそのままにしておくことをお勧めします。しかし、あなたの説明によると、これはあなたの意図ではないようです。他のすべての作業を完了し、正しく機能していることを確認するまで、ドライブを再度追加しないでください。