Linux расширить диск fdisk

#Как расширить существующий диск в Linux?

lsblk — вывести список блочных устройств;
pvs — вывести список физических томов;
vgs — вывести список группы томов;
lvs — вывести список логических томов;
fdisk -l — просмотреть подробно разделы диска;
dnf -y install cloud-utils-growpart — установить утилиту growpart для Fedora, CentOS, RHEL, Oracle Linux, Alma Linux, Rocky Linux; apt -y install cloud-guest-utils — установить утилиту growpart для Ubuntu, Debian;
growpart /dev/sda 2 — расширить раздел /dev/sda2;
pvresize /dev/sda2 — расширить существующий физический том /dev/sda2;
lvextend -r -l +100%FREE /dev/centos/root — расширить логический том /dev/centos/root из группы томов centos;
df -hT — вывести список разделов и файловых систем;
xfs_growfs /dev/mapper/centos-root — увеличить размер файловой системы XFS на логическом томе /dev/mapper/centos-root (для Fedora, CentOS, RHEL, Oracle Linux, Alma Linux, Rocky Linux);
resize2fs /dev/mapper/ubuntu-root — увеличить размер файловой системы EXT4 на логическом томе /dev/mapper/ubuntu-root (для Ubuntu, Debian).

В данном примере будет описано как расширить существующий раздел на диске используя 15Gb свободного дискового пространства из неразмеченной области этого же диска. Расширение будет выполнено на примере дистрибутива CentOS .
Данная инструкция подходит для большинства дистрибутивов Linux, дает подробную информацию как корректно расширить дисковое пространство, учитывает особенности команд различных дистрибутивов.

Примечание: Все команды необходимо выполнять под пользователем root либо с правами суперпользователя (sudo).
При выполнении данной инструкции есть риск потери данных, поэтому предварительно рекомендуется сделать резервную копию (backup) виртуальной машины.

#Шаг 1. Анализ конфигурации дискового пространства

  1. Сперва следует определить название раздела, который собираетесь расширить и объем неразмеченной области на устройстве (диске) с помощью команды lsblk .
  2. Затем следует проверить существующую конфигурацию LVM командами:
    pvs — вывести название и количество имеющихся физических томов (PV)
    vgs — вывести группы томов (VG)
    lvs — вывести логические тома (LV)
    Необходимо определить системный раздел и тип файловой системы на нем, который требуется расширить с помощью команды df -hT .
  3. Теперь необходимо проверить имеющиеся разделы диска с помощью утилиты fdisk -l .

Подробнее по шагу 1

1.1 Выведите список блочных устройств командой lsblk . Определите раздел, который собираетесь расширить и объем неразмеченной области на диске.

ext1.1

В данном примере мы видим, что в системе имеется 1 устройство (диск) /dev/sda размером 45Gb.
На диске созданы 2 раздела общим объемом 30Gb:

  • основной /dev/sda1 — 1Gb,
  • расширенный /dev/sda2 — 29Gb,
    оставшиеся 15Gb остаются в неразмеченной области.

Также мы видим, что раздел /dev/sda2 (29Gb) является расширенным разделом LVM , где имеется группа томов centos и 2 логических тома root и swap. Будем расширять логический том root на расширенном разделе dev/sda2 используя свободные 15Gb из неразмеченной области диска sda .

Читайте также:  Vega graphics driver linux

1.2 Проверьте существующую конфигурацию LVM , определив название и количество имеющихся физических томов (PV), группы томов (VG), логических томов (LV) следующими командами pvs , vgs , lvs соответственно:

ext1.2

В данном примере мы видим, что в системе имеется физический том /dev/sda2 , который входит в созданную группу томов centos. В этой группе томов созданы 2 логических тома: root и swap.

1.3 Проверьте разделы диска с помощью утилиты fdisk -l .

Пример отображения для CentOS :

ext1.3.1

Раздел /dev/sda2 является расширяемым разделом LVM .

Пример отображения для Ubuntu :

ext1.3.2

Обратите внимание, в дистрибутиве Ubuntu сектора раздела /dev/sda5 входят в сектора раздела /dev/sda2 , т.е. имеют одно дисковое пространство.
Раздел /dev/sda2 является расширенным, раздел /dev/sda5 является разделом LVM , созданным на расширенном разделе. Поэтому, для того чтобы расширить логический том root предварительно необходимо расширить оба этих раздела — об этом будет сказано далее.

#Шаг 2. Расширение раздела с помощью утилиты growpart .

