Centos 8 увеличить размер диска виртуальной машины

Как увеличить LVM раздел OS Linux CentOS

В жизни случаются разные ситуации, в следствии которых приходится увеличивать размер жесткого диска системы. Сразу проясню: имеется CentOS 6.4 (используются LVM тома) на VirtualBox. Хост машина — Windows 7. Увеличить размер диска виртуальной машины можно только при условии, что изначально он был создан динамически расширяемым, а увеличить размер файловой системы гостевой ОС, только если ОС установлена на LVM разделы.

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

Надеюсь тут всё ясно. Установили размер диска равным 20-ти гигам. Кстати, попробуйте это сделать при включенной виртальной машине, интересно, прокатит или нет ))

И так. Размер диска мы увеличили. Но CentOS не увеличит размер файловой системы автоматически, поэтому запасаемся терпением, делаем бэкапы, снапшоты или что там еще… Далее работаем в гостевой системе. Бэкапы сделаны. Будем применять новую неразмеченную область. Поехали!

Смотрим, что у нас имеется на данный момент из устройств/разделов

Но место в системе не увеличилось, как и должно быть

Кстати, сразу отсюда берем имя группы томов vg_projects и имя тома lv_root, и запоменаем эти имена. У вас они будут другие.

Т.к. у нас теперь имеется неразмеченная область, то создадим новый раздел sda4 с типом раздела Linux LVM (код типа 8e) на этой области. Для этого начинаем работу с устройством sda:

Справка: команды оболочки fdisk

a переключение флага загрузки
b редактирование метки диска bsd
c переключение флага dos-совместимости
d удаление раздела
l список известных типов файловых систем
m вывод этого меню
n добавление нового раздела
o создание новой пустой таблицы разделов DOS
p вывод таблицы разделов
q выход без сохранения изменений
s создание новой чистой метки диска Sun
t изменение id системы раздела
u изменение единиц измерения экрана/содержимого
v проверка таблицы разделов
w запись таблицы разделов на диск и выход
x дополнительная функциональность (только для экспертов)

Далее используем следующие команды:

n — создаём новый раздел;
p — обозначаем его как primary;
так как у нас было 3 логических раздела, то на вопрос Partition number (1-4) отвечаем 4;
t — укажем тип раздела;
опять тот же вопрос Partition number (1-4), отвечаем 4;
вводим 8e — это код типа раздела, соответствующий Linux LVM;
убедимся, что всё сделано верно, вводим p — показать таблицу разделов:

Отлично. Раздел sda4 создан. Вводим w для сохранения изменения на диске.

Теперь ОБЯЗАТЕЛЬНО перезагружаем виртуальную машину.

Надеюсь у вас всё удачно перезагрузилось. Теперь необходимо создать физический том sda4:

Далее расширяем группу томов, на новое пространство. Используем наше имя группы томов vg_projects, которое мы подсмотрели ранее, командой df:

Теперь расширим логический том. Вспоминаем, что говорил нам df.

Еще пару волшебных действий для активации

И последнее, что мы делаем — расширяем файловую систему:

Для CentOS 7 с файловой системой xfs используйте xfs_growfs вместо resize2fs. Данный процесс может занять некоторе время. После завершения операции проверим чего мы натворили:

Читайте также:  Российские сканеры для диагностики автомобилей

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Курс по сетям

15 примеров команды PING для диагностики сети

Руководство по команде grep в Linux

Рекурсивно найти слово в файлах и папках Linux

Настройка SSH и MOTD баннера в CentOS

15+ примеров для команды yum update

Установка VirtualBox 6.0 на Linux

Как перезагрузить сеть в Ubuntu?

Еженедельный дайджест

Как расширить диск сервера в CentOS?

Если на сервере стало тесно

