Как изменить размер логического тома, зашифрованного с помощью LUKS

awk Разделитель полей обрабатывается как регулярное выражение, если его длина превышает два символа. ..в качестве регулярного выражения означает любые 2 символа. Вам нужно будет избежать этого .либо с помощью [.], либо с помощью \..

awk -F'[.][.]'...
awk -F'\\.\\.'...

(Сама обратная косая черта также должна быть экранирована (с некоторыми awks, такими как gawk по крайней мере )для расширения \n/ \b, которому подвергается аргумент -F).

В вашем случае:

awk -F' +|[.][.]' '/^[^#]/{print $1}' < output.txt

В любом случае, избегайте циклов оболочки для обработки текста , обратите внимание, чтоreadне предназначен для использования таким образом , чтоechoне следует использовать для произвольных данных и не забудьте заключить свои переменные в кавычки .

1
18.01.2020, 20:53
1 ответ

У вас есть LUKS внутри LVM, так что да, вы должны заботиться о LUKS. lvresize --resizefsздесь не работает, так что придется делать это вручную.

Без LUKS размер LV и размер файловой системы были бы одинаковыми. С LUKS вы также должны учитывать заголовок LUKS. Размер этого заголовка составляет несколько МБ, поэтому файловая система должна быть на несколько МБ меньше или логический том должен быть на несколько МБ больше соответственно. Так что места достаточно и для заголовка LUKS, и для файловой системы.

Предположим, вы хотите сжать /homeдо 100G, а размер заголовка LUKS равен 16M(, сравнить cryptsetup luksDump, полезную нагрузку или смещение данных ).

Если вы сделаете файловую систему /home100G, размер LV должен быть 100G+16M.

В качестве альтернативы сделайте файловую систему размером 100G-16M, чтобы LV мог быть резким 100G.

Так, например:

# shrink the filesystem first
resize2fs /dev/mapper/luks-home 100G

# shrink the LUKS
cryptsetup resize --device-size 100G luks-home

# shrink the LV
lvresize -L102416M lvm/home # 100G = 102400M + 16M

Если вы не уверены в математике, также принято еще больше сжимать файловую систему (, например. 99G вместо 100G ), чтобы добавить запас прочности, а затем увеличить его до «реального» размера устройства позже:

# after resizing the LV, grow LUKS and filesystem to device size
cryptsetup resize luks-home
resize2fs /dev/mapper/luks-home

В отличие от традиционного разбиения на разделы, при использовании LVM нет необходимости сразу использовать все доступное пространство. Если бы ваши LV были более разумного размера, у вас было бы много свободного места LVM для увеличения файловых систем по мере необходимости, без необходимости сначала проходить неприятный процесс сжатия.

1
27.01.2020, 23:40

Теги

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