Корневой раздел сжимается на машине без физического доступа

Кому интересно, решения вопроса я не нашел. Однако мне удалось избежать этой проблемы, разместив общий ресурс samba на хосте (с помощью док-контейнера dperson/samba ), а затем в гостевой системе я установил cifs-utils, а затем добавил это строка на\etc\fstab:

//192.168.1.7/Shared  /media/shared  cifs  guest,uid=1000,iocharset=utf8,vers=3.0 0 0

Где 192.168.1.7— IP-адрес хоста, Shared— имя общего ресурса Samba, а /media/shared— место, где я установил общий ресурс в гостевой системе.

3
26.02.2021, 22:07
2 ответа

Я сделал это в своей виртуальной машине Amazon Lightsail, чтобы перевести ее на использование LVM. Во-первых, вы должны отключить пакет инициализации облака -от автоматического увеличения раздела при каждой загрузке. IIRC, вам нужно закомментировать или удалить строки в файле /etc/cloud/cloud.cfg, которые ссылаются на GrowPart и Resizefs. Затем вы можете добавить эти два скрипта:

#!/bin/sh

PREREQ=""

prereqs()
{
        echo "$PREREQ"
}

case "${1:-}" in
  prereqs)
    prereqs
    exit 0
    ;;
esac

. /usr/share/initramfs-tools/hook-functions

# copy the binary as early as possible
copy_exec /sbin/resize2fs /sbin
copy_exec /sbin/e2fsck /sbin

Поместите это в /etc/initramfs -tools/hooks/resize -ловушка

#!/bin/sh

PREREQ=""

prereqs()
{
        echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
        prereqs
        exit 0
        ;;
esac

e2fsck -fy /dev/sda1
resize2fs /dev/sda1 9g

Измените 9g на любой размер, до которого вы хотите уменьшить fs, и поместите его в /etc/initramfs -tools/scripts/local -premount/resize. Не забудьте выполнить chmod для двух скриптов +x и пересобрать ваши initramfs с помощью update-initramfs.

После перезагрузки убедитесь, что файловая система уменьшилась (df), используйте команду resizepart в parted, чтобы уменьшить размер раздела. Это хорошая идея оставить лишний гигабайт или около того в разделе, чтобы убедиться, что вы не сжимаете раздел меньше, чем файловая система, а затем запустить resize2fsна нем позже, чтобы расширить его, чтобы заполнить весь новый размер раздела.

Кроме того, после того как вы убедитесь, что файловая система была сжата, удалите два приведенных выше сценария и снова перестройте ваши initramfs.

0
18.03.2021, 22:28

Ответ Psusi будет работать, если он выполнен правильно, но небольшая ошибка может привести к тому, что система перестанет отвечать. Если это произойдет, я полагаю, вы потеряете все, что у вас уже есть в вашей системе. Поэтому, если вы выбрали этот вариант, вы должны сначала сделать снимок !


Облако Chameleon построено вокруг концепции изображений. Вы предоставляете сервер на какое-то время, развертываете на нем образ и будьте осторожны, чтобы сделать снимок своего сервера в конце срока аренды, иначе вы рискуете потерять партию. Есть некоторые намеки на хамелеон, что большинство изображений являются одним разделом, из чего следует, что некоторые могут не быть.

Если бы это был я, я бы не редактировал сервер на месте. Вместо этого я бы загрузил последний снимок на свой локальный компьютер (любой Linux или Mac, к которому у вас есть доступ ), отредактировал его, загрузил и затем использовал.

Согласно документации, эти изображения являются изображениями QCOW2 . После загрузки их можно преобразовать в необработанное изображение с помощью qemu-image convert. Изменено с помощью resize2fs/ fdisk, перепаковано с изображением qemu -и загружено обратно:

# Unpack
qemu-img convert -p -O raw base_image.qcow2 raw_image

# Repack
qemu-img convert -p -O qcow2 raw_image new_image.qcow_2
0
18.03.2021, 22:28

Теги

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