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

Обновлено: 21.11.2024

Похожие запросы: Как изменить размер основного раздела в Linux. Как расширить корневой раздел не lvm. Как изменить размер раздела в Linux с помощью parted и fdisk, не уничтожая данные. Действия по расширению раздела в RHEL/CentOS 7 и 8 Linux. Выполните управление дисками в CentOS. Как использовать нераспределенное пространство для изменения размера раздела на диске в Linux. Как изменить размер корневого раздела не на LVM в Linux. Пошаговое руководство по изменению размера основного раздела. Как расширить раздел примерами в Linux. Centos управление дисками. rhel 7 расширяет корневой раздел, отличный от lvm. Centos 7 изменяет размер корневого раздела. Шаги по изменению размера основного раздела для расширения корневого раздела, отличного от lvm, в Linux. как добавить нераспределенное дисковое пространство к разделу в Linux. Centos сжимает или расширяет корневой раздел, отличный от lvm. добавить место в раздел. fdisk расширить раздел. изменить размер загрузочного раздела. расширить корневой раздел, отличный от lvm, в linux. изменить размер раздела. как расширить раздел. Centos изменяет размер основного раздела. rhel изменить размер раздела.

Ранее я поделился шагами по созданию файловой системы и проверке типа файловой системы в Linux. Теперь в этой статье я поделюсь шагами по изменению размера основного раздела, здесь мы расширим корневой раздел, отличный от lvm. С LVM намного проще и менее рискованно изменить размер раздела в группе томов в Linux.

  • В этой статье описываются шаги по изменению размера основного раздела (не lvm), которые могут быть опасными и могут оставить вашу систему Linux в непригодном для использования сломанном состоянии. Важно сделать резервную копию содержимого перед попыткой изменить размер раздела.
  • Вы можете изменить размер раздела (не lvm) только для последнего раздела на устройстве хранения с нераспределенным пространством. Если соответствующий раздел не является последним разделом, то единственный способ расширить раздел — это сделать резервную копию ваших данных, перестроить диск и разделы, а затем восстановить данные. Никакие инструменты, такие как gparted, parted или fdisk, не помогут вам изменить размер раздела в таком случае.
  • У вас должно быть свободное или нераспределенное пространство на соответствующем устройстве, чтобы иметь возможность расширять раздел. В некоторых виртуальных средах у вас есть возможность изменить размер устройства хранения, но на физическом узле, если не хватает нераспределенного пространства, изменение размера основного раздела (расширение корневого раздела, отличного от lvm) невозможно
  • В этой статье предполагается, что вы используете таблицу разделов GPT или таблицу разделов msdos с основными типами разделов для расширения корневого раздела, отличного от lvm.

Я продемонстрирую только шаги по расширению корневого раздела, отличного от lvm, но, используя те же методы, вы также можете сжать и изменить размер раздела на более низкое значение в Linux. Но не забудьте сделать резервную копию своих данных .

Лабораторная среда для изменения размера основного раздела (RHEL/CentOS 7/8) в Linux

Я выполнил операцию изменения размера основного раздела на виртуальной машине, работающей на Oracle VirtualBox, установленной на сервере Linux. Моя виртуальная машина работает с CentOS 8, но я также проверил эти шаги на RHEL/CentOS 7 и RHEL 8 Linux.

Здесь моя виртуальная машина установлена ​​на устройстве /dev/sda, где /dev/sda1 — загрузочный раздел, /dev/sda2 — корневой, а /dev/sda3 — для подкачки. Кроме того, я оставил нераспределенное свободное пространство в /dev /sda за демонстрацию этой статьи для расширения корневого раздела, отличного от lvm.

Способ 1. Изменение размера раздела с помощью утилиты parted CLI

Вы можете использовать gparted (утилита с графическим интерфейсом) или parted (утилита командной строки), чтобы изменить размер раздела в Linux. Здесь мы планируем изменить размер основного раздела, в нашем случае это /dev/sda.

Список доступных разделов

Чтобы вывести список доступных разделов в /dev/sda, мы выполним следующую команду

Как я упоминал в разделе об отказе от ответственности, вы можете изменить размер раздела только в последнем разделе устройства, но здесь корневой раздел ( /dev/sda2 ) не является последним, а подкачка ( /dev/sda3 ) последний раздел. Поэтому, чтобы расширить корневой раздел, я должен удалить устройство подкачки, чтобы иметь возможность использовать нераспределенное пространство и расширить корневой раздел, отличный от lvm. После удаления подкачки корневой раздел станет последним разделом в /dev/sda, после чего мы сможем изменить размер основного раздела.