Ну просто очень частый кейс: создается виртуальная машина на Linux ОС (Hyper-V или VMware, не важно), которая работает длительное время. Но в один прекрасный момент, память сервера переполняется и приходится расширять диск. В виртуализации (гипервизоре) это сделать очень просто — нарастить виртуальный диск с физического. А что делать внутри виртуалки, где живет Linux/CentOS?

Обучайся в Merion Academy

Пройди курс по сетевым технологиям

Начать

В статье мы расскажем, как расширить пространство памяти (диск) на сервера под управлением Linux/CentOS, последовательно управляя PV (Physical Volume, физические тома), VG (Volume Group, группа томов) и LV (Logical Volume, логические разделы).

А вообще мы можем расширить диск или нужно создать новый?

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

Если вывод команды у вас выглядит так, как показано выше — все хорошо. У вас пока только два раздела — /dev/sda1 и /dev/sda2. Можно создать еще два.

Однако, если вывод команды будет выглядеть вот так:

Это означает, что для решения задачи расширения памяти на сервере вам нужно создавать новый диск, а не расширять предыдущий. Мы рассматриваем первый вариант, когда у вас еще есть возможность создавать разделы. Погнали!

Создаем новую партицию

Проверяем что у нас на физических дисках командой fdisk -l

Сервер видит 10.7 ГБ места на диске. Начинаем создавать новую партицию (раздел) командой fdisk /dev/sda . После запроса ввода команды, указываем n , чтобы создать новую партицию:

В следующем разделе конфигурации, указываем ключ p чтобы создать раздел. Тут будьте внимательны — самый первый пункт нашей статьи — у вас должно быть на этот момент строго меньше 4 партиций на диске!

На следующем экране задаем номер для партиции. Так как у нас уже есть партиции /dev/sda1 и /dev/sda2, то следуя порядковому номеру, мы указываем цифру 3:

В следующем пункте, мы рекомендуем нажать Enter дважды, то есть принять предложенные по умолчанию значения:

Отлично. Теперь мы меняем типа нашего раздела. Для этого, в следующем меню нажимаем ключ t , указываем номер партиции, который только что создали (напомним, это был номер 3), 3 , а в качестве Hex code укажем 8e , а дальше просто Enter:

Готово. Мы вернулись в основное меню утилиты fidsk. Сейчас ваша задача указать ключ w и нажать Etner, чтобы сохранить опции партиций на диске:

После, что самое важное этого метода — перезагружать ничего не нужно! Нам просто нужно заново сканировать партиции утилитой partprobe:

Если команда выше не работает, то попробует сделать с помощью partx:

Читайте также:  Сколько литров масла ока двигатель

И если уже после этого у вас не появляется новая партиция — увы, вам придется согласовать время перезагрузки сервера и перезагрузить его. Успешным результатом этого шага будет вот такой вывод команды fdisk , где мы видим новую партицию:

Расширяем логический раздел LV с новой партиции

Теперь наша задача следующая: создаем физический том (PV) из новой партиции, расширяем группу томов (VG) из под нового объема PV, а затем уже расширяем логический раздел LV. Звучит сложно, но поверьте, это легко!

Итак, по шагам: создаем новый физический том (PV). Важно: у вас может быть не /dev/sda3, а другая, 4, например, или вообще /dev/sdb3! Не забудьте заменять в командах разделы, согласно вашей инсталляции.

Отлично. Теперь находим группу томов (VG, Volume Group). А точнее, ее название. Делается это командой vgdisplay :

Найдено. Наша VG называется MerionVGroup00. Теперь мы ее расширим из пространства ранее созданного PV командой vgextend:

Теперь расширяем LV из VG. Найдем название нашей LV, введя команду lvs :

MerionLVol00 — найдено.Расширяем эту LV, указывая до нее путь командой lvextend /dev/MerionVGroup00/MerionLVol00 /dev/sda3 :

Почти у финиша. Единственное, что осталось, это изменить размер файловой системы в VG, чтобы мы могли использовать новое пространство. Используем команду resize2fs:

Готово. Проверяет доступное место командой df -h . Enjoy!

