Я могу перезаписать раздел LUKS с, он дешифровал содержание?

Это может работать:

du -hs * | sort -h

Если Ваша копия du не поддерживает -h флаг, затем можно преобразовать использование чисел awk.

du -ks * | awk '
function human(x) {
    s="kMGTEPYZ";
    while (x>=1000 && length(s)>1)
        {x/=1024; s=substr(s,2)}
    return int(x+0.5) substr(s,1,1)
}
{gsub(/^[0-9]+/, human($1)); print}'

5
18.05.2014, 17:20
3 ответа
[1168141] Вам все равно придется скопировать все данные. У вас определенно должна быть резервная копия. Если только ваше устройство для резервного копирования не работает значительно медленнее активного диска, восстановление из резервной копии происходит так быстро, как это возможно.

Том LUKS начинается с заголовка ([1168482]до 2МБ[1168483]). Если вы потеряете заголовок, данные на томе будут потеряны. Пока заголовок не поврежден, вы можете получить доступ к данным в независимых 512-байтных секторах.

Стратегия типа [1168484]cat /dev/mapper/encrypted >/dev/sdz99[1168485] будет работать, так как шифрованный текст расположен с положительным смещением (размером заголовка) относительно простого текста. Однако, это вполне может быть медленнее, чем восстановление из резервной копии, потому что это копия на том же диске (при копировании с диска на диск чтение и запись выполняются параллельно). Для копии с одного и того же диска

enter image description here

dd[1168882] с большим размером блока только немного быстрее, чем [1168883]cat

. В этой стратегии есть главное предостережение: если во время копирования произойдет сбой питания или другой системный сбой, весь ваш раздел будет перезаписан, так как заголовок был перезаписан первым делом.

  • Вы можете сохранить первые 2МБ данных в другом месте, а остальные переместить:
  • Таким образом, вы можете возобновить работу после перерыва (не пытайтесь собрать логический том, не говоря уже о монтировании файловой системы!); однако, это требует знания того, на чем вы остановились. Это практически невозможно определить (вам придется использовать утилиту для копирования, которая выводит след копируемых блоков и записывает его на диск, синхронно с блочными копиями)

Если ваше резервное хранилище очень медленное, то вы можете использовать эту стратегию сдвига - простое [1168488]cat[1168489] сдвиг подойдет - и вернуться к восстановлению из резервной копии, если случится что-то плохое.

Если резервное хранилище действительно громоздкое, то другим подходом будет:

Уменьшить размер файловой системы ([1168885]изменить размер2fs[1168886]).

Уменьшить размер логического тома ([1168887]lvreduce[1168888]).

Уменьшить размер физического тома ([1168889]pvresize[1168890]).

Уменьшите зашифрованный том[1168892].

Уменьшите раздел ([1168893]fdisk[1168894] или [1168895]gdisk[1168896]) и создайте новый раздел в свободном пространстве.

Создайте физический том в новом разделе ([1168897]pvcreate[1168898]) и добавьте его в группу томов ([1168899]vgextend[1168900]).

Сдвиньте как можно больше физических объемов с зашифрованного тома ([1168901]pvmove[1168902]).

Если зашифрованный том не пустой, повторите с шага 1.

Избавьтесь от неиспользуемого физического тома ([1168903]vgreduce[1168904], а затем [1168905]pvremove[1168906]).

Длинный и нечестный? Да. Опять же, я рекомендую восстановить из резервной копии.[1168158].

3
27.01.2020, 20:39
[1131248]LUKS помещает заголовок на том, размер которого обычно составляет 2 Мб.
Таким образом, вы можете скопировать содержимое открытого тома LUKS на базовый том LUKS с помощью [1131614]dd[1131615].

Обратите внимание, что если вы потеряете питание во время копирования, у вас останутся неразборчивые данные, так как заголовок тома будет утерян.

Если только небольшая часть тома покрыта данными, то может быть быстрее уменьшить том LUKS, создать за ним новый и скопировать данные на уровне файловой системы ([1131616]cp -a[1131617]).[1131255].

2
27.01.2020, 20:39
[1132084] Короткий ответ: [1132518]Это возможно, но я бы не стал этого делать с моими данными из-за отсутствия гарантии безопасности данных и низкой скорости (преобразование моего диска емкостью 1 ТБ, вероятно, займет ~10 часов)

TL;DR:

Я решил проверить это в виртуальной машине VirtualBox с прикрепленным 2 ГБ томом виртуального жесткого диска в виде /dev/sdb. Я написал несколько скриптов (см. конец ответа) для проверки удаления LUKS-слоя из стека файловой системы. Вторая важная вещь (первая - полная резервная копия ваших данных) - это выгрузить заголовок LUKS во внешнее хранилище и открыть том LUKS этим внешним заголовком (поскольку заголовок на томе будет перезаписан). Без него скорость отказов составляет ~50% (2 теста из 4 неудачных). С внешним заголовком 4 из 4 тест был успешным... В любом случае, я был слишком ленив, чтобы делать больше проверок (я проверил только md5sum одного большого файла), так что нет никакой гарантии, что ваши данные будут в безопасности. Вам, вероятно, придется отредактировать скрипт, если вы хотите поиграть с ним (строка с [1132520]Disk=/dev/sdb[1132521])

0
27.01.2020, 20:39

Теги

Похожие вопросы