Отключить раздел подкачки

В настоящее время у меня зарезервировано около 1 ГБ для раздела подкачки

Я отключу раздел подкачки (отключу раздел подкачки) и использую это пространство для расширения корневого раздела, отличного от lvm, в Linux

Проверьте пространство подкачки, как вы видите, оно не равно 0

Обновите файл /etc/fstab, чтобы раздел подкачки не монтировался на этапе загрузки.

Удалить подкачку и расширить раздел

Теперь, чтобы изменить размер основного раздела /dev/sda2 и расширить раздел до нового значения, мы должны сначала удалить раздел подкачки с помощью утилиты parted. Поскольку нам нужно, чтобы корневой раздел был последним разделом /dev/sda перед расширением раздела.

Но наш корневой раздел показывает тот же размер, что и раньше, то есть ~10 ГБ

Чтобы выполнить шаги по изменению размера корневого раздела, отличного от lvm, выполните resizefs для разделов ext3 и ext4 или xfs_growfs для раздела xfs, чтобы расширить раздел и обновить изменения

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

Повторно создать раздел подкачки

Теперь мы должны создать раздел подкачки, который мы удалили ранее в этой статье. Мы снова воспользуемся утилитой parted для создания раздела подкачки

Теперь с помощью parted мы создали только раздел с файловой системой типа swap. Используйте mkswap, чтобы превратить этот раздел в своп.

Далее мы должны обновить /etc/fstab, указав UUID нашего нового раздела подкачки. Чтобы получить новый UUID раздела подкачки

Обновите этот UUID в /etc/fstab, как показано ниже

Наконец-то включите новый раздел подкачки

Проверьте новый раздел подкачки

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

Способ 2: изменить размер раздела с помощью утилиты fdisk

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

Список доступных разделов

Прежде чем мы изменим размер основного раздела, давайте перечислим доступные разделы

Теперь, как вы видите, размер существующего корневого раздела /dev/sda2 составляет ~10 ГБ. Здесь мы расширим раздел на +1 ГБ, используя нераспределенное дисковое пространство из /dev/sda .

Удалить раздел подкачки

В настоящее время мой раздел подкачки включен и является последним разделом /dev/sda . Поэтому мы должны сначала удалить раздел подкачки здесь, прежде чем мы изменим размер раздела, так как нам нужно, чтобы root был последним разделом в /dev/sda

Поэтому мы сначала отключим раздел подкачки

Пришло время использовать утилиту fdisk для изменения размера раздела

Часть 1. Изменение размера корневого раздела

Мы продолжим шаги по расширению корневого раздела, отличного от lvm, в том же сеансе fdisk. Запишите начальный сектор корневого раздела, прежде чем расширять раздел.

Создать раздел подкачки

После того, как мы изменим размер основного раздела, в том же сеансе fdisk мы также создадим новый раздел подкачки, который мы изначально удалили, с новыми начальным и конечным секторами

Обновление ядра с учетом последних изменений, которые мы внесли для изменения размера раздела

Но наш раздел подкачки по-прежнему отображается как 0

Теперь давайте завершим шаги по созданию раздела подкачки с помощью mkswap

Следующее обновление /etc/fstab с UUID для вашего нового раздела подкачки. Вы можете использовать blkid для получения UUID

Обновите то же самое в /etc/fstab, как показано ниже

Теперь вы можете включить раздел подкачки

Проверьте то же самое с помощью бесплатной команды

Часть 2. Изменение размера корневого раздела

Если это еще не сделано на предыдущих шагах, после выхода из утилиты fdisk обновите ядро ​​с учетом последних изменений, которые мы сделали для изменения размера раздела

Мы не закончили с изменением размера основного раздела, так как команда df по-прежнему показывает старый размер раздела для корневого раздела

Выполните resize2fs для разделов ext3 и ext4 или xfs_growfs для раздела xfs, чтобы расширить раздел на /dev/sda2 с новыми изменениями

Теперь вы можете проверить новый размер корневого раздела

Наконец, я надеюсь, что шаги из статьи по изменению размера основного раздела и расширению корневого раздела без lvm в RHEL/CentOS 7/8 Linux были полезны. Итак, дайте мне знать ваши предложения и отзывы, используя раздел комментариев.

Похожие сообщения

