- Увеличение раздела диска в Linux на лету
- Сам процесс ресайза раздела прост:
- Инструкция по изменению раздела
- Расширяем раздел в панели управления VDS или Proxmox
- Размечаем раздел
- Физически изменяем размер
- Комментарии
- Оставить свой комментарий
- Как изменить размер Ext4
- Как увеличить размер Ext4
- Шаг 1. Увеличение раздела
- Шаг 2. Увеличение файловой системы
- Шаг 3. Проверка на ошибки
- Шаг 4. Монтирование
- Как уменьшить размер Ext4
- Шаг 1. Проверка файловой системы
- Шаг 2. Уменьшение файловой системы
- Шаг 3. Уменьшение раздела
- Шаг 4. Монтирование
- Выводы
- Как быстро увеличить размер раздела диска на сервере
- Описание задачи
- Изменение размера диска или раздела Linux
- Введение
- Подготовка
- Изменение размера диска без форматирования
- Изменение размера диска с форматированием
- Обновление загрузчика Grub2
- Преобразование раздела утилитой fstransform
- Уменьшение диска образа RAW
- Вывод
Увеличение раздела диска в 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
На данный момент 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. Она автоматически меняет как размер раздела, так и файловой системы. К тому же программа может не только менять положение конца раздела, но и начала, иногда это может быть полезно. А как вы меняете размер файловой системы? Напишите в комментариях!
Источник
Как быстро увеличить размер раздела диска на сервере
Всем привет! Недавно столкнулся с простой на первый взгляд задачей — увеличить «на горячую» размер диска на сервере Linux.
Описание задачи
Есть сервер в облаке. В моем случае, это Google Cloud — Compute Engine. Операционная система — Ubuntu, файловая система ext4 (подойдет для всех ext). Сейчас подключен диск размером 30 Гб. База растет, файлы пухнут, поэтому нужно увеличить размер диска, допустим, до 50 Гб. При этом мы ничего не отключаем, ничего не перезагружаем.
Внимание! Перед тем как начать, делаем бекап всей важной информации!
1. Для начала, проверим, сколько у нас всего свободного пространства. В консоли Linux пишем:
Простыми словами, у меня 30 Гб всего и 7.9 Гб сейчас свободно. Нужно увеличить.
2. Дальше я иду и через консоль своего хостера подключаю еще немного Гб. В Google Cloud это делается легко, без перезагрузки. Захожу в Compute Engine -> Диски -> Выбираю диск своего сервера — ему и поменяем размер:
Захожу внутрь, нажимаю «Редактировать» и увеличиваю размер диска до нужных мне размеров (в моем случае, до 50 Гб).
3. Итак, теперь у нас 50 Гб. Проверим это на сервере командой:
Видим свои новые 50 Гб, но пока использовать мы можем только 30 Гб.
4. Теперь удалим текущий раздел диска на 30 Гб, создадим новый на 50 Гб. У вас может быть несколько разделов. Возможно, вам нужно будет создать и несколько новых разделов. Для этой операции будем использовать программу fdisk, которая позволяет управлять разделами жесткого диска. Также важно понимать, что такое разделы диска и для чего они нужны — читаем тут. Для запуска программы fdisk используем команду:
5. Внутри интерактивного режима программы fdisk выполняем несколько операций.
Команда выводит список наших текущих разделов. В моем случае один раздел на 30 Гб и еще 20 Гб в свободном плавании, если так можно сказать.
6. Затем вбиваем:
Удаляем текущий раздел для того, чтобы создать новый на все 50 Гб. Перед операцией еще раз проверяем, сделали ли мы бекап важной информации!
7. Далее указываем программе:
Команда создает новый раздел. Все параметры стоит устанавливать по умолчанию — можно просто нажимать Enter. Если же у вас какой-то особый случай, то указываете свои параметры. Как видно из скриншота, я создал раздел на 50 Гб — то, что мне нужно.
8. В итоге указываю программе:
Эта команда записывает изменения и выходит из fdisk. Не пугаемся, что чтение таблицы разделов не удалось. Следующая команда поможет это исправить. Осталось совсем чуть-чуть.
9. Мы вышли из fdisk и вернулись в основную Linux — строку. Далее вбиваем, как нам посоветовали ранее:
Если все прошло успешно, то вы не увидите никакого сообщения. Если у вас не установлена программа partprobe, то установите ее. Именно partprobe обновит таблицы разделов, что позволит нам расширить раздел до 50 Гб в режиме онлайн. Идем дальше.
Подсказка! Установить partprobe можно вот так:
10. Теперь осталось переопределить размер раздела с помощью программы resize2fs. Она сделает это в режиме онлайн — у меня даже в этот момент скрипты работали и писали на диск.
Программа resize2fs перезапишет метаданные файловой системы. Для этого используем следующую команду:
Здесь sda1 — это имя вашего раздела. В большинстве случаев, это sda1, но возможны и исключения. Будьте внимательны. В итоге программа изменила нам размер раздела. Думаю, что это успех.
11. Теперь давайте убедимся, что размер раздела изменился и теперь у нас 50 Гб. Для это повторим самую первую команду:
Источник
Изменение размера диска или раздела Linux
Рано или поздно всегда приходиться делать изменение размера диска или раздела Linux. Варианты как это сделать существуют разные и все зависит от конкретного случая. Постарался найти вариант который подходит для разных случаев.
Введение
Рано или поздно всем необходимо произвести изменение размера диска, раздела, или вообще перестроить разбивку диска по новому.
Вариантов как это сделать множество, но мне кажется я нашел идеальный и 100% рабочий вариант.
Основной принцип состоит из следующих моментов:
- Подключаем дополнительный диск;
- Загружаем систему с Live-образа;
- Переносим информацию на дополнительный диск;
- Создаем, изменяем разделы на требуемом диске;
- Возвращаем данные в случае форматирования;
- Обновляем загрузчик системы и вносим правки в файл системы отвечающий за подключение разделов диска в систему.
Это очень грубая общая схема не отражающая всех нюансов, но дающая понять суть процесса.
В моем случае необходимо было поменять размер диска с преобразованием системы XFS в EXT4 на виртуальной машине работающей в Proxmox.
Меня лично необходимость уменьшить раздел возникла по причине того что в системе Proxmox появился диск SSD, но вот перенести туда нужную машину я не мог по причине большого размера диска а не реально используемого пространства.
Подготовка
Обязательно перед выполнением работ сделайте резервные копии виртуальных машин или как минимум данных с них!
Все действия необходимо выполнять только на отключенных разделах.
Забегая вперед скажу, что для уменьшения размера диска мы будем использовать возможности типа файлов raw и для этого в системе Proxmox диски должны находится в файловом варианте.
В моем случае делались изменения размеров на корневом разделе а значит необходимо запустить систему с Live-образа. Для этих целей у меня сделана собственная сборка дистрибутива Calculate Linux где установлены все необходимые мне утилиты. Можно использовать любой удобный вам Live-образ системы Linux.
Перед началом работ выполните команду которая покажет все реально смонтированные диски в работающей системе:
Сохраните эти данные, так как в последствии нам с ними будет проще работать.
Загружаем систему используя Live-образ.
Работать в консоли самого Proxmox не удобно, так как нет возможности копировать команды. Запускаю ssh сервер командой:
Подключаюсь по ssh используя данные авторизации live-образа.
Все подготовительные действия сделаны и переходим к непосредственной работе с разделами диска.
В примере имеется ввиду что раздел /boot выведен на отдельный раздел и мы его не трогаем. Всегда при создании выношу раздел boot на отдельный раздел и не раз эта схема упрощала мне жизнь при работе или проблемах с диском.
Изменение размера диска без форматирования
В случае простого изменения размеров у разделов все просто.
К сожалению раздел XFS уменьшить нельзя а увеличить можно.
Запускаем программу Gparted и выполняем необходимые действия с имеющимися разделами. Уменьшаем, перераспределяем или отключаем какой то раздел и переносим в корень. Например, в моем случае раздел /var/sevo44 находился на отдельном разделе а мне захотелось перенести его в корневой раздел.
Самое главное это перед тем как удалять раздел и переносить его в общий не забудьте сохранить данные с него.
Если выполнялись действия только по изменению размера имеющихся разделов делать больше ничего не надо. После перезагрузки система успешно запустится с новым размером разделов.
Изменение размера диска с форматированием
В моем случае файловая система была XFS и для уменьшения этого раздела мне необходимо было его переформатировать.
Определяем имеющиеся диски в системе выполнив команду:
Из вывода видно что sda рабочий диск а sdb подключенный.
Создаем раздел из всего диска sdb и форматируем его в ext4:
Создаем две папки куда будем монтировать диски:
Монтируем раздел sdb1 в необходимую папку:
C диском sda немного посложнее. В нашем случае разделы были подключены следующим образом:
Раздел sda1 надо оставить как есть а вот sda3 убрать переместив все данные в корневой раздел sda2.
Монтируем вначале главный раздел а затем вложенный:
Проверяем что у нас получилось:
Всё смонтировалось как надо.
Переносим теперь все данные с папки /mnt/sda в папку /mnt/sdb
Переносить необходимо в консольном файловом менеджере Midnight Commander (mc), так как она при переносе сохранит все права на файлы и перенесёт все один в один.
Есть и другие способы переноса в консоли, но вариант с Midnight Commander проще и наглядней.
После переноса проверяем правильность и только после этого отключаем разделы диска sda строго в таком порядке:
Запускаем программу Gparted с Live-образа и делаем с разделами что нам необходимо. В моем случае получилось следующее:
Удалил раздел sda3 а раздел sda2 увеличил и отформатировали в формат ext4. Уменьшили диск больше чем на 50 Гиб.
Можно высчитывать и обрезать раздел ровно для последующего уменьшения, но мне проще потом его расширить подключившись с Live-образа.
Монтируем sda2 в папку /mnt/sda и копируем обратно в программе mc все данные с папки /mnt/sdb в /mnt/sda:
После копирования и проверки отключаем sdb1:
Теперь нам необходимо отредактировать файл /etc/fstab который отвечает за монтирование разделов.
Определим какие uuid у разделов диска sda (при форматирование раздела uuid меняется на новый):
Открываем /mnt/sda/etc/fstab и смотрим какие там прописаны uuid и параметры файловых систем:
Как видим у раздела /boot uuid не поменялся а вот у корневого сменился. Приведем файл к необходимым параметрам:
Обновление загрузчика Grub2
После перезагрузки системы CentOS 8 вы увидите такое сообщение:
Система говорит что она не видит корневой диск с таким uuid.
В случае если вы делали изменения раздела /boot вы увидите другую ошибку и способ устранения этой ошибки выходит за рамки данной статьи.
Решается эта проблема в два шага:
- Загрузится указав правильный uuid;
- В загрузившейся системе обновить Grub2.
Запускаем систему и как только увидите варианты загрузки нажимайте клавишу е:
В результате вы увидите место где необходимо сменить информацию:
Меняем на наш новый uuid 611171b8-5da5-460c-a6da-7bf8d42f2128 и нажимаем сочетание клавиш Ctrl и X.
Система загрузится, но значения загрузчика не поменяются. Выполним команду которая обновит grub2 в системе CentOS 8:
Все успешно обновилось, но я не отключил дополнительный диск и он добавился в меню загрузчика. На работу системы это никак не повлияет, но лучше не забывать отключать дополнительный диск после того как он больше не нужен.
Диск мы уменьшили и добились работоспособности системы теперь осталось выполнить последнее действие по уменьшению файла raw.
Преобразование раздела утилитой fstransform
Существует более простой способ, но как он работает на практике точно сказать не могу. Для меня описанный вариант выше более надежен, так как я не завишу от правильности действий этой утилиты.
Утилита называется fstransform и способна она преобразовывать в разные форматы.
Для преобразования корневого раздела необходимо загрузится с Live-образа установить утилиту и преобразовать нужный раздел.
Для Live-образа системы Debian (консольный вариант) нам вначале необходимо получить права root:
Обновить список пакетов и установить:
Определить нужный раздел для преобразования командой # fdisk -l и запустить необходимую команду:
Раздел преобразуется с изменением uuid и дальше необходимо выполнить действия аналогично описанным выше.
Боле подробно об утилите можно посмотреть тут.
Уменьшение диска образа RAW
Возможно если у вас виртуальная машина работает на LVM существует способ более простой и не надо переносить образ в файловый вариант, но мне не захотелось выполнять более сложные действия с системой LVM.
Воспользуемся командой которая может произвести изменение диска обрезав образ диска raw с конца на нужный размер.
В нашем случае номер виртуальной машины был 112 и нам необходимо уменьшить образ на 50 G:
Как видим образ успешно изменён.
Осталось загрузится c Live-образа и в программе Gparted задействовать все свободное место от диска.
В системе Proxmox после изменения размера диска в разделе вы увидите уже новые параметры а вот в свойствах машины будет стоять старое значение. Возможно необходимо выполнить какое то действие, но в моем случае я переношу диск на раздел LVM и после этого везде будет показываться правильное значение.
Вывод
Как видно из статьи нюансы и главное внимательность при работе с разделами главный залог успеха. В любом случае всегда необходимо делать резервную копию выполняя изменение размера диска.
При создании новой системы всегда в голове возникает мысль как лучше разбить и какое использовать место, но попасть в нужные параметры удаётся не всегда. Зная как производить изменение разделов можно больше не ломать голову а делать все стандартным проверенным способом и в случае необходимости все исправить.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник