Найти в Дзене
ekdeus.me

Расширение диска в Linux

Создавая виртуалку под Docker я немного не рассчитал объём базы данных и места стало немного не хватать. Решено было немного расширить диск с минимальными потерями. Вообще, эта ситуация довольно типовая – когда необходимо расширить место, выделенное изначально. В ситуации с операционными системами на базе Linux, построенными с использованием LVM – это всё делается очень легко, это и будет описано ниже. Если используется сервер на базе Microsoft Windows – чуть более заморочно, я на десктопах использую программы вроде Partition Magic или продукты Acronis (Disk Director). Ну а если нужно объединить свободное место, выделенное на разных физических дисках, то, насколько я знаю, без плясок с бубном тут не обойтись. Как раз поэтому, из-за удобства настройки, я в своей инфраструктуре стараюсь переходить на виртуализацию – более полная утилизация ресурсов, удобство масштабирования и настройки и т.д. Ну продолжим о теме статьи – вот что из этого получилось: Расширяем диск, выделенный гипервизо
Оглавление

-2

Создавая виртуалку под Docker я немного не рассчитал объём базы данных и места стало немного не хватать. Решено было немного расширить диск с минимальными потерями.

Вообще, эта ситуация довольно типовая – когда необходимо расширить место, выделенное изначально. В ситуации с операционными системами на базе Linux, построенными с использованием LVM – это всё делается очень легко, это и будет описано ниже.

Если используется сервер на базе Microsoft Windows – чуть более заморочно, я на десктопах использую программы вроде Partition Magic или продукты Acronis (Disk Director). Ну а если нужно объединить свободное место, выделенное на разных физических дисках, то, насколько я знаю, без плясок с бубном тут не обойтись.

Как раз поэтому, из-за удобства настройки, я в своей инфраструктуре стараюсь переходить на виртуализацию – более полная утилизация ресурсов, удобство масштабирования и настройки и т.д.

Ну продолжим о теме статьи – вот что из этого получилось:

Расширяем диск, выделенный гипервизором

Открываем VMWare Workstation, подключаемся к ESXi серверу и открываем свойства машины.

В разделе “Hardware” выбираем Hard disk и нажимаем “Expand…” (расширить).

Отображается окно, в котором указана текущая ёмкость.
Отображается окно, в котором указана текущая ёмкость.
-4

Я прописываю 50 гигабайт. Применяется без проблем.

Стартуем нашу машину, но вот беда – в системе-то отображается столько же, сколько и было. Нужно изменить размер файловой системы. Благо, что у нас LVM – будет намного легче.

Освоим новый объём диска, создав новый раздел:

# fdisk /dev/sda
: p

-5

Имеется всего два раздела – /dev/sda1 и /dev/sda2. Весь диск /dev/sda имеет 53,7 Гб. Выделим новый раздел в /dev/sda3 и укажем ему тип 8e (Linux LVM):

-6

Отлично. Теперь запишем изменения на диск, перезагрузим виртуалку и поработаем с LVM:

Расширяем LVM

  1. Создадим новый физический volume:
    # pvcreate /dev/sda3
  2. Расшиярем виртуальную группу на новый volume:
    # vgextend centos /dev/sda3
    Вместо centos у вас может быть название вашей виртуальной группы. Узнать его можно командой:
    # vgs
  3. Теперь увеличим размер логического раздела на всё свободное место:
    # lvextend -l +100%FREE /dev/mapper/centos-root
  4. И наконец расширим размер файловой системы:
    # xfs_growfs /dev/mapper/centos-root
  5. Profit!

Расширение будет выполнено без потери данных. Это такая «хитрая техника»: существующий раздел удаляется, а на его месте создается новый, большего размера.

В нашем примере устройство называется vda и находится в каталоге /dev

1. Необходимо узнать название устройства жесткого диска который мы хотим расширить. Делается это командой fdisk -l

2. Чтобы увеличить размер раздела (партиции, слайса) на диске, нам необходимо выполнить: fdisk /dev/vda

-7

В нашем примере раздел один. Называется /dev/vda1 и имеет объем 5ГБ. Сам же жесткий диск имеет объем 10ГБ. Давайте расширим /dev/vda1 до 10ГБ.

4. Выполним d для удаления существующего раздела. Затем n – для создания нового, p – для primary, 1 – это номер раздела; и укажем начало и конец раздела в секторах. Начальный сектор должен соответствовать начальному сектору раздела, который был удален. На скриншоте видно, что это 2048. Последний сектор раздела выбираем максимально возможным. В нашем случае fdisk предлагает нам 20971519. Его и введем.

-8

5. Еще раз p – чтобы убедиться, что раздел теперь увеличился до необходимого нам размера. И w – для записи и выхода из fdisk.

-9

После этого мы получим предупреждение, что устройство подмонтировано и суперблок недоступен, и что объем раздела будет изменен после перезапуска ОС.

6. Перезагружаем ОС — reboot

7. После перезагрузки нам необходимо расширить ФС на весь раздел. Сделаем это командой resize2fs /dev/vda1

-10

8. Далее, df -h – чтобы удостовериться, что все получилось.

-11

Готово.