Как увеличить размер диска linux ext4

Увеличение раздела диска в Linux на лету

Разницы нет: увеличиваете Вы размер раздела жесткого диска на работающей ОС, делаете это на виртуальной машине Proxmox или хостинге VDS . Механика работы одна и та же.

Для расширения раздела без потери данных в Linux нам понадобятся утилиты parted и resize2fs. Они должны быть в любом дистрибутиве по умолчанию. В Debian они есть. Если нет, то устанавливаем.

Сам процесс ресайза раздела прост:

  1. расширяем раздел в панели управления VDS или Proxmox;
  2. размечаем раздел, добавляя ему незанятое пространство, которое добавили в пункте №1;
  3. физически изменяем размер;
  4. перезагружаем ОС.

При этом все данные останутся на месте.

Инструкция по изменению раздела

Расширяем раздел в панели управления VDS или Proxmox

Подразумевается, что в панели управления Вы уже расширили пространство жесткого диска и теперь готовы сделать это «программно». Дополнительные объяснения здесь лишние.

Размечаем раздел

Проверяем какой размер раздела «виден» в ОС и как называется раздел:

Из примера видно, что существует жесткий диск /dev/vda уже размером 20GB. На нем есть раздел /dev/vda1, который пока занимает размер в 5GB. Именно эту разницу мы и должны исправить.

Подключаемся к жесткому диску утилитой parted, указывая жесткий диск:

Узнаем каким номером утилита parted обозначила нужный нам раздел:

В примере нужный нам раздел обозначается 1.

Расширяем раздел 1 до 20.5GB (это весь доступный размер):

Где End — это нужный размер раздела.

Выходим из утилиты parted:

На этом этап новой разметки раздела диска закончен.

Физически изменяем размер

Запускаем последнюю команду для применения всех наших действий:

После этого нужно перезапустить наш сервер и пользоваться увеличенным размером диска.

Комментарии

Нет комментариев к данной статье.

Оставить свой комментарий

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

Источник

Быстрое и безопасное увеличение корневого раздела с файловой системой ext4.

В мире системных администраторов всё чаще применяется виртуализация. И бывает что «сегодня» виртуальный сервер требует больше дискового пространства, чем вы ему выдали «вчера». Делюсь своей проверенной шпаргалкой, которая при определённых ситуациях поможет не только в виртуальном мире.

На рынке виртуализации уже достаточно много различных решений и я не знаю какой вы используете гипервизор, но увеличить размер дискового пространства для выключенного виртуального сервера будет самым простым шагом и это оставляю на ваше усмотрение. Вот вам пример из нашей системы виртуализации уровня предприятия Proxmox VE.

Самое простое позади и вы, образно говоря, превратили жёсткий диск выключенной виртуальной машины из 100 Гб в 200 Гб, но волшебным образом раздел(ы) (partitions) сами автоматически не увеличатся и файловая система (filesystem) внутри них тоже. Так легко и просто «всего лишь» появилось сырое (raw) дисковое пространство в блочном устройстве (block device), поверх которого существуют ваши разделы и файловые системы. В данном месте должен предупредить что речь идёт по большей части о виртуальных машинах и там редко можно встретить нижеописанных гостей и поэтому данная шпаргалка совсем НЕ предназначена для тех кто активно использует:

  • менеджер логических томов (LVM), придуманный в том числе и для лёгкого манипулирования разделами. Некоторые не используют LVM, как дополнительный (лишний) уровень абстракции и имеют полное на это право. Для увеличения томов следует использовать документацию LVM.
  • файловую систему ZFS, которая объединяет концепции файловой системы и менеджера логических дисков (томов). То есть ZFS — не просто файловая система и поэтому работу по увеличению томов следует выполнять её родными средствами.
  • файловую систему BTRFS, которая как и ZFS не является чисто файловой системой и может создавать и манипулировать томами. Любые манипуляции нужно проводить родными инструментами btrfs, тщательнейше сверяясь с документацией.
Читайте также:  Linux load all modules

При такой потенциально опасной процедуре как увеличение дискового пространства, а затем разделов и файловой системы — лучше перебздеть, чем недобздеть. Выполните, сохраните и проанализируйте вывод команды lsblk, которая поможет лучше понять текущую разметку диска и связь с точками монтирования: lsblk -f

Из предыдущей команды вы должны точно понять с каким именно блочным устройством вы будете дальше работать (в примере это /dev/sda). Сохраните схему разделов sudo fdisk —list /dev/sda

И опять таки вынужден предупредить что если вы создавали отдельные разделы аля /var/ /usr/, как это было актуально и принято в старые времена у old school, то вы значит опытный товарищ и шпаргалка вам не нужна и увеличение нужного раздела в сложнейших разметках диска вы сделаете самостоятельно и легко. Дальше по тексту идёт вариант, когда гостевая виртуальная система использует простую разметку в виде одного корня и, возможно, идущему за ним и мешающего нам раздела swap.

Исторически так сложилось, что в мире UNIX, а затем и в Linux, механизм виртуальной памяти использовал раздел swap, а не файл swap, и поэтому установщики операционных систем создавали именно раздел, который сейчас точно нам помешает. В современных дистрибутивах Linux отказались от раздела swap и перешли на файл swap и это вам упрощает задачу.

Если у вас, судя по разметке, есть раздел swap, то рекомендую просто перейти на использование swapfile и отказаться от использования swap раздела.

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon —show

После вышеперечисленных команд, вы правильно создадите swapfile размером в 1 Гб и убедитесь что он задействован в механизме виртуальной памяти наряду с текущим разделом swap. Теперь необходимо прописать в файле /etc/fstab строку

и закоментировать использование старого раздела swap. Настоятельно рекомендую сделать тестовую перезагрузку сервера, чтобы убедиться что в механизме виртуальной памяти задейстован только лишь swap файл sudo swapon —show и раздел swap можно начинать удалять. Для удаления раздела swap можно использовать как fdisk, так и более понятный cfdisk. У меня нет хрустального шара, я не вижу вашей разметки и не знаю уровень работы с дисками, поэтому будьте предельно осторожны и аккуратно удаляйте то, в чём уверены. В старых виртуальных машинах, я встречал swap раздел /dev/sda5 внутри расширенного (extended partition) /dev/sda2 и мне пришлось, как в матрёшке, сначала удалить «внутренний» sda5 и потом «внешний» sda2.

Есть масса способов увеличить размер вначале раздела и в данном месте у каждой утилиты свои закидоны. Рекомендую поставить пакет sudo apt install cloud-guest-utils и использовать команду sudo growpart /dev/sda 1 , которая как вы догадались увеличит раздел с порядковым номером 1 на величину свободного места.

Теперь собственно саму файловую систему ext4 самого корня: sudo resize2fs /dev/sda1

Проверьте что всё хорошо получилось: lsblk -f; df -h

Не забудьте закомментировать старый swap или исправить на новый в файле /etc/initramfs-tools/conf.d/resume и выполнить sudo update-initramfs -u

Работа с дисковой разметкой относится к категории сложных и могут быть различные нюансы, поэтому не забывайте делать резервные копии. В мире виртуализации современные гипервизоры предлагают массу удобных способов подстраховаться — пользуйтесь!

Неплохой вариант загрузиться с помощью диска LiveCD и сделать всё наглядно через GParted.

Источник

Расширение диска или раздела Linux

В инструкции рассмотрены сценарии расширения дискового пространства разделов в Linux без потери информации.

Принцип увеличения диска:

  1. Расширение раздела.
  2. Изменение размера файловой системы.

В зависимости от типа раздела и файловой системы, действия различаются.

Читайте также:  Set permissions in windows

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

Шаг 1. Расширение раздела

Обычные тома

Допустим, есть диск /dev/sdb и раздел /dev/sdb2, который нужно увеличить.

Сначала необходимо отмонтировать раздел:

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

Подключаемся утилитой fdisk к /dev/sdb:

Если мы работаем с разделом более чем 2Тб, используем утилиту parted.

Смотрим номера разделов:

Удаляем раздел (не переживайте — все данные сохраняются):

* в моем примере, раздел для удаления на второй позиции.

Создаем новый раздел:

Номер раздела — 2:

На запрос начального и конечного секторов просто нажимаем Enter.

Если раздел был загрузочный, добавляем соответствующий флаг:

Еще раз проверяем, что получилось:

LVM-тома расширяются на лету, даже для корневых разделов. В данном примере, работаем с /dev/sda.

Открываем диск утилитой fdisk:

* напомню, что при работе с диском 2Тб и более, следует использовать утилиту parted.

Создаем еще один раздел:

Номер раздела оставляем тот, который предлагает система (просто нажимаем Enter).

Первый и последний сектора также оставляем по умолчанию для использования всего дискового пространства (еще два раза Enter).

Задаем тип раздела:

Выбираем номер раздела (в моем примере создавался раздел 3):

Командой L можно посмотреть список всех типов, но нас интересует конкретный — LVM (8e):

Проинформируем систему, что в таблице разделов произошли изменения:

Создаем физический том из нового раздела:

Смотрим наши Volume Group и для нужного добавляем созданный том:

vgextend vg_centos /dev/sda3

* в моем примере группа томов LVM называется vg_centos

Смотрим LVM-разделы и расширяем пространства для нужного:

lvextend -l +100%FREE /dev/vg_centos/lv_root

* данная команда расширяем LVM-раздел /dev/vg_centos/lv_root, используя все свободное пространство (100%FREE).

Шаг 2. Изменение размера для файловой системы

После того, как на предыдущем шаге мы расширили раздел, система по-прежнему будет видеть старый по объему диск. Чтобы это исправить, необходимо выполнить команду по изменению размера файловой системы. В зависимости от последней, команды различаются.

Посмотреть файловую систему:

ext2/ext3/ext4:

XFS:

Reiserfs:

* обратите внимание, что в данных примерах используются различные устройства.

Если раздел был отмонтирован, монтируем его, например:

mount /dev/sda2 /mnt

Проверяем, что настройки применились:

Увеличение разделов с Gparted

Если работы выполняются на системе с графическим интерфейсом или есть возможность перезагрузить сервер и загрузиться с LiveCD, можно воспользоваться простым средством — утилитой Gparted, которая позволяем менять размер разделов мышкой.

Запускаем утилиту — выбираем диск, с которым будем работать — кликаем правой кнопкой по разделу, который хотим увеличить и выбираем Resize/Move:

В открывшемся окне с помощью мышки или форм меняем размер раздела:

Нажимаем кнопку Resize/Move.

Проверяем изменения в окне программы и сохраняем настройки кнопкой «Apply All Operations»:

Источник

Увеличение ext4 без потерь данных

Подскажите пожалуйста как это сделать с помощью parted? Я пытался разобраться сам, ничего не понял на счет parted resize начало-конец. Привожу свою структуру разделов.

Как видно, в 3-ем размечено 30 ГБ из 64.4 доступных. Я хочу этому 3-ему отдать всю неразмеченную область, без потерь данных.

Может пригодится ещё

Удали раздел fdisk’ом, создай с новым размером, потом resize2fs.

Всё на лету, без отмонтирования, без всяких parted.

Ruslan> Partition 2 does not end on cylinder boundary

Скажи ему, чтобы fdisk с опцией -u запускает, а то фиг потом создаст начиная с 169 цилиндра

в партеде rm 3, mkpart p ext4 1389MB -1 потом resize2fs /dev/sda3

жир просочился сквозь экран.

resize the filesystem on partition to start at start and end at end megabytes

Запускайте parted и вводите:
resize 3 1389MB 64.4GB

>Model: ATA QEMU HARDDISK

Так в чём тогда проблема просто перекопировать? Это же не Windows.

Читайте также:  Windows diskpart gpt to mbr

смело gparted нужно же советовать, ну. hint man parted 3

