LINUX.ORG.RU

Теряется доступ к тому luks после смены таблицы разделов

 , , , ,


0

1

Есть диск с системой, таблица разделов MBR, настроено дисковое шифрование luks + lvm т.е. структура такая:

sdb                       8:0    0 931,5G  0 disk  
├─sdb1                    8:1    0   487M  0 part  /boot
├─sdb2                    8:2    0     1K  0 part  
└─sdb5                    8:5    0   931G  0 part  
  └─sdb5_crypt          254:0    0   931G  0 crypt 
    ├─olddisk--vg-root   254:1    0 930,1G  0 lvm   /
    └─olddisk--vg-swap_1 254:2    0   976M  0 lvm   [SWAP]

Всю эту конструкцию клонирую в диск большего размера с намерением позднее расширить:

dd if=/dev/sdb of=/dev/sda conv=sync,noerror status=progress

После копирования надо расширять разделы, предполагал по такой схеме:

parted /dev/sda
(parted) resizepart 2 100%
(parted) resizepart 5 100%

cryptsetup luksOpen /dev/sda5 crypt1
cryptsetup resize /dev/mapper/crypt1
pvresize /dev/mapper/crypt1
lvextend -r -l +100%FREE /dev/mapper/olddisk--vg-root
e2fsck -f /dev/mapper/olddisk--vg-root

Но т.к. новый диск больше 2ТБ (да и материнка не дружит с загрузкой MBR) меняю таблицу разделов:

gdisk /dev/sda
Command (? for help): r
Recovery/transformation command (? for help): f
Recovery/transformation command (? for help): w

После чего получается картина:

sda                       8:0    0   21,8T  0 disk  
├─sda1                    8:1    0   512M  0 part 
├─sda2                    8:2    0   488M  0 part  
└─sda3                    8:5    0   21,8T  0 part 

Я пытаюсь открыть том sda3, но получаю ошибку:

cryptsetup luksOpen /dev/sdb1 crypt1
Устройство /dev/sda3 не является корректным устройством LUKS.

Подскажите, пожалуйста, что делаю не так? Я полагал, что смена таблицы разделов возможна без потери данных.

Подскажите, пожалуйста, что делаю не так?

Не вижу вывода print до и после изменений. Если ее и не было, то очевидная ошибка - делаешь вслепую без проверки. Смещение раздела должно остаться прежним

router ★★★★★
()
Ответ на: комментарий от router

Ещё было бы неплохо попытаться открыть luks после копирования, но до попыток изменения

и кстати, https://superuser.com/a/1075837

dd conv=sync,noerror (or conv=noerror,sync) corrupts your data.

Depending on the I/O error encountered, and blocksize used (larger than physical sector size?), the input and output addresses do not actually stay in sync but end up at the wrong offsets, which makes the copy useless for filesystem images and other things where offsets matter.

router ★★★★★
()

Хотелось бы увидеть fdisk -l со старым и новым дисками.

Похоже, что gdisk творит дичь при создании таблицы разделов. На старом диске смещение криптораздела 487М + 1к, на новом - 512М + 488М. В этом случае пересоздать таблицу разделов, указав верные смещения разделов.

undef ★★★
()
Ответ на: комментарий от Mr_Hydus

что называется смещением

Номер сектора, с которого начинается раздел. Посмотреть через fdisk -l /dev/sda или gdisk -l /dev/sda в колонке Start.

как его указать

Пересоздать таблицу разделов. Но перед этим все же показать таблицы разделов дисков.

undef ★★★
()