Luksの復号化後にパーティションが表示されない

Luksの復号化後にパーティションが表示されない

Luksドライブの復号化のたびにパーティションは表示されません。

cryptsetup -v luksOpen /dev/md0 md0_crypt

lsblk
sdb                             8:16   0   3,7T  0 disk  
└─sdb1                          8:17   0   3,7T  0 part  
  └─md0                         9:0    0   7,3T  0 raid5 
    └─md0_crypt               253:11   0   7,3T  0 crypt 
sdc                             8:32   0   3,7T  0 disk  
└─sdc1                          8:33   0   3,7T  0 part  
  └─md0                         9:0    0   7,3T  0 raid5 
    └─md0_crypt               253:11   0   7,3T  0 crypt 
sdd                             8:48   0   3,7T  0 disk  
└─sdd1                          8:49   0   3,7T  0 part  
  └─md0                         9:0    0   7,3T  0 raid5 
    └─md0_crypt               253:11   0   7,3T  0 crypt 

partprobeを実行するとき

partprobe
lsblk
sdb                                 8:16   0   3,7T  0 disk  
└─sdb1                              8:17   0   3,7T  0 part  
  └─md0                             9:0    0   7,3T  0 raid5 
    └─md0_crypt                   253:11   0   7,3T  0 crypt 
      └─md0_crypt1                253:12   0   7,3T  0 part  
sdc                                 8:32   0   3,7T  0 disk  
└─sdc1                              8:33   0   3,7T  0 part  
  └─md0                             9:0    0   7,3T  0 raid5 
    └─md0_crypt                   253:11   0   7,3T  0 crypt 
      └─md0_crypt1                253:12   0   7,3T  0 part  
sdd                                 8:48   0   3,7T  0 disk  
└─sdd1                              8:49   0   3,7T  0 part  
  └─md0                             9:0    0   7,3T  0 raid5 
    └─md0_crypt                   253:11   0   7,3T  0 crypt 
      └─md0_crypt1                253:12   0   7,3T  0 part

ディスクドライブ:

Disk /dev/mapper/md0_crypt: 7,3 TiB, 8001299677184 bytes, 15627538432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Disklabel type: gpt
Disk identifier: A599A15F-07DA-B340-ADDC-AA56AE2E9249

Device                      Start         End     Sectors  Size Type
/dev/mapper/md0_crypt-part1  2048 15627536383 15627534336  7,3T Linux

起動するたびに md0_crypt1 パーティションをマウントしたいと思います。しかし、毎回partprobeを実行する必要はありません。

私が逃したものは何ですか?

答え1

LUKS / LVMデバイスを分割することは一般的ではないため、ほとんどの標準ツールではこれを扱いません。実際には、論理ボリュームをバックアップデバイスとして使用する仮想マシンにこれらのパーティションがありますが、そのパーティションをホストに表示したくないため、デバイスマッパーデバイスからパーティションを非表示にする機能があります。

起動するたびに md0_crypt1 パーティションをマウントしたいと思います。しかし、毎回partprobeを実行する必要はありません。

あなたはそれにほとんど閉じ込められています。初期化スクリプトのどこかに置くと、違いに気付かないでしょう...(つまり、自動化してください)


このポイント以下の作業を試みる前に、バックアップを作成してください。
何もインストールされていないLiveCDでもこれを行うことができます。

オプション1)

冗長パーティションテーブルを完全に削除できます(すべてのデータ移動は2048秒です。これは最初と唯一のパーティションのオフセットです)。非常に危険なddコマンド:

dd status=progress bs=1M if=/dev/mapper/md0_crypt1 of=/dev/mapper/md0_crypt

注:このように追加すると、未読データが上書きされるため、他の方向では機能しません。

オプション2)

パーティションテーブルをLVMに変換することも可能ですが(データを再配置せずに)、LVMはより大きなメタデータ領域とゼロおよび署名の削除を好みます。したがって、このような状況を避けるように注意し、最初のPEが2Mまたは他のより大きなデフォルトではなく1Mで始まることを確認する必要があります。

[ replace /dev/loop0 with /dev/mapper/md0_crypt ]
# vgcreate --dataalignment 1M --metadatasize 128K vgname /dev/loop0
[ this step will wipe GPT signature ]
# pvs -o +pe_start /dev/loop0
  PV         VG     Fmt  Attr PSize    PFree 1st PE 
  /dev/loop0 foobar lvm2 a--  1020.00m    0    1.00m
                                             ^^^^^^^
[ 1st PE must be 1.00m (2048s) otherwise abort mission! ]
# lvcreate --wipesignatures n --zero n -l100%FREE -n lvname vgname
# file -sL /dev/vgname/lvname
/dev/vgname/lvname: Linux rev 1.0 ext4 filesystem data [...]
[ if there's no filesystem, something went wrong ]

これは可能ですが、完全バックアップなしで試してはいけません。

関連情報