Шаг 1: Сделайте резервные копии.
Я знаю, что большинство людей пропускают этот шаг, но вы вносите изменения, которые могут привести к серьезной потере данных, если вы облажаетесь, и вы получаете указания от случайного незнакомца в Интернете. Вы несете ответственность за сохранность ваших данных. Я не.
Шаг 2: Сожмите файловую систему в lv_scratch
. Если это файловая система ext2/3/4, размонтируйте ее и используйте resize2fs
; если это что-то еще, вам нужно поискать документацию по изменению размера файловой системы этого типа.
Например:
resize2fs /dev/volgrp01/lv_scratch 50G
Когда это будет сделано (если вы используете resize2fs
), он сообщит вам новый размер файловой системы в байтах. Запишите этот номер, потому что вы можете использовать его для проверки безопасности на следующем шаге.
Шаг 3: Уменьшите логический том с помощью lvreduce
.
- Если вы хотите быть простым, используйте
lvreduce --size 50G volgrp01/lv_scratch
.
- Если вы хотите быть особенно осторожными, чтобы не сжимать LV до размера, меньшего, чем размер файловой системы, которую он содержит, проверьте размер физического экстента вашей группы томов с помощью
vgdisplay volgrp01
и подсчитайте, сколько физических экстентов необходимо для хранения размера вашего байта. файловая система (с использованием 1 МБ = 1048576 байт). Затем укажите это число, используя параметр --extents
вместо --size 50G
.
В качестве альтернативы вы можете пропустить шаг 1 и вместо этого использовать lvreduce
-r
для автоматического изменения размера файловой системы. Это может быть проще, но у меня нет личного опыта, чтобы знать, насколько это надежно.
На этом этапе я бы порекомендовал запустить fsck -f
на вашем /dev/volgrp01/vg_scratch
чтобы убедиться, что он не поврежден. Если вы получаете какие-либо ошибки, связанные с "доступом за пределы устройства", это означает, что вы слишком сильно сократили LV, и вам необходимо lvextend
его, прежде чем продолжить.
Шаг 4: Уменьшите физический том, используя pvresize
.
pvresize --setphysicalvolumesize 88G /dev/sda2
Здесь вам не нужна дополнительная проверка безопасности, поскольку pvresize
откажется сокращать физический том до размера, который слишком мал для существующих логических томов. Но если размеры других ваших LV не являются точными, кратными 1 ГБ, 88G может быть слишком маленьким, и вам может потребоваться использовать другое значение.
Шаг 5: Сократите раздел sda2
с помощью fdisk
.
Запустите fdisk /dev/sda
и по его приглашению запустите p
чтобы просмотреть существующие разделы. Запишите начальный номер сектора вашего раздела sda2
. Затем удалите раздел sda2
- это не касается реальных данных, а просто удаляет запись о том, где он начинается и заканчивается, - и создайте новый sda2
с тем же начальным сектором (это жизненно важно) и размером 88G. Код типа раздела должен быть 8e
, "Linux LVM".
Если вы хотите проявить особую осторожность - и я бы порекомендовал вам это сделать, особенно если вам раньше приходилось указывать размер, отличный от размера pvresize
- проверьте размер PE и Total PE вашего физического тома с помощью pvdisplay /dev/sda2
и умножьте их вместе, чтобы найти размер физического тома в байтах (снова используя 1MB = 1048576 байтов). Затем вычтите номер начального сектора вашего нового раздела sda2
из его конечного, добавьте 1, чтобы подсчитать последний сектор, и умножьте на размер сектора вашего диска (который должен быть либо 512, либо 4096 байт). Убедитесь, что два результата совпадают.
Теперь создайте новый раздел sda3
, сохраните изменения и выйдите из fdisk
. Если вы получили сообщение о необходимости перезагрузки, чтобы изменения вступили в силу, перезагрузите компьютер.