Не нашли то, что искали? Выполните быстрый поиск в GoLinuxCloud

Если мои статьи о GoLinuxCloud помогли вам, пожалуйста, купите мне кофе в знак признательности.

Для любых других отзывов или вопросов вы можете использовать раздел комментариев или форму обратной связи.

Parted — это бесплатная утилита GNU, используемая для управления разделами жесткого диска из командной строки. Он может создавать, удалять, изменять размер и печатать разделы диска и многое другое в Linux.

Чаще мы используем инструмент parted для разбиения диска на разделы для запуска нескольких ОС, выделения определенного системного пространства, разделения ценных файлов или расширения томов.

Традиционно многие пользователи используют инструмент fdisk для создания разделов, что является основной причиной использования parted, когда размер диска превышает 2 ТБ. Изначально parted поддерживал только GPT, а с util-linux 2.23 fdisk тоже начал поддерживать GPT.

В этом руководстве я покажу, как использовать команду parted для управления дисками в Linux

Установка Parted в Linux

Parted по умолчанию установлен в большинстве современных дистрибутивов Linux. Если его нет в вашем дистрибутиве, установите parted вручную.

Установка parted в дистрибутивах Ubuntu и Debian:

Установка parted на CentOS и RHEL:

Когда вы запускаете команду parted без каких-либо параметров, она распечатает версию пакета parted, выберет первый диск по умолчанию и дождется появления дополнительных команд. Команду Parted необходимо запускать от имени пользователя root или пользователя с доступом Sudo.

Введите quit, чтобы выйти из приглашения parted.

Важно: все изменения вносятся в диск сразу после ввода вашей команды.

Список разделов диска

Давайте проверим, как распечатать всю информацию о диске и его разделах. По умолчанию parted выбирает первый диск. Чтобы распечатать все разделы диска, введите print all .

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

Вместо этого вы также можете использовать одну команду:

Если у вас несколько дисков, вы можете выбрать диск с помощью команды select:

Parted — выберите диск

Найти нераспределенное место на диске

Чтобы найти нераспределенное пространство, выберите свой диск и запустите команду print free.

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

Создать новый раздел диска с помощью parted

Обычно операционная система устанавливается на первый диск /dev/sda . Когда вы добавляете новый диск, ОС выберет следующий номер как /dev/sdb . Для иллюстрации я использую виртуальный диск Xen, который использует соглашение об именах как /dev/xvd .

Я добавил новый диск емкостью 20 ГБ, и вы видите, что он имеет нераспознанную метку диска.

Первым шагом будет установка требуемой метки диска. Поддерживаемые метки диска: bsd, loop, gpt, mac, msdos, pc98 и sun.

Теперь я собираюсь разделить /dev/xvdb на два основных раздела, первый из которых имеет размер 10 ГБ, а второй — 5 ГБ.

Чтобы создать новый раздел, мы используем команду mkpart с началом 0 и концом 10000:

Чтобы создать второй раздел, снова запустите команду mkpart, указав начальный и конечный размер

Примечание. Концепция «основной» отражает MBR, GPT не имеет значения, но все же необходимо добавить имя.

Вы также можете использовать mkpart, чтобы создать раздел, охватывающий весь диск, указав процент использования (здесь от 0% до 100%).

Вместо использования команды печати вы можете запустить альтернативные команды, такие как lsblk , fdisk -l, чтобы просмотреть созданные разделы.

Теперь мы можем отформатировать раздел (/dev/xvdb1) с файловой системой ex4, используя mkfs.ext4 следующим образом:

Изменить размер раздела диска с помощью resizepart

Чтобы увеличить размер раздела, сначала необходимо изменить его размер. Простое изменение размера означает перемещение конечной позиции раздела.

Здесь я собираюсь изменить размер второго раздела /dev/xvdb, переместив конечную позицию на 20000:

Примечание. GrowPart — еще один удобный инструмент, доступный в Linux для расширения раздела.

Чтобы изменить размер каждой файловой системы в соответствии с новой емкостью, необходимо выполнить команду для файловой системы. Чтобы расширить файловую систему в Linux, используйте команду resize2fs следующим образом:

Удалить раздел с выбранного диска

Чтобы удалить раздел, вы должны знать номер раздела на диске. Используйте команду печати в parted, чтобы отобразить весь раздел и соответствующий ему номер.

Для удаления вы можете использовать команду rm, за которой следует номер раздела. Здесь мы собираемся удалить 2-й раздел, как показано ниже:

