LUKS および ext4 ファイルシステムを使用して Debian 10 で madam RAID1 を拡張する方法

LUKS および ext4 ファイルシステムを使用して Debian 10 で madam RAID1 を拡張する方法

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とその上にファイルシステムを拡張することを意味します。

このようにしようとしましたが、正しいかどうかわかりません。

  1. 削除/データ(削除/データ)
  2. LUKSボリュームを閉じます(cryptsetup luksClose md2_crypt)
  3. sda4 の失敗と削除 (mdadm -f /dev/md2 /dev/sda4 && mdadm -r /dev/md2 /dev/sda4)
  4. /dev/sda4 パーティションを削除し、使用可能なディスク容量全体を占める新しいパーティションを作成します。 (cgdisk /dev/sda4)既存のものを削除せずに増やすことはできますか?
  5. サイズ変更された sda4 を再度追加します (mdadm --add /dev/md2 /dev/sda4)
  6. 同期待機 (mdadm --wait /dev/md2)
  7. sda4の代わりにsdb4を使用して手順4〜6を繰り返します。
  8. RAIDアレイから書き込み意図ビットマップを削除します(mdadm --grow /dev/md2 -b none)。
  9. RAIDアレイ拡張(mdadm --grow /dev/md2 --size max)
  10. 同期待機 (mdadm --wait /dev/md2)
  11. もう一度ビットマップを追加する(mdadm --grow /dev/md2 --bitmap内)
  12. 利用可能なすべてのスペースを占めるようにLUKSボリュームをサイズ変更する(cryptsetup luksOpen md2_crypt&&cryptsetup resize md2_crypt)
  13. fsck ファイルシステム (e2fsck -f /dev/mapper/md2_crypt)
  14. ext4 ファイルシステム拡張 (resize2fs /dev/mapper/md2_crypt)
  15. ファイルシステムを再マウントします(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デバイスのサイズを変更した後に新しいサイズを表示するなど、各ステップが実際に機能していることを確認する必要があります。理想的にはうまくいくはずですが、時にはカーネルはパーティションテーブルを再読み込みすることを拒否します。この場合、再起動が必要な場合があります。


(※)状況によっては意味がある場合がありますが、危険な変更を行うときはミラーをそのままにしておくことをお勧めします。しかし、あなたの説明によると、これはあなたの意図ではないようです。他のすべての作業を完了し、正しく機能していることを確認するまで、ドライブを再度追加しないでください。

関連情報