- Увеличение раздела диска в Linux на лету
- Сам процесс ресайза раздела прост:
- Инструкция по изменению раздела
- Расширяем раздел в панели управления VDS или Proxmox
- Размечаем раздел
- Физически изменяем размер
- Комментарии
- Оставить свой комментарий
- Быстрое и безопасное увеличение корневого раздела с файловой системой ext4.
- Расширение диска или раздела Linux
- Шаг 1. Расширение раздела
- Обычные тома
- Шаг 2. Изменение размера для файловой системы
- Увеличение разделов с Gparted
- Увеличение ext4 без потерь данных
Увеличение раздела диска в Linux на лету
Разницы нет: увеличиваете Вы размер раздела жесткого диска на работающей ОС, делаете это на виртуальной машине Proxmox или хостинге VDS . Механика работы одна и та же.
Для расширения раздела без потери данных в Linux нам понадобятся утилиты parted и resize2fs. Они должны быть в любом дистрибутиве по умолчанию. В Debian они есть. Если нет, то устанавливаем.
Сам процесс ресайза раздела прост:
- расширяем раздел в панели управления VDS или Proxmox;
- размечаем раздел, добавляя ему незанятое пространство, которое добавили в пункте №1;
- физически изменяем размер;
- перезагружаем ОС.
При этом все данные останутся на месте.
Инструкция по изменению раздела
Расширяем раздел в панели управления 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, тщательнейше сверяясь с документацией.
При такой потенциально опасной процедуре как увеличение дискового пространства, а затем разделов и файловой системы — лучше перебздеть, чем недобздеть. Выполните, сохраните и проанализируйте вывод команды 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. Расширение раздела
Обычные тома
Допустим, есть диск /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.
смело 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 с полной доступной ёмкостью в
Источник