Расширить место на диске Centos.

  • Михаил
  • 8 мин. на прочтение
  • 32
  • 14 Nov 2024
  • 14 Nov 2024

Виртуальная машина centos была создана очень давно, после на ней поселился docker. Следовательно в dockerE начали плодиться контейнеры, а дальше цепная реакция. Сначала было принято решение расширить диск приростом места на нем (вариант 1), а сейчас пришел к тому, что необходимо создать отдельный диск и переехать всеми данными dokerA на него. Этим сегодня и займемся (вариант 2). При этом второй вариант более безопасный и без перезагрузок машины.

ВАРИАНТ 1

Расширение раздела диска в CentOS включает несколько шагов. Ниже приведены общие инструкции, но помните, что вам может потребоваться изменить некоторые команды в зависимости от вашей конкретной ситуации.

Использование GParted

GParted - это графическое средство для изменения размеров разделов. Если у вас есть графический интерфейс, вы можете установить GParted с помощью команды:

sudo yum install gparted

Затем запустите GParted и выполните необходимые операции для расширения раздела.

Использование командной строки

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

a. Убедитесь, что диск не занят:

sudo umount /dev/sdaX

Замените X на номер вашего раздела.

b. Запустите fdisk:

sudo fdisk /dev/sda

c. Введите p для просмотра списка разделов. Запишите размер последнего раздела.

d. Введите d, затем номер раздела, который вы хотите удалить.

e. Введите n, затем p (для основного раздела), затем номер раздела, который вы удалили, и нажмите Enter для использования текущего первого сектора. Затем введите новый последний сектор для расширения раздела.

f. Введите w для записи изменений и выхода.

g. Расширьте файловую систему с помощью resize2fs:

sudo resize2fs /dev/sdaX

Замените X на номер вашего раздела.

h. Проверьте изменения с помощью 

df -h

 

ВАРИАНТ 2

Чтобы добавить новый диск и переместить папку /opt (в которой с давних времен расположились все разделы от всех контейнеров)  на него в системе CentOS, выполните следующие действия:

Добавить новый диск:

Сначала вам нужно добавить новый диск в вашу систему. Это можно сделать физически или через менеджер виртуальных машин, если вы используете виртуальную среду.

Разбейте диск на разделы:

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

sudo fdisk /dev/sdc

В fdisk, вы можете создать новый раздел с помощью nкоманды, а затем записать изменения с помощью wкоманды.

Отформатируйте раздел:

Отформатируйте раздел с файловой системой. Например, чтобы отформатировать его как ext4, можно использовать mkfs.ext4команду:

sudo mkfs.ext4 /dev/sdc1

Смонтировать раздел:

Создайте каталог, в который вы хотите смонтировать раздел, затем смонтируйте его:

sudo mkdir /mnt/opt
sudo mount /dev/sdc1 /mnt/opt

Проверяем все наши контейнеры.

docker ps

Останавливаем все контейнеры.

docker stop fa0573928485

И так далее. Пока все контейнеры не будут остановлены. 

Переместить opt каталог:

Переместите содержимое каталога opt в новый раздел:

sudo mv /opt/* /mnt/opt/

Удаляем старый каталог opt и создаем симлинк.

sudo rm -rf /opt
sudo ln -s /mnt/opt /opt

Теперь можем во избежание простоя запустить все свои контейнеры.

docker start fa0573928485

И так далее, пока все контейнеры не будут запущенны.

Обновите fstab файл:

Чтобы сделать изменение постоянным, вам нужно обновить fstab файл. Сначала найдите UUID нового раздела:

sudo blkid /dev/sdc1

Затем откройте fstab файл в текстовом редакторе и добавьте новую строку с UUID, точкой монтирования, типом файловой системы и параметрами монтирования:

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/opt ext4 defaults 0 0

Замените xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxна UUID вашего нового раздела.

Размонтируйте раздел и перемонтируйте его в opt каталог:

sudo umount /mnt/opt
sudo mount -a

Команда mount -a перемонтирует все файловые системы, перечисленные в /etc/fstab.

Проверьте изменения с помощью 

df -h

Вот и все, теперь можно настроить backup нового диска отдельно, что дает гарантию сохранности данных разделов контейнеров.