ТС просил parted. Любой каприз за его деньги.

Всё на лету, без отмонтирования, без всяких parted.

Можно же вместо resize2fs добавить к lvextend опцию «-r».

где ресайз и мои деньги%)

>Можно же вместо resize2fs добавить к lvextend опцию «-r».

Век живи, век учись 🙂

Как я понимаю, на лету всё же не получится? Надо у хостера просить загрузить с LiveCD, и тогда уже всё это делать?

Это ж кстати XEN VPS на hardware виртуализации, если это имеет отношение к делу.

> Надо у хостера просить загрузить с LiveCD, и тогда уже всё это делать?
Да, проще будет сделать так.

Но можно попробовать запустить fdisk, удалить раздел, создать новый с тем же типом ФС и координатой начала (и кординатой конца в конце диска) и перезагрузиться, после чего сделать resize2fs /dev/sda3. Способ опасен тем, что если Вы промахнётесь с началом раздела, система не запустится, и тогда придётся всё равно загружаться с livecd и testdisk’ом восстанавливать таблицу разделов.

На этапе записи изменений fdisk ругнётся, что не удалось прочитать новую таблицу разделов, потому что device or resource busy.

может тебе просто создать 4-ый раздел на 30Гб и примонтировать куда тебе надо?

А куда/как его можно примонтировать?

в /dev/sda3 есть папка /var/www

можно ли создать /dev/sda4 и примонтировать всё к той же /var/www ?

>Но можно попробовать запустить fdisk, удалить раздел, создать новый с тем же типом ФС и координатой начала (и кординатой конца в конце диска) и перезагрузиться, после чего сделать resize2fs /dev/sda3. Способ опасен тем, что если Вы промахнётесь с началом раздела, система не запустится, и тогда придётся всё равно загружаться с livecd и testdisk’ом восстанавливать таблицу разделов.

На этапе записи изменений fdisk ругнётся, что не удалось прочитать новую таблицу разделов, потому что device or resource busy.

Для этого всёравно придётся отцепить /dev/sda3, что я сделать не могу в живой системе. Только грузится с LiveCD. Верно?

Или всё же есть способ на лету? Под виндой помню акронисом или partion mafic кнопочки поклацал, дажее Apply и тут система перезагружается и в этот момент до загрузки ОС делает с разделами всё что я наклацал. Тут нельзя как-то подобным образом?

тебя заставлять что ли надо. пол треда сопли жуешь.

отмонтируй то что лежит на увеличиваемой партиции. например umount /var/www

cfdisk удали и создай там же но на больший размер партицию.

и никаких кнопочек дурацких в акронисе и перезагрузок

ext4 без отмонтирования можно увеличить.

> Для этого всёравно придётся отцепить /dev/sda3, что я сделать не могу в живой системе.
Точно? По идее, это не понадобится, т.к. fdisk редактирует только таблицу разделов (64 байта в начале диска по смещению 448), а сами данные на разделах не трогает.

Тут нельзя как-то подобным образом?

LiveCD и получается «подобный образ». Можно ещё собрать себе initramfs с parted с ssh внутри и загрузиться с него, получится то же самое.

В конце концов, если это не корень, /dev/sda3 таки можно отмонтировать (посмотрите lsof’ом, что за процессы заняли mountpoint).

/dev/sda3 таки это корень

можно ли создать /dev/sda4 и примонтировать всё к той же /var/www ?

Не к той же, а вместо:

1. Создать /dev/sda4
2. Форматнуть в ext4 (или по вкусу)
3. прописать в /etc/fstab
/dev/sda3 /var/www ext4 defaults 0 0

4. mount —bind /var/www /mnt
5. mount /var/www
6. mv /mnt/* /var/www
7. umount /mnt

/dev/sda4 /var/www ext4 defaults 0 0

>1. Создать /dev/sda4

Дык больше 30 ГБ не получится создать! Я в итоге получу 2 логических диска по

Зачем мне это нужно? Мне нужен ОДИН /dev/sda3 с полной доступной ёмкостью в

Источник

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