- Изменение размера раздела ext2/ext3/ext4 без потери информации
- Увеличение размера раздела ext2/ext3/ext4
- Уменьшение размера раздела ext2/ext3/ext4
- Как работать с LVM
- Уровни абстракции
- Установка
- Создание разделов
- 1. Инициализация
- 2. Создание групп томов
- 3. Создание логических томов
- Создание файловой системы и монтирование тома
- Файловая система
- Монтирование
- Просмотр информации
- Как изменить размер Ext4
- Как увеличить размер Ext4
- Шаг 1. Увеличение раздела
- Шаг 2. Увеличение файловой системы
- Шаг 3. Проверка на ошибки
- Шаг 4. Монтирование
- Как уменьшить размер Ext4
- Шаг 1. Проверка файловой системы
- Шаг 2. Уменьшение файловой системы
- Шаг 3. Уменьшение раздела
- Шаг 4. Монтирование
- Выводы
Изменение размера раздела ext2/ext3/ext4 без потери информации
Вследствие неправильного разбиения дисковой системы на разделы или в силу других причин, иногда наступает момент, когда места на разделе уже не хватает. Но выход всегда есть! Причем, если у вас используется менеджер логических томов, то изменение размеров разделов с LVM гораздо проще, и возможно на лету (т.е без перезагрузки системы) даже с корневым разделом!
Для тех же, кто еще не использует LVM, рассмотрим изменение размеров разделов файловых систем ext2, ext3, ext4 операционной системы Linux с помощью утилит fdisk и resize2fs на примерах. Эти методы позволяют сохранить существующую информацию на разделах, но в целях безопасности лучше сделать копии важных данных. Поскольку утилиты работают с отмонтированным разделом, то для имзенения размера корневого раздела потребуется загрузка с установочного или live-диска. Если же у вас дескоп с графической системой, то можно воспользоваться легкой в применении программой gparted с графическим интерфейсом.
Увеличение размера раздела ext2/ext3/ext4
Имеется диск /dev/vdb размером 1 Гб с разделом /dev/vdb1 размером 100 Мегабайт, остальная область — неразмеченная.
Попробуем увеличить размер раздела /dev/vdb1 до максимального (использовалась версия fdisk util-linux-ng 2.18):
После последней команды попадаем в интерактивную оболочку fdisk. Жмем клавишу d (удалить раздел):
Команда (m для справки): d
Выбранный раздел 1
Создаём новый раздел:
Команда (m для справки): n
p основной раздел (1-4)
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-2097151, по умолчанию 2048): r>
Последний сектор тоже выбираем по-умолчанию, нажав Enter:
Last сектор, +секторы or +size
После этого записываем новую таблицу раздела на диск, нажав w:
Команда (m для справки): w
Таблица разделов была изменена!
Теперь увеличиваем размер файловой системы до последнего сектора (проверено на версии resize2fs 1.41.12):
После этого монтируем раздел обратно:
И проверяем новый размер раздела:
Уменьшение размера раздела ext2/ext3/ext4
Для уменьшения размера раздела с файловой системой ext2/ext3/ext4 необходимо выполнить те же действия, но в обратном порядке.
Например, уменьшим размер раздела до 100 Мб (главное, чтобы этот размер был больше занятого файлами пространства на разделе).
resize2fs /dev/vdb1 100M
Команда (m для справки): d
Команда (m для справки): n
p основной раздел (1-4)
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-2097151, по умолчанию 2048): r>
Последний сектор выбираем не по-умолчанию, а соответственно новому размеру раздела:
Первый сектор (2048-2097151, по умолчанию 2048): +100M
После этого записываем новую таблицу раздела на диск, нажав w:
Команда (m для справки): w
Таблица разделов была изменена!
После этого монтируем раздел обратно:
И проверяем новый размер раздела:
Однако, если вы пользуетесь таким VPS-хостингом, как BudgetVM, то заботиться об изменении размеров разделов будет не нужно — достаточно сменить тариф!
Источник
Как работать с LVM
В статье описаны основные моменты использования LVM для организации дисковой системы в Linux. Она поможет как чайникам разобраться с принципами ее работы, так и уже знающим LVM в качестве шпаргалки.
Используемые команды одинаково подойдут как для систем Red Hat / CentOS, так и Debian / Ubuntu.
Уровни абстракции
Работа с томами с помощью LVM происходит на 3-х уровнях абстракции:
- Физический уровень (PV). Сначала диск инициализируется командой pvcreate — в начале диска создается дескриптор группы томов. При этом важно заметить, что диск не обязательно должен быть физическим — мы можно отметить на использование обычный раздел диска.
- Группа томов (VG). С помощью команды vgcreate создается группа томов из инициализированных на предыдущем этапе дисков.
- Логический том (LV). Группы томов нарезаются на логические тома командой lvcreate.
Схематично, уровни можно представить так:
Установка
Для работы с LVM необходима установка одноименной утилиты. В системе Linux она может быть установлена по умолчанию. Но если ее нет, выполняем инструкцию ниже.
Если используем системы на безе deb (Ubuntu, Debian, Mint):
apt-get install lvm2
Если используем системы на безе RPM (Red Hat, CentOS, Fedora):
yum install lvm2
Создание разделов
Рассмотрим пример создания томов из дисков sdb и sdc с помощью LVM.
1. Инициализация
Помечаем диски, что они будут использоваться для LVM:
pvcreate /dev/sdb /dev/sdc
* напомним, что в качестве примера нами используются диски sdb и sdc.
Посмотреть, что диск может использоваться LMV можно командой:
В нашем случае мы должны увидеть что-то на подобие:
«/dev/sdb» is a new physical volume of «1,00 GiB»
— NEW Physical volume —
PV Name /dev/sdb
VG Name
PV Size 1,00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID rR8qya-eJes-7AC5-wuxv-CT7a-o30m-bnUrWa
«/dev/sdc» is a new physical volume of «1,00 GiB»
— NEW Physical volume —
PV Name /dev/sdc
VG Name
PV Size 1,00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 2jIgFd-gQvH-cYkf-9K7N-M7cB-WWGE-9dzHIY
- PV Name — имя диска.
- VG Name — группа томов, в которую входит данный диск (в нашем случае пусто, так как мы еще не добавили его в группу).
- PV Size — размер диска.
- Allocatable — распределение по группам. Если NO, то диск еще не задействован и его необходимо для использования включить в группу.
- PE Size — размер физического фрагмента (экстента). Пока диск не добавлен в группу, значение будет 0.
- Total PE — количество физических экстентов.
- Free PE — количество свободных физических экстентов.
- Allocated PE — распределенные экстенты.
- PV UUID — идентификатор физического раздела.
2. Создание групп томов
Инициализированные на первом этапе диски должны быть объединены в группы.
Группа может быть создана:
vgcreate vg01 /dev/sdb /dev/sdc
* где vg01 — произвольное имя создаваемой группы; /dev/sdb, /dev/sdc — наши диски.
Просмотреть информацию о созданных группах можно командой:
На что мы получим, примерно, следующее:
— Volume group —
VG Name vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 1,99 GiB
PE Size 4,00 MiB
Total PE 510
Alloc PE / Size 0 / 0
Free PE / Size 510 / 1,99 GiB
VG UUID b0FAUz-wlXt-Hzqz-Sxs4-oEgZ-aquZ-jLzfKz
- VG Name — имя группы.
- Format — версия подсистемы, используемая для создания группы.
- Metadata Areas — область размещения метаданных. Увеличивается на единицу с созданием каждой группы.
- VG Access — уровень доступа к группе томов.
- VG Size — суммарный объем всех дисков, которые входят в группу.
- PE Size — размер физического фрагмента (экстента).
- Total PE — количество физических экстентов.
- Alloc PE / Size — распределенное пространство: колическтво экстентов / объем.
- Free PE / Size — свободное пространство: колическтво экстентов / объем.
- VG UUID — идентификатор группы.
3. Создание логических томов
Последний этап — создание логического раздела их группы томов командой lvcreate. Ее синтаксис:
Примеры создания логических томов:
lvcreate -L 1G vg01
* создание тома на 1 Гб из группы vg01.
lvcreate -L50 -n lv01 vg01
* создание тома с именем lv01 на 50 Мб из группы vg01.
lvcreate -l 40%VG vg01
* при создании тома используется 40% от дискового пространства группы vg01.
lvcreate -l 100%FREE -n lv01 vg01
* использовать все свободное пространство группы vg01 при создании логического тома.
* также можно использовать %PVS — процент места от физического тома (PV); %ORIGIN — размер оригинального тома (применяется для снапшотов).
Посмотрим информацию о созданном томе:
— Logical volume —
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID 4nQ2rp-7AcZ-ePEQ-AdUr-qcR7-i4rq-vDISfD
LV Write Access read/write
LV Creation host, time vln.dmosk.local, 2019-03-18 20:01:14 +0300
LV Status available
# open 0
LV Size 52,00 MiB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors auto
— currently set to 8192
Block device 253:2
- LV Path — путь к устройству логического тома.
- LV Name — имя логического тома.
- VG Name — имя группы томов.
- LV UUID — идентификатор.
- LV Write Access — уровень доступа.
- LV Creation host, time — имя компьютера и дата, когда был создан том.
- LV Size — объем дискового пространства, доступный для использования.
- Current LE — количество логических экстентов.
Создание файловой системы и монтирование тома
Чтобы начать использовать созданный том, необходимо его отформатировать, создав файловую систему и примонтировать раздел в каталог.
Файловая система
Процесс создания файловой системы на томах LVM ничем не отличается от работы с любыми другими разделами.
Например, для создания файловой системы ext4 вводим:
* vg01 — наша группа томов; lv01 — логический том.
Для создания, например, файловой системы xfs вводим:
Монтирование
Как и в случае с файловой системой, процесс монтирования не сильно отличается от разделов, созданных другими методами.
Для разового монтирования пользуемся командой:
mount /dev/vg01/lv01 /mnt
* где /dev/vg01/lv01 — созданный нами логический том, /mnt — раздел, в который мы хотим примонтировать раздел.
Для постоянного монтирования раздела добавляем строку в fstab:
/dev/vg01/lv01 /mnt ext4 defaults 1 2
* в данном примере мы монтируем при загрузке системы том /dev/vg01/lv01 в каталог /mnt; используется файловая система ext4.
Проверяем настройку fstab, смонтировав раздел:
Проверяем, что диск примонтирован:
Просмотр информации
Разберемся, как получить информацию о дисковых накопителях в системе.
1. Для общего представления дисков, разделов и томов вводим:
Мы получим что-то на подобие:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
sda1 8:1 0 1G 0 part /boot
sda2 8:2 0 29G 0 part
sys-root 253:0 0 27G 0 lvm /
sys-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
vg01-lv01-real 253:3 0 1G 0 lvm
vg01-lv01 253:2 0 1G 0 lvm /mnt
vg01-sn01 253:5 0 1G 0 lvm
sdc 8:32 0 1G 0 disk
vg01-lv01-real 253:3 0 1G 0 lvm
vg01-lv01 253:2 0 1G 0 lvm /mnt
vg01-sn01 253:5 0 1G 0 lvm
vg01-sn01-cow 253:4 0 500M 0 lvm
vg01-sn01 253:5 0 1G 0 lvm
sdd 8:48 0 1G 0 disk
* как видим, команда отображает корневое блочное устройство, какие разделы из него сделаны и в какие логические тома организованы из некоторых из разделов.
2. Получить информацию о проинициализированных для LVM дисков:
Источник
Как изменить размер Ext4
На данный момент Ext4 — это самая популярная файловая система для операционных систем семейства Linux, она используется как на серверах, так и на домашних компьютерах, и там и там часто возникает необходимость изменить размер раздела.
В сегодняшней статье мы рассмотрим как расширить раздел Ext4 в графическом интерфейсе или с помощью терминала.
Как увеличить размер Ext4
Шаг 1. Увеличение раздела
Если вы хотите изменить размер корневого раздела файловой системы, то вам обязательно надо будет загрузится с LiveCD иначе вы не сможете редактировать примонтированный раздел. Если это не системный раздел, то его можно отмонтировать и затем изменять. Для увеличения раздела будем использовать parted. Сначала запустите утилиту:
sudo parted /dev/sda
Здесь /dev/sda — это ваш диск, один из разделов которого вы хотите расширить. Сначала выведите текущую таблицу разделов, для этого выполните:
Как видите, здесь есть только один раздел и он занимает 16 гигабайт, а всего на диске доступно 21,7 гигабайт. Чтобы расширить Ext4 и занять всё это пространство используйте команду resizepart:
(parted) resizepart 1 21,7GB
Первый параметр, это номер раздела, который вы узнали из предыдущей команды, а второй, размер раздела, доступный размер тоже выводится в предыдущей команде. Теперь утилиту можно закрыть:
Шаг 2. Увеличение файловой системы
Осталось увеличить самую файловую систему до конца раздела. Для этого воспользуемся утилитой resize2fs. Она может работать даже когда файловая система смонтирована.
sudo resize2fs /dev/sda1
Утилита по умолчанию увеличивает файловую систему на всё доступное пространство раздела.
Шаг 3. Проверка на ошибки
После этого не помешает проверить всё на ошибки с помощью fsck:
sudo e2fsck -f /dev/sda1
Шаг 4. Монтирование
Затем можно монтировать полученную файловую систему и проверять её размер, как видите, теперь она занимает 20 гигабайт:
df -h | grep /dev/sda1
Как уменьшить размер Ext4
Допустим, нам надо отделить от корневого раздела четыре гигабайта и создать из них другой раздел, например, раздел подкачки. Для этого сначала надо уменьшить размер файловой системы, а затем самого раздела.
Шаг 1. Проверка файловой системы
Перед тем, как уменьшить размер Ext4 надо проверить её на ошибки. Если файловая система смонтирована, размонтируйте её:
sudo umount /dev/sda1
Для этого выполните:
sudo e2fsck -f /dev/sda1
Шаг 2. Уменьшение файловой системы
Уменьшение размера файловой системы тоже выполняется с помощью resize2fs. Но теперь утилите надо передать в параметрах новый размер файловой системы. Например, 16 гигабайт:
resize2fs /dev/sda1 16G
Размер можно указывать в килобайтах (K), мегабайтах (M) или гигабайтах (G). Теперь вы знаете как изменить размер Ext4. В выводе утилита вы увидите сколько теперь блоков занимает файловая система. Это число надо умножить на 4096 чтобы получить размер файловой системы в байтах. Цифра четыре взята потому что размер одного блока в Ext4 равняется четырём килобайтам. Например, в данном случае это будет 17179869184 байт или 16 гигабайт:
Теперь надо уменьшить размер раздела с помощью parted. Но значение желательно брать чуть больше, для безопасности, потому, что если вы зацепите пространство, где расположена файловая система, то работать с ней вы больше не сможете.
Шаг 3. Уменьшение раздела
Запустите parted и используйте ту же команду resizepart чтобы уменьшить размер раздела:
sudo parted /dev/sda
(parted) resizepart 1 16,1GB
Чтобы закрыть программу выполните:
Шаг 4. Монтирование
После этого файловую систему можно монтирововать и проверять её размер:
sudo mount /dev/sda1 /mnt
df -h | grep /dev/sda1
Выводы
В этой статье мы рассмотрели как уменьшить раздел Ext4, а также как его увеличить через терминал. Если вы работаете в графическом интерфейсе, то всё выполняется гораздо проще. Для этого можно воспользоваться утилитой Gparted. Она автоматически меняет как размер раздела, так и файловой системы. К тому же программа может не только менять положение конца раздела, но и начала, иногда это может быть полезно. А как вы меняете размер файловой системы? Напишите в комментариях!
Источник