Как создать GPT-диск в Linux (носитель более 2 ТиБ)
C GPT в системах Linux работает утилита parted.
Чтобы узнать, какой именно тип диска (GPT или MBR) настроен вводим команду:
Если будет выведено предупреждение WARNING: GPT (GUID Partition Table) detected, значит используется GPT.
Также, для определения диска можно использовать gdisk, но сначала его нужно установить.
Создаем GPT
Открываем наш диск утилитой parted:
Откроется интерактивное меню утилиты — нажимаем p:
На экран будет выведена информация о разделах. Если они есть, удаляем командой rm:
* где 1 — номер раздела. Команду нужно повторить для всех разделов. Их список мы смотрели на предыдущем шаге командой p.
* если на разделе есть важная информация, ее нужно скопировать на другой носитель.
Создаем разметку GPT:
(parted) mklabel gpt
И создаем новый раздел:
(parted) mkpart primary 0 0
* где primary указывает, что раздел является основным; 0 и 0 — использовать весь диск для создания раздела, но можно использовать часть диска, например, 0 2048GB.
Выходим из parted:
И форматируем диск:
* где в качестве файловой системы выбрана ext4.
Для проверки, монтируем отформатированный диск в директорию /mnt:
mount /dev/sdb /mnt
И выводим список дисков:
Если есть необходимость монтировать диск при загрузке системы, прочитайте статью Автоматическое монтирование дисков в Linux
Источник
Расширение диска или раздела 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»:
Источник
Изменение размера раздела GPT в Linux
В Linux я использовал для изменения размеров разделов MBR, используя fdisk, даже в живых файловых системах, а затем выдает resize2fs /pvresize /. (в зависимости от типа fs), чтобы получить выделенное новое пространство.
В последнее время я использую разделы Xen и GPT, и я заметил, что, к сожалению, parted, похоже, не позволяет изменять размер вмонтированного раздела на лету, на самом деле он будет жаловаться:
Я пробовал использовать команду resize и даже rm + mkpart , но они будут жаловаться на монтируемый раздел.
Как я могу это сделать?
4 ответа
Самый безопасный способ сделать это — загрузить с помощью аварийного носителя (live CD или тому подобного) и использовать GParted, который изменит размер как раздела, так и файловой системы, которую он содержит. Это будет работать, только если раздел не используется.
Если вы не можете позволить себе время простоя, вы можете попробовать использовать gdisk вместо parted . Вам нужно будет удалить раздел, который вы хотите изменить, и создать новый на своем месте с той же начальной точкой, что и в случае с fdisk . gdisk готов работать на рабочем диске, хотя ядро может не регистрировать никаких изменений. В этом случае вам может понадобиться использовать partprobe или kpartx , чтобы заставить ядро принять новую таблицу разделов или даже перезагрузить компьютер, если это не сработает. (Это все должно быть похоже на использование fdisk .)
Обычно это работает только с более поздними дистрибутивами Linux. Необходимые инструменты:
- partprobe (обычно часть расставленных)
- gdisk /sgdisk
Раздел GPT хранит заголовок резервной копии в конце диска. Если вы изменили размер базового устройства, заголовок резервной копии будет находиться где-то посередине. Первый шаг — переместить заголовок раздела в конец диска.
Предположим, что на диске есть /dev /sda, а раздел — /dev /sda3 (также должен быть последним разделом):
Затем удалите последний раздел и заново создайте его:
Обычно вы увидите сообщение о том, что ядро не может перезагрузить таблицу разделов. Вам нужно запустить partprobe, чтобы раздел был зарегистрирован с новым размером:
Если это не удастся, вам придется перезагрузить виртуальную машину. После этого вы можете увеличить свою файловую систему с помощью соответствующего инструмента, для ext4 и т. Д.:
Внимание : запуск sgdisk может быть разрушительным. Убедитесь, что у вас есть правильные процедуры резервного копирования.
Вот пример, который автоматизированный инструмент использует для изменения размера раздела в Интернете за один проход:
sgdisk -d 1 -n 1: 2048: 0 -c 1: -u 1: E485F29F-A1F4-4953-9DD8-799EAEA0119B -t 1: 0700 /dev /xvda
Вот список параметров команды sgdisk:
- -d 1 первый раздел удаления
- -n 1: 2048: 0 говорит о создании нового раздела «номер 1» с начальным сектором 2048. End sector = «0», что означает «использовать все доступное пространство для этого раздела
- -u устанавливает уникальный указатель для этого раздела (это специфично для разделов GPT); вы можете использовать «R» для определения GUID для случайного значения. Вы также можете получить идентификатор текущего раздела с помощью gdisk /dev/xvda; p для повторного использования одного и того же uid
- -t 1: 0700 в основном означает, что первый раздел имеет тип-код ‘0700’.
/dev /xvda — это диск, который мы переделали.
Таким образом, он сразу удаляет и создает новый раздел.
PS. Несколько заметок на typecode ‘0700’. От человека SGDISK (8)
, описанной ранее, или полностью определенное значение GUID, например EBD0A0A2-B9E5-4433-87C0-68B6B72699C7.
«Но подождите, — говорите вы, — я думал, что на диске есть раздел FAT!» В самом деле оно делает. Windows использует один GUID-код для всех своих разделов данных, будь то FAT или NTFS. Раньше тот же код использовался в Linux для его разделов данных. (Еще об этом коротко . ) Таким образом, в этом случае несколько разных MBR-кодов переведены на один GPT-GUID код. GPT fdisk использует несколько произвольно код 0x0700 (или более точно, EBD0A0A2-B9E5-4433-87C0-68B6B72699C7) для всех этих.
В моем случае я считаю, что это был раздел Linux ext4, но typecode раздела не означает тип файловой системы, поэтому «0700» больше похож на тип catchall для sgdisk. По крайней мере, в тех случаях, когда я видел.
ПФС. Возможно, вам понадобится запустить partprobe , чтобы ядро стало известно об изменении раздела без перезагрузки системы.
Я просто обобщаю некоторые ответы и комментарии здесь:
parted просто откажется изменить любой смонтированный раздел. gdisk выполнит задание для вас, но оно не входит в стандартный репозиторий RHEL или CentOS. Однако он находится в репозитории EPEL .
Имейте в виду, что изменение разделов на диске, который используется, может помешать ядру зарегистрировать изменения. Если это произойдет, используйте partprobe , partx или перезагрузка.
Источник
Live изменение размера раздела GPT в Linux
В Linux я использовал для изменения размера разделов MBR, используя fdisk, даже в живых файловых системах, а затем запускал resize2fs / pvresize / . (в зависимости от типа fs), чтобы получить новое выделенное пространство.
В последнее время я использую разделы Xen и GPT, и я заметил, что, к сожалению, parted не позволяет изменять размеры подключенного раздела на лету, на самом деле он будет жаловаться:
Я пробовал и resize команду, и даже комбинацию rm + mkpart , но они оба будут жаловаться на монтируемый раздел.
Как я могу это сделать?
Самый безопасный способ сделать это — загрузиться с помощью аварийного носителя (live CD или подобного) и использовать GParted, который изменит размер как раздела, так и файловой системы, которую он содержит. Это будет работать, только если раздел в настоящее время не используется.
Если вы не можете позволить себе простои, попробуйте использовать gdisk вместо parted . Вам нужно будет удалить раздел, размер которого вы хотите изменить, и создать новый на его месте с той же начальной точкой, как вы это сделали fdisk . gdisk готов работать на используемом диске, хотя ядро может не регистрировать никаких изменений. В этом случае вам может понадобиться использовать partprobe или kpartx заставить ядро принять новую таблицу разделов или даже перезагрузить компьютер, если это не сработает. (Это все должно быть очень похоже на использование fdisk .)
Обычно это работает только с более свежими дистрибутивами Linux. Необходимые инструменты:
- partprobe (обычно часть parted)
- gdisk / sgdisk
Раздел GPT хранит резервный заголовок в конце диска. Если вы изменили размер базового устройства, резервный заголовок будет где-то посередине. Первый шаг — переместить заголовок раздела в конец диска.
Предполагается, что диск является / dev / sda, а раздел — / dev / sda3 (также должен быть последним разделом):
Затем удалите последний раздел и заново создайте его:
Обычно вы увидите сообщение о том, что ядро не может повторно загрузить таблицу разделов. Вы должны запустить partprobe, чтобы раздел был зарегистрирован с новым размером:
Если это не удастся, вам придется перезагрузить виртуальную машину. После этого вы можете вырастить свою файловую систему с помощью соответствующего инструмента, для ext4 и т.д .:
Внимание : запуск sgdisk может быть разрушительным. Убедитесь, что у вас есть правильные процедуры резервного копирования на месте.
Вот пример, который автоматизированный инструмент использует для изменения размера раздела в сети, за один прогон:
sgdisk -d 1 -n 1: 2048: 0 -c 1: -u 1: E485F29F-A1F4-4953-9DD8-799EAEA0119B -t 1: 0700 / dev / xvda
Вот список параметров для команды sgdisk:
- -d 1 удалить первый раздел
- -n 1: 2048: 0 говорит о создании нового раздела «номер 1» с начальным сектором 2048. Конечный сектор = «0», что означает «использовать все доступное пространство для этого раздела
- -u устанавливает уникальный guid для этого раздела (это характерно для разделов GPT); Вы можете использовать «R» для GUID, чтобы установить случайное значение. Вы также можете получить идентификатор текущего раздела через gdisk /dev/xvda; p вывод, чтобы повторно использовать тот же UID
- -t 1: 0700 означает, что первый раздел имеет тип-код ‘0700’.
/ dev / xvda был диском, который мы переделили.
Таким образом, он сразу удаляет и создает новый раздел на своем месте.
PS. Несколько заметок о типе ‘0700’. От мужчины SGDISK (8)
описанный ранее, или полностью указанное значение GUID, например, EBD0A0A2-B9E5-4433-87C0-68B6B72699C7.
Здесь вы найдете лучшее объяснение того, что означает «0700» — http://www.rodsbooks.com/gdisk/walkthrough.html
«Но подождите, — говорите вы, — я думал, что на диске есть раздел FAT!» Это действительно так. Windows использует один код GUID для всех своих разделов данных, будь то FAT или NTFS. В прошлом тот же код использовался в Linux для его разделов данных. (Подробнее об этом чуть позже . ) Таким образом, в этом случае несколько разных кодов MBR преобразуются в один код GUID GPT. GPT fdisk использует несколько произвольно код 0x0700 (или, точнее, EBD0A0A2-B9E5-4433-87C0-68B6B72699C7) для всех этих целей.
В моем случае я считаю, что это был раздел ext4 в Linux, но typecode раздела не означает тип файловой системы, поэтому «0700» больше похож на универсальный тип для sgdisk. По крайней мере, в тех случаях, которые я видел.
PPS. Вам может потребоваться запустить partprobe ядро, чтобы узнать об изменении разделов без перезагрузки системы.
Источник