2.1 Сперва следует установить утилиту growpart в соответствии с вашим дистрибутивом: dnf -y install cloud-utils-growpart — команда для дистрибутивов Fedora, CentOS, RHEL, Oracle Linux, Alma Linux, Rocky Linux.
Примечание: для устаревших дистрибутивов (CentOS 7.9) вместо dnf используйте yum .

apt -y install cloud-guest-utils — команда для дистрибутивов Ubuntu, Debian.

2.2 Затем необходимо расширить раздел с помощью команды:
growpart /dev/sda 2 — где /dev/sda 2 — имя расширяемого раздела.
Примечание: для Ubuntu может потребоваться расширить 2 раздела (это можно узнать по команде fdisk -l ).

2.3 Чтобы убедиться в расширении раздела следует повторить команду lsblk .

Подробнее по шагу 2

2.1 Установите утилиту growpart в соответствии с вашим дистрибутивом.

[root@centos ~]# dnf -y install cloud-utils-growpart

[root@ubuntu ~]# apt -y install cloud-guest-utils

2.2 Расширьте раздел (в нашем случае /dev/sda2 — корневой раздел (root)) на всю неразмеченную область, т.е. в нашем случае на 15Gb. (В нашем примере /dev/sda2 — корневой раздел. Обратите внимание, у вас может быть другой раздел).

[root@centos ~]# growpart /dev/sda 2

Для Ubuntu как мы выяснили на шаге 1.3 требуется расширить 2 раздела: расширенный раздел /dev/sda2 и раздел LVM /dev/sda5 :

[root@ubuntu ~]# growpart /dev/sda 2 [root@ubuntu ~]# growpart /dev/sda 5 

Примечание: у вас могут быть другие разделы для расширения, проверить это можно командами lsblk и fdisk -l .

2.3 Убедитесь в расширении раздела командой lsblk .

ext2.3

#Шаг 3. Расширение пространства LVM

3.1 Сперва необходимо расширить существующий физический том с помощью команды:
pvresize /dev/sda2 , где /dev/sda2 — имя расширяемого раздела

3.2 Затем необходимо расширить логический том, выполнив команду:
lvextend -r -l +100%FREE /dev/centos/root ,
где /dev/centos/root — путь расширяемой файловой системы,
centos — название группы (можно узнать по команде vgs),
root — название логического тома (можно узнать по команде lvs ).
В команде выше, вместо /dev/centos/root можно указать другой путь /dev/mapper/centos-root (можно узнать по команде df -hT ), результат будет тот же.

Подробнее по шагу 3

3.1 Расширьте существующий физический том ( physical volume ) командой pvresize .
Проверяем выполнение командой pvs — значение столбца PFree должно увеличится на расширяемый объем.
(В нашем примере физический том — /dev/sda2 . Обратите внимание у вас может быть другой другой физический том).

Читайте также:  Linux find installed modules

ext3.1

3.2 Проверьте размер группы томов (volume group). Значение столбца VFree должно увеличиться на расширяемый объем.

ext3.2

3.3 Расширьте логический том (logical volume) используя команду lvextend -r -l +100%FREE /dev/centos/root ,
где centos — имя группы томов,
root — имя логического тома.
Примечание: у вас могут быть другие названия группы и логического тома.
Проверьте выполнение командой lvs — значение столбца PFree должно увеличится.

ext3.3

#Шаг 4. Расширение файловой системы

Примечание: Данная операция несет риск потери данных. Предварительно рекомендуется сделать резервную копию виртуальной машины.

Для увеличения файловой системы на логическом томе, необходимо ввести команду в зависимости от дистрибутива:

  • Fedora, CentOS, RHEL, Oracle Linux, Alma Linux, Rocky Linux (файловая система XFS):
    xfs_growfs /dev/mapper/centos-root , где /dev/mapper/centos-root — название расширяемой файловой системы (название и тип можно узнать по команде df -hT );
  • Ubuntu, Debian (файловая система ext4 )
    resize2fs /dev/mapper/ubuntu-root , где /dev/mapper/ubuntu-root — название расширяемой файловой системы (название и тип можно узнать по команде df -hT )

Подробнее по шагу 4

4.1 Определим путь монтирования файловой системы расширяемого раздела, точку монтирования и тип файловой системы.
В нашем примере путь — /dev/mapper/centos-root (или /dev/centos/root ),
точка монтирования — / ,
тип файловой системы — xfs .
Обратите внимание, у вас будет свой путь и тип файловой системы.

4.2 Далее необходимо увеличить размер файловой системы на логическом томе. В зависимости от типа файловой системы и дистрибутива выберите ниже подходящий вам тип.