Получаете ошибку в resize2fs: Couldn’t find valid filesystem superblock

Если вы получили ошибку вида:

Это значит, что у вас используется файловая система формата XFS, вместо ext2/ext3. Чтобы решить эту ошибку, дайте команду xfs_growfs :

Записки ИТ специалиста.

Увеличение размера диска в VMWare

На одной из виртуальных машин, где крутился Linux (Centos), необходимо было увеличть объем диска. Читаем дальше, как я это делал.

Вначале смотрим объем, который уже есть:

#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_webconf-lv_root 12G 3.2G 7.7G 30% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 485M 64M 397M 14% /boot

Итак, на машине в разделе / 12 Гбайт. В свойствах виртуальной машины увеличиваем объем жесткого диска до 30 Гб. Смотрим, где прибавилось:

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003e6f5

Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2089 16264192 8e Linux LVM

Disk /dev/mapper/vg_webconf-lv_root: 12.4 GB, 12423528448 bytes
255 heads, 63 sectors/track, 1510 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/vg_webconf-lv_swap: 4227 MB, 4227858432 bytes
255 heads, 63 sectors/track, 514 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
switch off the mode (command ‘c’) and change display units to
sectors (command ‘u’).

Смотрим, какие разделы есть на диске

Command (m for help): p

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003e6f5

Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2089 16264192 8e Linux LVM

Читайте также:  Опишите устройство кшм двигателя

Нам нужна вторая партиция, ее надо расширить. Сначало удаляем ее:

Command (m for help): d
Partition number (1-4): 2

Потом создадим новую:

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (64-3916, default 64): Оставляем по умолчанию, жмем клавишу Enter
Using default value 64
Last cylinder, +cylinders or +size (64-3916, default 3916): Оставляем по умолчанию, жмем клавишу Enter
Using default value 3916

Меняем тип файловой системы на LVM:

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Записываем таблицу разделов на диск:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Для применения настроек перезагружаемся:
reboot

Проверим статус группы томов командой vgdisplay:

# vgdisplay
— Volume group —
VG Name vg_webconf
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 15.51 GiB
PE Size 4.00 MiB
Total PE 3970
Alloc PE / Size 3970 / 15.51 GiB
Free PE / Size 0 / 0
VG UUID gnPIcM-A3O3-7zXX-KDw8-K7iK-hzUX-4gx5fx

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

# pvresize /dev/sda2
Physical volume «/dev/sda2» changed
1 physical volume(s) resized / 0 physical volume(s) not resized

Еще раз проверим статус группы томов командой vgdisplay:

# vgdisplay
— Volume group —
VG Name vg_webconf
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 29.51 GiB
PE Size 4.00 MiB
Total PE 7554
Alloc PE / Size 3970 / 15.51 GiB
Free PE / Size 3584 / 14.00 GiB
VG UUID gnPIcM-A3O3-7zXX-KDw8-K7iK-hzUX-4gx5fx

Видим, что появилось свободное пространство на томе. Следующей командой увеличиваем размер логического тома на все доступное дисковое пространство:

# lvextend -l +100%FREE /dev/vg_webconf/lv_root
Extending logical volume lv_root to 25.57 GiB
Logical volume lv_root successfully resized

Еще раз проверим статус группы томов командой vgdisplay:

— Volume group —
VG Name vg_webconf
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 29.51 GiB
PE Size 4.00 MiB
Total PE 7554
Alloc PE / Size 7554 / 29.51 GiB
Free PE / Size 0 / 0
VG UUID gnPIcM-A3O3-7zXX-KDw8-K7iK-hzUX-4gx5fx

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

#resize2fs -p /dev/vg_webconf/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_webconf/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_webconf/lv_root to 6703104 (4k) blocks.
The filesystem on /dev/vg_webconf/lv_root is now 6703104 blocks long.

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_webconf-lv_root 26G 3.2G 21G 14% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 485M 64M 397M 14% /boot

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