Установить флаги для разделов

Parted позволяет устанавливать флаги для раздела. Не удивляйтесь, что некоторые флаги зависят от меток диска. Флаг может быть включен или выключен. Наиболее распространенными являются флаги загрузки, лаборатории, подкачки, рейда, LVM и т. д.

Следующая команда устанавливает флаг LVM для раздела 2:

(parted) включить 2 LVM

Еще один практический пример, когда нам нужно установить загрузочный раздел:

Спасение раздела диска Linux

Rescue приходит на помощь, когда вы случайно удалили раздел. Утерянный раздел можно восстановить, найдя его между началом и концом.

Давайте удалим раздел 1 в /dev/xvdb и воспользуемся командой восстановления для его восстановления:

Установить единицу измерения по умолчанию

Следующая команда устанавливает блок для сжатия:

Вы также можете печатать в единицах измерения следующим образом:

Заключение

Во время обновления этого руководства мы использовали версию parted 3.1, и было бы неплохо проверить поддерживаемые в настоящее время команды с помощью параметра -h. Parted записывает напрямую на диск, поэтому будьте осторожны при выполнении любых команд.

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

Если у вас есть какие-либо вопросы или мысли по этой теме, пожалуйста, используйте раздел комментариев ниже.

слаг; $list = get_page_by_title('related', 'OBJECT', 'wp_show_posts'); wpsp_display($list->ID, 'tax_term="' . $cat_slug . '"' );*/ ?>

Короче говоря, мне нужно выполнять все это автоматически при загрузке (встроенная система).

Вот что я получаю, когда смотрю на свободное место на моем диске.

Мне нужно расширить раздел 3 на N (30,5 ГБ) байт

Как выполнить этот шаг автоматически, без запроса? Это должно работать с динамическим размером пространства, доступного после третьего раздела.

Не ждите, что вы получите готовый к работе скрипт, не попробовав его! Итак, вы можете показать нам, что вы пробовали до сих пор? Другое дело, что раздел, размер которого вы изменяете, не должен быть смонтирован во время операции.

Я попробовал команду resizepart, и она работает, но требует точного размера. Мне нужно, чтобы он был динамичным.

8 ответов 8

Не имея возможности правильно распараллелить скрипт (он запросил подтверждение, потому что раздел был смонтирован и, вопреки другим ответам, которые я нашел, не понял -1 с или 100%), я просто нашел инструмент для роста, который делает именно это.

Использование простое: Growpart /dev/sda 3 (а затем resize2fs /dev/sda3 или другая подходящая команда для используемого типа файловой системы).

В Debian и Ubuntu он упакован как cloud-guest-utils.

Это было решением для меня — parted не нравилась ext4 как файловая система, и, похоже, не было способа избежать ее попытки изменить размер файловой системы.

@DreamFlasher Я не могу сказать, почему у вас это не сработало. Насколько я вижу, вы можете просто установить пакет cloud-guest-utils, и, поскольку это единственная функция, предоставляемая GrowPart, она должна работать, если нет ошибки, она используется неправильно или что-то неподконтрольное идет не так. Обратите внимание, что последний аргумент (3 в примере) — это размер раздела, который нужно изменить, считая с 1, и что достаточно места должно быть доступно сразу после раздела, чтобы можно было изменить его размер таким образом.

В текущих версиях parted resizepart должен работать для раздела ( parted понимает 100% или что-то вроде -1s , последнее также необходимо -- для прекращения разбора параметров в командной строке). Чтобы определить точное значение, вы можете использовать unit s, print free. resize2fs идет позже для файловой системы.

В старых версиях parted была команда resize, которая одновременно изменяла размер раздела и файловой системы, она работала даже для vfat .

В модификации читалки Kobo я использовал это, чтобы максимально изменить размер 3-го раздела внутренней памяти: (он слепо предполагает, что 4-го раздела и таблицы msdos нет и прочего)

Таким образом, вы также можете получить значения из /sys/block/. / если ядро ​​это поддерживает. Но parted удалил команду resize, так что теперь вам нужно сделать два шага: resizepart для увеличения раздела и любой инструмент, предоставляемый вашей файловой системой для его увеличения, например resize2fs для ext* .

Parted — это редактор PARTition для Linux, позволяющий создавать, форматировать, удалять, сжимать и расширять разделы диска. Инструмент прост в использовании и доступен во всех дистрибутивах Unix/Linux. Также доступна версия с графическим интерфейсом, Gparted. В этой статье мы покажем вам, как управлять разделами диска с помощью parted в CentOS Linux (аналогично он работает и в других дистрибутивах Linux). Parted — это Linux-эквивалент инструмента diskpart для Windows.

