La partición no aparece después del descifrado de Luks

La partición no aparece después del descifrado de Luks

Cada vez que descifro mi disco luks, la partición no aparece:

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 

cuando ejecuto 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

disco f:

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

Quiero montar la partición md0_crypt1 cada vez que inicio. Pero sin ejecutar partprobe cada vez.

¿Me he perdido algo?

Respuesta1

Es inusual particionar dispositivos LUKS/LVM y, como tal, la mayoría de las herramientas estándar no cubren esto. De hecho, mantener las particiones ocultas en los dispositivos Device Mapper es una característica, ya que las máquinas virtuales que usan volúmenes lógicos como dispositivos de respaldo generalmente las particionan pero NO quieren que sus particiones aparezcan en el host.

Quiero montar la partición md0_crypt1 cada vez que inicio. Pero sin ejecutar partprobe cada vez.

Estás prácticamente atrapado en eso. Y una vez que lo insertes en tu script de inicio en algún lugar, ni siquiera notarás la diferencia... (en otras palabras: automatízalo)


Haga una copia de seguridad antes de intentar cualquier cosa por debajo de este punto.
También haga esto desde un LiveCD donde no haya nada montado.

Opción 1)

Podría eliminar por completo la tabla de particiones superflua (desplazar todos los datos en 2048, es decir, el desplazamiento de la primera y única partición). Comando altamente peligroso dd:

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

Nota: dd'ing en un lugar de esta manera debe asegurarse de no sobrescribir los datos que aún no se han leído, por lo que esto no funcionaría en la otra dirección.

Opcion 2)

Convertir la tabla de particiones a LVM también podría ser factible (y no requerir reubicar ningún dato), sin embargo, LVM prefiere un área de metadatos más grande en estos días y también le gusta poner a cero y borrar firmas. Por lo tanto, debe tener cuidado para evitarlos y asegurarse de que el primer PE comience en 1M, no en 2M u otros valores predeterminados más grandes.

[ 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 ]

Se puede hacer, pero no se debe intentar sin una copia de seguridad completa.

información relacionada