4.2.1 Для файловой системы XFS (дистрибутивы Fedora, CentOS, RHEL, Oracle Linux, Alma Linux, Rocky Linux) используется утилита xfs_growfs и путь указанный в выводе команды df -hT для расширяемого раздела (в примере ниже для Centos — это /dev/mapper/centos-root ).

ext4.2.1

4.2.2 Для файловой системы ext4 (дистрибутивы Ubuntu, Debian) используется утилита resize2fs и путь указанный в выводе команды df -hT для расширяемого раздела (в примере ниже для Ubuntu — это /dev/mapper/ubuntu-root ).

ext4.2.2

#Шаг 5. Проверка

Для проверки нового размера диска и файловой системы следует повторить команды df -hT и lsblk .

Подробнее по шагу 5

Источник

Как быстро увеличить размер раздела диска на сервере

Всем привет! Недавно столкнулся с простой на первый взгляд задачей — увеличить «на горячую» размер диска на сервере Linux.

Описание задачи

Есть сервер в облаке. В моем случае, это Google Cloud — Compute Engine. Операционная система — Ubuntu, файловая система ext4 (подойдет для всех ext). Сейчас подключен диск размером 30 Гб. База растет, файлы пухнут, поэтому нужно увеличить размер диска, допустим, до 50 Гб. При этом мы ничего не отключаем, ничего не перезагружаем.

Внимание! Перед тем как начать, делаем бекап всей важной информации!

1. Для начала, проверим, сколько у нас всего свободного пространства. В консоли Linux пишем:

Читайте также:  Linux как войти суперпользователем

Простыми словами, у меня 30 Гб всего и 7.9 Гб сейчас свободно. Нужно увеличить.

2. Дальше я иду и через консоль своего хостера подключаю еще немного Гб. В Google Cloud это делается легко, без перезагрузки. Захожу в Compute Engine -> Диски -> Выбираю диск своего сервера — ему и поменяем размер:

Захожу внутрь, нажимаю «Редактировать» и увеличиваю размер диска до нужных мне размеров (в моем случае, до 50 Гб).

3. Итак, теперь у нас 50 Гб. Проверим это на сервере командой:

image

Видим свои новые 50 Гб, но пока использовать мы можем только 30 Гб.

4. Теперь удалим текущий раздел диска на 30 Гб, создадим новый на 50 Гб. У вас может быть несколько разделов. Возможно, вам нужно будет создать и несколько новых разделов. Для этой операции будем использовать программу fdisk, которая позволяет управлять разделами жесткого диска. Также важно понимать, что такое разделы диска и для чего они нужны — читаем тут. Для запуска программы fdisk используем команду:

5. Внутри интерактивного режима программы fdisk выполняем несколько операций.

image

Команда выводит список наших текущих разделов. В моем случае один раздел на 30 Гб и еще 20 Гб в свободном плавании, если так можно сказать.

image

Удаляем текущий раздел для того, чтобы создать новый на все 50 Гб. Перед операцией еще раз проверяем, сделали ли мы бекап важной информации!

7. Далее указываем программе:

image

Команда создает новый раздел. Все параметры стоит устанавливать по умолчанию — можно просто нажимать Enter. Если же у вас какой-то особый случай, то указываете свои параметры. Как видно из скриншота, я создал раздел на 50 Гб — то, что мне нужно.

8. В итоге указываю программе:

image

Эта команда записывает изменения и выходит из fdisk. Не пугаемся, что чтение таблицы разделов не удалось. Следующая команда поможет это исправить. Осталось совсем чуть-чуть.

9. Мы вышли из fdisk и вернулись в основную Linux — строку. Далее вбиваем, как нам посоветовали ранее:

Если все прошло успешно, то вы не увидите никакого сообщения. Если у вас не установлена программа partprobe, то установите ее. Именно partprobe обновит таблицы разделов, что позволит нам расширить раздел до 50 Гб в режиме онлайн. Идем дальше.

Подсказка! Установить partprobe можно вот так:


10. Теперь осталось переопределить размер раздела с помощью программы resize2fs. Она сделает это в режиме онлайн — у меня даже в этот момент скрипты работали и писали на диск.

Программа resize2fs перезапишет метаданные файловой системы. Для этого используем следующую команду:

image

Здесь sda1 — это имя вашего раздела. В большинстве случаев, это sda1, но возможны и исключения. Будьте внимательны. В итоге программа изменила нам размер раздела. Думаю, что это успех.

11. Теперь давайте убедимся, что размер раздела изменился и теперь у нас 50 Гб. Для это повторим самую первую команду:

Источник

Оцените статью
Adblock
detector