Установка Debian/Создание таблицы разделов
Пожалуй, один из наиболее ответственных этапов установки — создание таблицы разделов и, возможно (или же, скорее, — крайне желательно) настройка LVM на целевом носителе.
Возможная схема распределения пространства
[править]Автор предлагает следующую схему распределения пространства:
- использование таблицы разделов GPT
- с одной стороны, это позволяет избавится от некоторых «наследственных болезней» MBR — в т. ч. использования лишенной в настоящее время смысла CHS-адресации, и необходимости т. н. «extended»-разделов;
- также, это дает возможность создания до по меньшей мере 128 разделов; (увы, — с поправкой на то, что Linux поддерживает не более 15);
- кроме того, использование GPT необходимо для загрузки системы некоторыми из современных BIOS, а также системами, использующих вместо последнего UEFI;
- порядка 1 MiB выделяется под раздел «BIOS GRUB», в котором хранится «служебная» часть загрузчика GRUB, — отвечающая, в числе прочего, за поддержку файловой системы (в предлагаемом варианте —
/boot
), на которой, в свою очередь, размещается «основная» часть загрузчика; (при использовании MBR, для этого используется следующая непосредственно за MBR часть нулевого цилиндра, не доступная для распределения); - 1% ÷ 5% от общей емкости носителя (но, пожалуй, в пределах 1 GiB ÷ 16 GiB), отводится под swap-раздел; такой раздел является своеобразной «страховкой» на случай, если некие процессы, по какой-либо причине, захотят «присвоить» себе значительные объемы виртуальной памяти — необходимость обращения к swap замедлит процесс выделения памяти и, возможно, даст администратору время для принятия решительных мер; (к сожалению, эвристика OOM Killer изредка дает сбои; автор припоминает случай, когда оный попытался досрочно завершить init-процесс — с очевидными последствиями);
- порядка 192 MiB ÷ 512 MiB отводится под отдельный
/boot
, что обеспечивает возможность переустановки загрузчика (GRUB) даже при отсутствии доступа к LVM (например, с использованием системы, отличной от GNU/Linux); для такого раздела можно, при желании, использовать даже «упрощенную» ФС, в т. ч. FAT32; - некоторый объем, от порядка 512 MiB, выделяется как «стратегический резерв» — создается неиспользуемый раздел, или же это пространство не распределяется вовсе; такой резерв может быть использован, например, если совершенно необходимо создать отдельную ФС, но LVM использовать по каким-то причинам невозможно (в частности, — по причине сбоя LVM — для сбора на эту ФС критической информации о состоянии LVM), или же для создания временного физического тома LVM при заполненности основных (до переноса данных, или удаления более ненужных), etc.;
- оставшееся пространство распределяется между двумя или более физическими томами LVM; использование двух томов позволит, при необходимости, выполнить «дефрагментацию» логических томов используя pvmove(8); (возможности переноса данных в пределах одного тома этот инструмент не предоставляет.)
Использование GNU Parted
[править]- NB
- дальнейшие действия предполагают инициализацию служебных областей некоторого носителя информации (НЖМД, ТТН, etc.) Следует быть предельно внимательным, чтобы выполнить команды в отношении именно целевого носителя (а не, к примеру, носителя, на котором установлена используемая система.) Выяснить имена /dev-файлов, соответствующих носителю (или носителям), используемым основной системой, можно, в частности, следующими командами:
- # pvs
- # parted /dev/sdQ unit mib print
- $ cat -- /proc/mounts /proc/swaps
- Ясно, что эти имена ни в коем случае не должны появится в командах, подобных приводимым ниже.
Предлагаемую разметку можно реализовать подобно (предполагая емкость целевого носителя порядка 500 GB и «чистую» таблицу разделов GPT; команду создания таблицы — # parted DEV unit mib print mklabel gpt — выполнить по-необходимости):
# parted /dev/sdX \ unit mib \ mkpart biosgrub 0% 1mib set 1 bios_grub on \ mkpart boot 1mib 512mib \ mkpart swap 512mib 11gib set 3 swap on \ mkpart res-1 11gib 16gib \ mkpart small-1 16gib 32gib \ mkpart medium-1 32gib 64gib \ mkpart large-2 64gib 128gib \ mkpart large-3 128gib 192gib \ mkpart large-4 192gib 256gib \ mkpart large-5 256gib 320gib \ mkpart large-6 320gib 384gib \ mkpart medium-12 384gib 416gib \ mkpart medium-13 416gib 448gib \ mkpart tail 448gib 100%
Отметим, что параметры parted(8), подобные приведенным выше, можно сформировать и тривиальным Shell-кодом.
Проверить корректность созданной таблицы разделов можно используя # parted /dev/sdX unit mib print (или же, как вариант, unit s print — чтобы удостоверится, что границы разделов выровнены по размеру физического блока носителя: 8 «секторов» для современных НЖМД, 2097152 для ТТН, etc.)
Инициализация swap и /boot
[править]Сразу после создания таблицы разделов можно инициализировать swap-раздел и ФС /boot
, подобно:
# mkswap /dev/sdX3 # mke2fs -j -- /dev/sdX2
Далее, чтобы избежать привязки к конкретному имени файла раздела, несущего swap и ФС /boot
, извлечем их UUID:
# blkid -- /dev/sdX[23] /dev/sdX2: UUID="7bfad579-8e0f-4ef7-bc58-fad76f5fc83d" SEC_TYPE="ext2" TYPE="ext3" /dev/sdX3: UUID="d66d7d66-4382-4019-b420-1c47c29f7263" TYPE="swap" #
Данные идентификаторы подходят как для «явного» использования в команде # mount -U (# swapon -U), так и для fstab(5). Отметим, однако, что при создании копии ФС на уровне образа (в частности, — используя dd(1), # cp -- /dev/sdX2 /dev/sdYY, и подобные) имеющийся UUID сохраняется, а значит для различения ФС (исходной и ее копии) крайне желательно его переназначить после копирования, подобно:
# tune2fs -U random -- /dev/sdYY .
См. также
[править]- w:Таблица разделов GUID
- news:87fw1zbhuv.fsf@violet.siamics.net (оригинал данного материала.)