Как установить Parted в Linux?

Обновите программное обеспечение на своем хосте Linux и установите разделенный пакет с помощью диспетчера пакетов в вашем дистрибутиве Linux. В CentOS 8 с менеджером пакетов dnf (который заменил yum) вы можете установить parted из базового репозитория с помощью команд:

Или в Debian/Ubuntu:

Чтобы проверить версию инструмента, выполните следующую команду:

Чтобы использовать parted, введите:

Управление таблицами разделов с помощью Parted

Показать список доступных дисков:

Или с помощью parted:

Есть диск /dev/vdb объемом 21 ГБ без назначенной метки (ошибка /dev/vdb: нераспознанная метка диска).

Вы можете создать на диске таблицу разделов msdos (MBR):

Или таблица разделов gpt (таблица разделов GUID поддерживает размер раздела более 2 ТБ):

Обратите внимание, что, в отличие от fdisk, в parted нет команды для записи изменений. Все изменения применяются немедленно.

Затем parted покажет тип таблицы разделов (разметки) на диске:

Как видите, на диске есть таблица разделов MBR, но разделы диска еще не созданы.
Если у вас на сервере несколько дисков, вы можете переключаться между ними с помощью этой команды:

Как создать новый раздел с помощью Parted?

Команда mkpart используется для создания нового раздела в parted. После запуска этой команды в интерактивном режиме появятся вопросы о параметрах нового раздела.

  • Тип раздела — укажите тип раздела (основной или расширенный)
  • Тип файловой системы — укажите файловую систему. ext2 предлагается по умолчанию (мы изменим его позже);
  • Начало — это начальный сектор раздела;
  • End — это последний сектор раздела (в мегабайтах). В нашем примере мы ввели 5000, это означает, что будет создан раздел размером 5 ГБ.

Чтобы отобразить объем свободного места, оставшегося на диске, используйте следующую команду:

(parted) печатать бесплатно

Вы можете создать раздел, охватывающий весь диск:

или укажите любой размер раздела следующим образом:

Вы также можете установить размер раздела в % и присвоить метку:

Чтобы выйти из parted, выполните следующую команду:

Отформатируем раздел в файловую систему ext4:

Проверьте файловую систему раздела и убедитесь, что она изменилась (обратите внимание, что команда печати отображает список разделов на диске, их количество, тип, размер и файловую систему).

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

С помощью команды создадим раздел на vdb диске и выделим на него все свободное место.

Таким образом, вы можете упростить себе работу или добавить аналогичные команды в bash-скрипты или файлы кикстарта.

Как изменить размер (расширить или уменьшить) раздел с помощью Parted?

Чтобы увеличить или уменьшить размер раздела, в parted используется подкоманда resizepart. Вы можете изменить размер раздела в интерактивном режиме. Выполните следующую команду в parted:

Инструмент предложит вам ввести номер раздела (его можно взять из вывода print) и окончательный размер раздела. В этом примере размер раздела будет увеличен с 5 до 10 ГБ:

Сначала расширьте раздел, а затем разверните на нем файловую систему. Если вы уменьшаете размер раздела, вы должны сначала уменьшить размер файловой системы, а затем уменьшить размер раздела. В противном случае вы можете потерять свои данные.

Для уменьшения размера файловой системы используются следующие команды. Для файловых систем ext2/3/4:

resize2fs /dev/sdab размер

изменить размер файловой системы btrfs /размер dev/sdab

Вы также можете изменить флаг раздела в parted. Вы можете установить тот, который вы хотите:

Например, пометим раздел как загрузочный:

Удаление раздела с помощью Parted

Если вы хотите удалить раздел на диске, вы можете использовать команду rm в parted:

Команда удалит раздел с номером 1:

Будьте осторожны с этой командой, так как она не требует подтверждения удаления.

Как восстановить случайно удаленный раздел диска с помощью Rescue?

Вы можете восстановить удаленный раздел с помощью инструмента восстановления, доступного в parted:

Команда попросит вас ввести начальный и конечный размер раздела. Если в этих позициях есть информация о разделе, команда попытается восстановить удаленный раздел.

Как видите, parted прост в использовании и очень удобен для создания/изменения разделов диска.

Читайте также: