Предположим, что у нас есть виртуальная машина с установленной операционной системой Debian и требуется увеличить размер раздела, например системного. В этой статье мы рассмотрим на примере Debian 11 увеличение раздела диска без LVM.
Вводные данные
Наш Debian 11 установлена на Hyper-V. Для начала проверим версию:
$ cat /etc/debian_version
11.1
В дальнейшем нам потребуется выполнять действия от пользователя root, подключимся под этим пользователем:
$ su -
Password:
Теперь посмотрим размер файловой системы, выполнив df -h
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 944M 0 944M 0% /dev
tmpfs 192M 500K 192M 1% /run
/dev/sda1 19G 990M 17G 6% /
tmpfs 960M 0 960M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 192M 0 192M 0% /run/user/1000
Наш системный раздел /dev/sda1 смонтированный в / имеет размер 19 Гб.
Посмотрим вывод fdisk -l:
# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x73000288
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39942143 39940096 19G 83 Linux
/dev/sda2 39944190 41940991 1996802 975M 5 Extended
/dev/sda5 39944192 41940991 1996800 975M 82 Linux swap / Solaris
В данном примере у нас 1 диск /dev/sda размером 20 гигабайт, который разбит на 3: /dev/sda1, /dev/sda2 и /dev/sda5. Как помните, нас интересует диск /dev/sda1 с типом Linux.
Увеличение размера диска
В среде виртуализации увеличиваем размер жесткого диска нашей виртуальной машины. Если ваша среда виртуализации позволяет это сделать без выключения машины, то измените размер диска и выполните:
# echo 1 > /sys/block/sda/device/rescan
Если нет возможности увеличить диск без выключения виртуальной машины, то выключаем и меняем размер. Я увеличил диск до 25 гигабайт, запускаем машину и проверяем:
# fdisk -l
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x73000288
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39942143 39940096 19G 83 Linux
/dev/sda2 39944190 41940991 1996802 975M 5 Extended
/dev/sda5 39944192 41940991 1996800 975M 82 Linux swap / Solaris
Внимание! Перед тем, как приступить к дальнейшим работам по расширению системного раздела, обязательно сделайте резервную копию данных!
После увеличения размера диска необходимо увеличить сам раздел. Я специально установил Debian с разбивкой на разделы как предлагал установщик, имея ввиду, что многие так и поступят. И что мы видим? Что мы не сможем просто так расширить раздел /dev/sda1, т.к. сразу за ним следует sda5. Поэтому сначала потребуется передвинуть его в конец диска (где как раз и находятся добавленные сектора), а уже потом расширить сам sda1. Но если у вас в выводе fdisk только один раздел или он находится в конце диска (смотрите по конечным секторам) – можете сразу перейти к пункту Debian 11 увеличение раздела диска.
Перенос раздела с подкачкой в конец диска
Тут сразу необходим оговориться, что мы будем переносить раздел с swap (подкачкой), поэтому его можно будет просто удалить и создать новый. Если же требуется двигать разделы с данными, то это другая задача, её проще решать с помощью GParted на Live CD и в данной статье мы её рассматривать не будем.
Для начала отключаем подкачку:
# swapoff -a
Запускам fdisk с указанием нашего диска (/dev/sda):
# fdisk /dev/sda
Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Сделаем ремарку, что все изменения в fdisk нужно делать осторожно, с пониманием. Но знайет, что пока вы не сохраните изменения (w) всегда можно выйти без каких либо последствий.
Вводим p, чтобы посмотреть на список разделов:
Command (m for help): p
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x73000288
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39942143 39940096 19G 83 Linux
/dev/sda2 39944190 41940991 1996802 975M 5 Extended
/dev/sda5 39944192 41940991 1996800 975M 82 Linux swap / Solaris
Partition 2 does not start on physical sector boundary.
Тут нас интересует общее число секторов на диске (52428800) и число секторов под раздел подкачки (1996800). Ещё отметим, что логический диск /dev/sda2 (который был создан автоматически) никуда не смонтирован и пересекается с /dev/sda5. Возможно это баг автоматической разбивки, мы просто удалим его.
Удаляем раздел с подкачкой 5 и логический раздел 2 (команда d):
Command (m for help): d
Partition number (1,2,5, default 5): 5
Partition 5 has been deleted.
Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 has been deleted.
И посмотрим, что у нас получилось:
Command (m for help): p
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x73000288
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39942143 39940096 19G 83 Linux
Теперь заново создадим раздел с подкачкой, но уже в конце диска. Создаем новый раздел с помощью n:
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p):
Нас попросят выбрать тип раздела, для создаваемого /dev/sda2 выбираем логический e:
Указываем порядковый номер раздела 2:
Partition number (2-4, default 2): 2
Далее потребуется указать начало раздела. Если мы хотим оставит размер подкачки таким же как он и был, то из последнего сектора диска /dev/sda (52428800) вычитаем число секторов, на которых располагался раздел /dev/sda2 (1996800) и получаем 50432000:
First sector (39942144-52428799, default 39942144): 50432000
Последним сектором указываем последний сектор диска:
Last sector, +/-sectors or +/-size{K,M,G,T,P} (50431998-52428799, default 52428799): 52428799
Created a new partition 2 of type 'Extended' and of size 975 MiB.
Теперь изменим его тип, нажав t, указав раздел 2 и код 82 для файла подкачки:
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code or alias (type L to list all): 82
Changed type of partition 'Extended' to 'Linux swap / Solaris'.
Посмотрим, что у нас получилось:
Command (m for help): p
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x73000288
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39942143 39940096 19G 83 Linux
/dev/sda2 50432000 52428799 1996800 975M 82 Linux swap / Solaris
Сохраняем внесенные изменения w:
Command (m for help): w
The partition table has been altered.
Syncing disks.
После этого fdisk завершит свою работу и мы можем создать swap (указывайте свой новый раздел подкачки!):
# mkswap /dev/sda2
Setting up swapspace version 1, size = 975 MiB (1022357504 bytes)
no label, UUID=be9928b0-ce1b-44f1-b925-a94fffac5b2e
Копируем UUID, его надо будет указать в fstab, чтобы он работал после перезагрузки. Открываем любым текстовым редактором:
# nano /etc/fstab
Находим запись с типом swap (после комментария #swap was on) и там заменяем UUID на новый. Сохраняем и выходим.
Осталось только включить подкачку:
# swapon /dev/sda2
Выполним fdisk /dev/sda, где /dev/sda – метка нашего диска:
# fdisk /dev/sda
Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Вводим p, чтобы посмотреть на список разделов:
Command (m for help): p
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x73000288
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39942143 39940096 19G 83 Linux
/dev/sda2 50432000 52428799 1996800 975M 82 Linux swap / Solaris
У вас могут быть другие разделы, главное, чтобы были свободные сектора после того раздела, который мы хотим расширить. Для этого мы в предыдущем разделе двигали swap в конец диска. У нас получилось, что sda1 заканчивается на секторе 39940096, а следующий раздел sda2 начинается на 50432000, а между ними есть свободные. Если же у вас расширяемый раздел один или он последний, то нужно смотреть на последний сектор раздела(39940096) и диска (50432000).
Чтобы расширить раздел требуется предварительно удалить информацию о нём. Для этого вводим d и указываем раздел (1 для /dev/sda1):
Command (m for help): d
Partition number (1-2, default 2): 1
Partition 1 has been deleted.
При этом удаляется только запись о разделе, сами данные остаются на диске!
Вводим n – создание нового раздела:
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Указываем основной тип p:
Select (default p): p
Далее порядковый номер раздела 1 (который удалили):
Partition number (1,3,4, default 1): 1
Далее указываются начальный и конечный сектор. Обязательно проверьте, чтобы они совпадали со значениям, указанными через дефис. Таким образом мы используем все неразмеченное/свободное пространство:
First sector (2048-50431999, default 2048): 2048
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-50431999, default 50431999): 50431999
Created a new partition 1 of type 'Linux' and of size 24 GiB.
Как видим, был создан раздел на 24 гигабайта с типом Linux filesystem.
Также будет задан вопрос, хотим ли мы удалить текущую файловую систему. Отвечаем отказом:
Partition #1 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: N
Осталось только сохранить таблицу разделов:
Command (m for help): w
Мы увидим сообщение, что таблица с разделами изменена, но так как устройство занято, изменения вступят в силу только после перезагрузки.
The partition table has been altered.
Failed to update system information about partition 1: Device or resource busy
The kernel still uses the old partitions. The new table will be used at the next reboot.
Syncing disks.
Перезагружаем виртуальную машину:
# reboot
Изменение размера файловой системы ext4
Теперь воспользуемся утилитой resize2fs (для ext4) для увеличения размера файловой системы:
# resize2fs /dev/sda1
resize2fs 1.46.2 (28-Feb-2021)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 4
The filesystem on /dev/sda1 is now 6303744 (4k) blocks long.
Проверяем результат:
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 944M 0 944M 0% /dev
tmpfs 192M 496K 192M 1% /run
/dev/sda1 24G 1.1G 22G 5% /
tmpfs 960M 0 960M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 192M 0 192M 0% /run/user/1000
Заключение
Как видим, в debian 11 увеличение раздела диска – не такая уж и сложная задача.
Вы можете посмотреть похожие статьи по расширению разделов в различных дистрибутивах linux:
- Ubuntu 21 увеличение раздела диска
- Ubuntu 20 увеличение системного раздела
- CentOS 8 увеличение LVM раздела
Расширяем корневой раздел
Корневой раздел является хранилищем всех остальных файловых систем. Через него система получает доступ ко многим (если не ко всем) своим ресурсам. В этом разделе (файловая система) содержит такие важные системные каталоги (которые могут быть выноситься в отдельные разделы при желании и являться отдельными файловыми системами) как «/usr», «/bin», «/etc», «/var», «/opt» и т. д., в совокупности все они содержат файлы ядра, стандартные системные утилиты, файлы хранимой конфигурации системы, файлы журналов системных событий и т. д.
Есть виртуальная машина, разбивка диска следующая:
$ lsblk
$ df -H
$ sudo cfdisk /dev/sda
Выключаем виртуалку, увеличиваем размер vdi-диска с помощью VBoxManage (в составе VirtualBox):
"C:Program FilesOracleVirtualBoxVBoxManage.exe" modifyhd "C:UsersuserVirtualBox VMsdebian8debian8.vdi" --resize 12288
Включаем виртуалку, смотрим что получилось
$ lsblk
$ df -H
$ sudo cfdisk /dev/sda
Выключаем swap (файл подкачки)
$ sudo swapoff -a
Начинаем удалять разделы (данные не потеряются)
Смотрим разметку
$ sudo fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 12 GiB, 12821987328 bytes, 25042944 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd00b3928
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 15988735 15986688 7.6G 83 Linux
/dev/sda2 15990782 16775167 784386 383M 5 Extended
/dev/sda5 15990784 16775167 784384 383M 82 Linux swap / Solaris
В данном примере вначале удаляем /dev/sda2
Command (m for help): d
Partition number (1,2,5, default 5): 2
Partition 2 has been deleted.
Смотрим результат
Command (m for help): p
Disk /dev/sda: 12 GiB, 12821987328 bytes, 25042944 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd00b3928
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 15988735 15986688 7.6G 83 Linux
Удаляем раздел /dev/sda1 (данные не потеряются)
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Таким образом мы удалили разделы на диске. Данный способ используется потому, что при автоматической разбивке диска в Debian (без LVM) корневой раздел оказывается в начале диска, а добавляемое пространство оказывается в конце диска. А между ними область, выделенная под swap.
Создадим новый раздел (primary)
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-25042943, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-25042943, default 25042943): +11G
Created a new partition 1 of type 'Linux' and of size 11 GiB.
Таким образом мы создали новый раздел размером 11 Gb, 1 Gb оставили под swap
Создадим раздел (extended) под swap
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): e
Partition number (2-4, default 2):
First sector (23070720-25042943, default 23070720):
Last sector, +sectors or +size{K,M,G,T,P} (23070720-25042943, default 25042943):
Created a new partition 2 of type 'Extended' and of size 963 MiB.
Попробуем поменять тип файловой системы
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 82
You cannot change a partition into an extended one or vice versa. Delete it first.
Type of partition 2 is unchanged: Extended.
Утилита ругается
Сохраняем изменения
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: 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).
Утилита сообщает, что изменения применятся после перезагрузки
Перезагружаем виртуалку
$ sudo reboot
Смотрим результат
$ lsblk
$ df -H
$ sudo cfdisk /dev/sda
Запускаем утилиту cfdisk
$ sudo cfdisk /dev/sda
Выбираем /dev/sda1:
Bootable
Выбираем неразмеченную область:
New - > Partition size: 962M -> Type: 82
Сохраняем изменения
Write: yes - > Quit
Передаем информацию об изменении разметки операционной системе, установив утилиту parted
$ sudo apt install parted -y
$ sudo partprobe
Создаем раздел под swap
$ sudo mkswap /dev/sda5
Setting up swapspace version 1, size = 985084 KiB
no label, UUID=be9028ea-7dd0-445b-99ae-69835d586ed5
Включаем swap
$ sudo swapon /dev/sda5
Смотрим новые UUID
$ sudo blkid
/dev/sda1: UUID="c86485d2-6505-426e-9298-48eb1462be89" TYPE="ext4" PARTUUID="d00b3928-01"
/dev/sda5: UUID="be9028ea-7dd0-445b-99ae-69835d586ed5" TYPE="swap" PARTUUID="d00b3928-05"
Прописываем их в /etc/fstab
$ sudo nano /etc/fstab
Монтируем
$ sudo mount -a
Перезагружаем виртуалку
$ sudo reboot
Проверяем
$ lsblk
$ df -h
Расширяем раздел /dev/sda1
$ sudo resize2fs /dev/sda1
Проверяем
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 11G 1.2G 9.1G 12% /
udev 10M 0 10M 0% /dev
tmpfs 403M 5.5M 397M 2% /run
tmpfs 1006M 0 1006M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1006M 0 1006M 0% /sys/fs/cgroup
Таким образом мы расширили корневой раздел работающей операционной системы Debian не прибегая к помощи LiveCD
У блога появился хостинг, его любезно предоставила компания Облакотека. Облакотека — облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс.
Если вы размещаете материалы этого сайта в своем блоге, соц. сетях, и т.д., убедительная просьба публиковать обратную ссылку на оригинал
Обновлено: 09.01.2023
Опубликовано: 22.06.2017
В инструкции рассмотрены сценарии расширения дискового пространства разделов в Linux без потери информации.
Принцип увеличения диска:
- Расширение раздела.
- Изменение размера файловой системы.
В зависимости от типа раздела и файловой системы, действия различаются.
Любая работа с диском несет риск потери информации. Перед началом работ убедитесь в наличие резервных копий ценных данных.
Расширение разделов
Обычных
LVM
Изменение размера файловой системы
Использование GParted
Шаг 1. Расширение раздела
Мы рассмотрим варианты работы с обычными томами (разделами) и томами LVM. Проверить, какой тип раздела у нас используется можно командой:
lsblk
Нам интересны варианты part и lvm.
Обычные тома (part)
Допустим, есть диск /dev/sdb и раздел /dev/sdb2, который нужно увеличить. Разберем два подхода, сделать это.
1. С помощью утилиты growpart (без отмонтирования раздела)
Данная утилита позволяет увиличить размер слайса без необходимости его отмонтировать. Это очень удобно для работы с корневыми разделами. Данная утилита не установлена в системе. В зависимости от последней наши действия будут различаться.
а) Для систем DEB:
apt install cloud-guest-utils
б) Для систем RPM:
yum install cloud-utils-growpart
Если наш диск имеет разметку GPT, то потребуется установить также утилиту gdisk.
а) Для DEB:
apt install gdisk
б) Для RPM:
yum install gdisk
Установка growpart завершена. Идем дальше.
Для расширения раздела /dev/sdb2 вводим команду:
growpart /dev/sda 2
Мы должны увидеть что-то на подобие:
CHANGED: partition=2 start=4096 old: size=20965376 end=20969472 new: size=41938910 end=41943006
Готово.
2. С помощью утилиты fdisk/parted (требуется отмонтировать раздел)
Данный способ удобнее тем, что не нужно устанавливать дополнительных утилит, но он потребует отмонтирование раздела. Это можно сделать командой:
umount /dev/sdb2
В случае работы с корневой директорией, отмонтировать ее не получиться. В таком случае необходимо загрузить компьютер с Windows LiveCD или GParted Live.
Подключаемся утилитой fdisk к /dev/sdb:
fdisk /dev/sdb
Если мы работаем с разделом более чем 2Тб, используем утилиту parted.
Смотрим номера разделов:
: p
Удаляем раздел (не переживайте — все данные сохраняются):
: d
: 2
* в моем примере, раздел для удаления на второй позиции.
Создаем новый раздел:
: n
Первичный (primary):
: p
Номер раздела — 2:
: 2
На запрос начального и конечного секторов просто нажимаем Enter.
Если раздел был загрузочный, добавляем соответствующий флаг:
: a
Еще раз проверяем, что получилось:
: p
Сохраняем изменения:
: w
LVM
LVM-тома расширяются на лету, даже для корневых разделов. В данном примере, работаем с /dev/sda.
Открываем диск утилитой fdisk:
fdisk /dev/sda
* напомню, что при работе с диском 2Тб и более, следует использовать утилиту parted.
Создаем еще один раздел:
: n
Первичный:
: p
Номер раздела оставляем тот, который предлагает система (просто нажимаем Enter).
Первый и последний сектора также оставляем по умолчанию для использования всего дискового пространства (еще два раза Enter).
Задаем тип раздела:
: t
Выбираем номер раздела (в моем примере создавался раздел 3):
: 3
Командой L можно посмотреть список всех типов, но нас интересует конкретный — LVM (8e):
: 8e
Сохраняем настройки:
: w
Проинформируем систему, что в таблице разделов произошли изменения:
partprobe
Создаем физический том из нового раздела:
pvcreate /dev/sda3
Смотрим наши Volume Group и для нужного добавляем созданный том:
vgdisplay
vgextend vg_centos /dev/sda3
* в моем примере группа томов LVM называется vg_centos
Смотрим LVM-разделы и расширяем пространства для нужного:
lvdisplay
lvextend -l +100%FREE /dev/vg_centos/lv_root
* данная команда расширяем LVM-раздел /dev/vg_centos/lv_root, используя все свободное пространство (100%FREE).
Шаг 2. Изменение размера для файловой системы
После того, как на предыдущем шаге мы расширили раздел, система по-прежнему будет видеть старый по объему диск. Чтобы это исправить, необходимо выполнить команду по изменению размера файловой системы. В зависимости от последней, команды различаются.
Посмотреть файловую систему:
df -T
ext2/ext3/ext4:
resize2fs /dev/vg_centos/lv_root
XFS:
xfs_growfs /dev/sda2
Reiserfs:
resize_reiserfs /dev/sdb
* обратите внимание, что в данных примерах используются различные устройства.
Если раздел был отмонтирован, монтируем его, например:
mount /dev/sda2 /mnt
Проверяем, что настройки применились:
df -h
Увеличение разделов с Gparted
Если работы выполняются на системе с графическим интерфейсом или есть возможность перезагрузить сервер и загрузиться с LiveCD, можно воспользоваться простым средством — утилитой Gparted, которая позволяем менять размер разделов мышкой.
Запускаем утилиту — выбираем диск, с которым будем работать — кликаем правой кнопкой по разделу, который хотим увеличить и выбираем Resize/Move:
В открывшемся окне с помощью мышки или форм меняем размер раздела:
Нажимаем кнопку Resize/Move.
Проверяем изменения в окне программы и сохраняем настройки кнопкой «Apply All Operations»:
Важно! До внесения изменений, обязательно сделайте резервную копию (backup) всех данных сервера. Любые манипуляции с разделами несут в себе риск потери данных.
Расширение будет выполнено без потери данных. Это такая «хитрая техника»: существующий раздел удаляется, а на его месте создается новый, большего размера.
В нашем примере устройство называется vda и находится в каталоге /dev
-
Необходимо узнать название устройства жесткого диска который мы хотим расширить. Делается это командой fdisk -l
-
Чтобы увеличить размер раздела (партиции, слайса) на диске, нам необходимо выполнить: fdisk /dev/vda
- Затем внутри командной строки приложения fdisk выполнить p (print), чтобы увидеть таблицу разделов на диске.
В нашем примере раздел один. Называется /dev/vda1 и имеет объем 5ГБ. Сам же жесткий диск имеет объем 10ГБ. Давайте расширим /dev/vda1 до 10ГБ.
- Выполним d для удаления существующего раздела. Затем n – для создания нового, p – для primary, 1 – это номер раздела; и укажем начало и конец раздела в секторах. Начальный сектор должен соответствовать начальному сектору раздела, который был удален. На скриншоте видно, что это 2048. Последний сектор раздела выбираем максимально возможным. В нашем случае fdisk предлагает нам 20971519. Его и введем.
- Еще раз p – чтобы убедиться, что раздел теперь увеличился до необходимого нам размера. И w – для записи и выхода из fdisk.
После этого мы получим предупреждение, что устройство подмонтировано и суперблок недоступен, и что объем раздела будет изменен после перезапуска ОС.
-
Перезагружаем ОС — reboot
-
После перезагрузки нам необходимо расширить ФС на весь раздел. Сделаем это командой resize2fs /dev/vda1
- Далее, df -h – чтобы удостовериться, что все получилось.
Готово.
Также читайте
Previous
Next
I am trying to add space to my root partition and am really not sure the safest way to go about it. I have read this thread, Can I resize the root partition without uninstalling and reinstalling Linux (or losing data)? but I don’t think the information lines up with my system.
Any help would be througholy appreciated. Also, in that post, F1234K asked for recommendations on good reading to learn this stuff, but no one replied to it. I would also be very interested in some learning material on the subject.
Thanks!
edit: I should add that my goal is to take 20 gb from sdb6 and put it in sdb1. sdb6 is a logical volume of sdb2.
sudo fdisk -l
Disk /dev/sdb: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000babf
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 19531775 9764864 83 Linux
/dev/sdb2 19533822 1465147391 722806785 5 Extended
/dev/sdb5 19533824 76765183 28615680 82 Linux swap / Solaris
/dev/sdb6 76767232 1465147391 694190080 83 Linux
Disk /dev/sda: 1000.2 GB, 1000200658432 bytes
255 heads, 63 sectors/track, 121600 cylinders, total 1953516911 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a9997
Device Boot Start End Blocks Id System
/dev/sda1 2048 1953515519 976756736 83 Linux
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x927a1713
Device Boot Start End Blocks Id System
/dev/sdc1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sdc2 206848 976771071 488282112 7 HPFS/NTFS/exFAT
WARNING: GPT (GUID Partition Table) detected on '/dev/sdd'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdd: 999.5 GB, 999501594624 bytes
256 heads, 63 sectors/track, 121041 cylinders, total 1952151552 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x809da6bc
Device Boot Start End Blocks Id System
/dev/sdd1 1 4294967295 2147483647+ ee GPT
df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 9.2G 8.8G 0 100% /
udev 10M 0 10M 0% /dev
tmpfs 2.4G 896K 2.4G 1% /run
/dev/disk/by-uuid/d7968f08-4108-4382-a585-0b4a3850ec63 9.2G 8.8G 0 100% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 11G 692K 11G 1% /run/shm
/dev/sdb6 652G 581G 39G 94% /home
/dev/sr0 4.4G 4.4G 0 100% /media/cdrom0
/dev/sr1 354M 354M 0 100% /media/cdrom1
/dev/sdd2 931G 759G 173G 82% /media/zacharydimaria
mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=3091362,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=2474360k,mode=755)
/dev/disk/by-uuid/d7968f08-4108-4382-a585-0b4a3850ec63 on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=10671840k)
/dev/sdb6 on /home type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
/dev/sr0 on /media/cdrom0 type udf (ro,nosuid,nodev,noexec,relatime,utf8,user=zachary)
/dev/sr1 on /media/cdrom1 type udf (ro,nosuid,nodev,noexec,relatime,utf8,user=zachary)
/dev/sdd2 on /media/zacharydimaria type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)
pvdisplay does not return anything.
edit: cat etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdb1 during installation
UUID=d7968f08-4108-4382-a585-0b4a3850ec63 / ext4 errors=remount-ro 0 1
# /home was on /dev/sdb6 during installation
UUID=ec5e593e-a36f-4b88-b210-8666128b4bf1 /home ext4 defaults 0 2
# swap was on /dev/sdb5 during installation
UUID=4525d76b-dd14-48e4-b60d-dffee5b08245 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/sr1 /media/cdrom1 udf,iso9660 user,noauto 0 0
I am trying to add space to my root partition and am really not sure the safest way to go about it. I have read this thread, Can I resize the root partition without uninstalling and reinstalling Linux (or losing data)? but I don’t think the information lines up with my system.
Any help would be througholy appreciated. Also, in that post, F1234K asked for recommendations on good reading to learn this stuff, but no one replied to it. I would also be very interested in some learning material on the subject.
Thanks!
edit: I should add that my goal is to take 20 gb from sdb6 and put it in sdb1. sdb6 is a logical volume of sdb2.
sudo fdisk -l
Disk /dev/sdb: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000babf
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 19531775 9764864 83 Linux
/dev/sdb2 19533822 1465147391 722806785 5 Extended
/dev/sdb5 19533824 76765183 28615680 82 Linux swap / Solaris
/dev/sdb6 76767232 1465147391 694190080 83 Linux
Disk /dev/sda: 1000.2 GB, 1000200658432 bytes
255 heads, 63 sectors/track, 121600 cylinders, total 1953516911 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a9997
Device Boot Start End Blocks Id System
/dev/sda1 2048 1953515519 976756736 83 Linux
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x927a1713
Device Boot Start End Blocks Id System
/dev/sdc1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sdc2 206848 976771071 488282112 7 HPFS/NTFS/exFAT
WARNING: GPT (GUID Partition Table) detected on '/dev/sdd'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdd: 999.5 GB, 999501594624 bytes
256 heads, 63 sectors/track, 121041 cylinders, total 1952151552 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x809da6bc
Device Boot Start End Blocks Id System
/dev/sdd1 1 4294967295 2147483647+ ee GPT
df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 9.2G 8.8G 0 100% /
udev 10M 0 10M 0% /dev
tmpfs 2.4G 896K 2.4G 1% /run
/dev/disk/by-uuid/d7968f08-4108-4382-a585-0b4a3850ec63 9.2G 8.8G 0 100% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 11G 692K 11G 1% /run/shm
/dev/sdb6 652G 581G 39G 94% /home
/dev/sr0 4.4G 4.4G 0 100% /media/cdrom0
/dev/sr1 354M 354M 0 100% /media/cdrom1
/dev/sdd2 931G 759G 173G 82% /media/zacharydimaria
mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=3091362,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=2474360k,mode=755)
/dev/disk/by-uuid/d7968f08-4108-4382-a585-0b4a3850ec63 on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=10671840k)
/dev/sdb6 on /home type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
/dev/sr0 on /media/cdrom0 type udf (ro,nosuid,nodev,noexec,relatime,utf8,user=zachary)
/dev/sr1 on /media/cdrom1 type udf (ro,nosuid,nodev,noexec,relatime,utf8,user=zachary)
/dev/sdd2 on /media/zacharydimaria type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)
pvdisplay does not return anything.
edit: cat etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdb1 during installation
UUID=d7968f08-4108-4382-a585-0b4a3850ec63 / ext4 errors=remount-ro 0 1
# /home was on /dev/sdb6 during installation
UUID=ec5e593e-a36f-4b88-b210-8666128b4bf1 /home ext4 defaults 0 2
# swap was on /dev/sdb5 during installation
UUID=4525d76b-dd14-48e4-b60d-dffee5b08245 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/sr1 /media/cdrom1 udf,iso9660 user,noauto 0 0