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.