Творческий способ уменьшить живую файловую систему ext4 от облачного провайдера?
При покупке капель, как DigitalOcean называет свои облачные виртуальные машины, они всегда настраиваются с одним большим разделом ext4.
У меня есть приложение, которому нужен раздел LVM, поэтому мне нужен творческий способ уменьшить корневой раздел, например, до 25%, а остальное использовать для LVM. Я могу сделать это на новом экземпляре, где я могу перезагрузить все, что я хочу.
Из соображений производительности я действительно хотел бы избежать устройства петли, где я создаю раздел LVM в файле сверху ext4.
Вопрос
Может кто-нибудь придумать творческий способ уменьшить живую файловую систему ext4, где перезагрузки хороши?
3 ответа
В частности, для Digital Ocean вы можете загрузить каплю в образ спасения.
Для более старых дистрибутивов, которые загружаются из внешнего ядра, вы можете выбрать загрузку его в образ для восстановления самостоятельно.
Для более новых дистрибутивов, которые загружаются из ядра внутри дроплета, вы можете подать заявку в службу поддержки, чтобы смонтировать образ восстановления в виде ISO. После завершения операций обновите заявку в службу поддержки, чтобы удалить образ восстановления, и перезагрузите компьютер.
Взгляните на этот ответ и различные варианты поиска, но краткий ответ о том, о чем вы говорите, невозможен в действующей файловой системе, если нет возможности размонтировать раздел, размер которого вы хотите изменить. Так как это не кажется возможным, в этом случае перезагрузка к спасательному образу является, вероятно, лучшим вариантом.
Если перезагрузка к спасательному образу не является вариантом, но перезагрузка к новому образу есть, и у вас есть хорошая резервная копия нужного образа, возможно, существует новое решение. Кажется, что было бы возможно использовать Clonezilla с опциями клонирования на меньшие разделы, чтобы клонировать существующую систему на новый экземпляр, который занимает меньше места. Это, конечно, предполагает, что достаточно свободного места для сжатия файловой системы ext4 на меньший раздел, но вы, вероятно, не задали бы вопрос, если бы не было достаточно свободного пространства для сжатия раздела.
Вы можете сжать сетевой корневой раздел без перезагрузки: обратитесь к этому ответу. Этот ответ очень хорошо написан и легок для понимания. Так что это будет работать на любом типе выделенного или VPS решения.
TLDR; это решение подразумевает pivot_root
в tmpfs
так что вы можете безопасно размонтировать ваш корневой раздел вживую и возиться с ним. После этого вы будете pivot_root
вернуться на ваш новый корневой раздел.
Это позволяет практически любые манипуляции с корневой файловой системой (переместить ее, изменить файловую систему, изменить ее физическое устройство...).
В процессе не требуется перезагрузка, и это позволяет обойти ограничение невозможности уменьшить крепление ext4
раздел.
Я лично использовал это, и это очень хорошо работает в системе Debian, с очень небольшим количеством исправлений. Я очень удивлен, что не вижу такого углубленного решения, более тесно связанного со многими вопросами на веб-сайтах stackexchange, которые занимаются той же проблемой.