Partman linux ��� ���

Ещё один блог сисадмина

воскресенье, 8 октября 2017 г.

Заметки по использованию expert_recipe в файлах автоматизации установки Debian/Ubuntu

При работе с IaaS всегда необходим лёгкий доступ к «голому железу». Так, в Eucalyptus используются файлы автоматизации настройки серверов Debian и Ubuntu для тестирования программного обеспечения, оказания поддержи потребителям и обучения новых пользователей. Временами бывает нужно выполнить сложную настройку серверов и это не всегда простая задача.

Поначалу файл автоматизации установки со сложным разбиением разделов partman-auto/expert_recipe кажется пугающим. Может возникнуть множество вопросов о некоторых загадочных настройках. Документация Debian на первый взгляд не выглядит особо полезной, однако по мере понимания устройства файла автоматизации, она становится гораздо понятнее. При добавлении RAID и LVM, d-i partman-auto/expert_recipe может создать более сложную последовательность подготовки диска, что является очень мощной функцией для автоматизации установки операционной системы.

Базовая схема разбиения диска /dev/sda при помощи директивы автоматизации установки partman-auto/expert_recipe показана ниже:
Основная часть, на которой я сосредоточусь — это строка partman-auto/expert_recipe. (Примечание: Она выглядит как несколько строк, но на самом деле является одной строкой с заэкранированными переводами строк.) В примере выше создаются три первичных раздела:

  • / — корневой раздел,
  • swap — раздел подкачки и
  • /srv/extra — дополнительный раздел.

Директива partman-auto/expert_recipe разобрана ниже.
Первая часть этой строки сообщает установщику Debian, что для разбивки диска, указанного в строке d-i partman-auto/disk, в менеджере разделов partman будет использоваться функция «expert_recipe». Далее установщику Debian сообщается, что директива ожидает строковое значение. Наконец, строке рецепта назначается имя «root». Имя рецепта используется в директиве d-i partman-auto/choose_recipe select root, чтобы сообщить ей, какой из рецептов нужно использовать. Знаки :: сообщают установщику Debian, что далее следует рецепт разбивки разделов.

Теперь рассмотрим, как будет создаваться один из разделов.
Первая часть приведённого выше рецепта раздела состоит из трёх чисел. Числа указывают минимальный размер раздела в мегабайтах (19000), приоритет получения максимального размера (меньшие числа указывают на более высокий приоритет) (30) и максимальный размер создаваемого раздела. Оба значения размера задаются в мегабайтах (20000). Следующее слово указывает формат создаваемого раздела.

Следующие три строки сообщают менеджеру разделов partman, что этот раздел должен быть первичным, раздел должен быть помечен как загрузочный, раздел должен быть отформатирован, формат файловой системы должен быть ext3 и, наконец, что точкой монтирования этого раздела должен быть «/». Последняя строка с одной точкой сообщает менеджеру разделов partman, что это конец определения этого раздела. Если далее текст продолжается, то менеджер разделов partman понимает, что далее следуют определения других разделов, но если был найден перевод строки, то он понимает, что рецепт разбивки разделов завершился.

К несчастью, часть expert_recipe менеджера разделов partman может обрабатывать только рецепты для одного диска. Существует несколько обходных решений, основанных на том, что в команде preseed/late_command можно использовать sfdisk, который может выполнить дополнительные действия над другими дисками. Если expert_recipe используется для настройки LVM, тогда можно использовать несколько дисков, как это показано ниже.

Ниже приводится более сложный пример настройки массива RAID 1 на дисках /dev/sda и /dev/sdb с созданием LVM поверх массива RAID.
В этих строчках сообщается о необходимости настроить RAID-массив:
В первую очередь менеджер разделов partman использует директиву partman-auto-raid/recipe. Строка рецепта в ней определяет, что RAID-массив должен быть настроен на дисках /dev/sda и /dev/sdb. Например, мы создаём массив RAID 1 для LVM на дисках /dev/sda и /dev/sdb, воспользовавшись следующими настройками:
Первое число указывает уровень RAID (1), второе число указывает количество устройств, используемых в массиве RAID (2), а третье число указывает количество запасных дисков, доступных RAID-массиву (0). Далее задаётся тип раздела на RAID-массиве (lvm), «-» указывает точку монтирования массива. Поскольку на этом RAID-массиве создаётся LVM, то точки монтирования нет. Используемые массивом разделы на дисках перечисляются через знак «#». Аналогично примеру разбивки разделов, указанному выше, определение массива завершается точкой, а любой следующий далее текст будет рассматриваться как другой массив. Перевод строки сообщит менеджеру разделов partman, что рецепт закончился.

Строка partman-auto/expert_recipe используется для определения разделов, создаваемых на массиве RAID. Выше создаются на RAID-массиве создаются два раздела: раздел /boot и раздел LVM. Затем в рецепте определяются два логических тома — «/» и swap, которые будут созданы на LVM.

Далее следует определение раздела RAID:
Выше описан RAID-массив размером 1 гигабайт с высочайшим приоритетом и типом раздела «raid». Поскольку этот раздел имеет высочайший приоритет, им будут созданы /dev/sda1 и /dev/sda2, которые будут использоваться операционной системой как «/boot», как это уже было описано при объяснении директивы partman-auto-raid/recipe. Флаг $lvmignore < >используется для того, чтобы гарантировать, что менеджер разделов partman при создании логических томов LVM не воспримет этот раздел как описание логического тома. Далее разделы RAID определяются как первичные и указывается, что при создании этих разделов нужно использовать метод, создающий массивы RAID.

Читайте также:  Linux как установить дату время

Чтобы установщик Debian обрабатывал определения разделов LVM, нужно указать следующее:
Убедитесь, что значение “guide_size”, указанное выше, больше или равно размеру всех создаваемых логических томов. Чтобы создать логический том, определите его в рецепте:
Выше приведено описание логического тома размером от 19 до 20 гигабайт с файловой системой ext4. Флаг $defaultignore < >используется для того, чтобы менеджер разделов partman не обрабатывал это описание при создании физических разделов на дисках. Далее при помощи флага $lvmok < >указывается, что менеджер разделов partman должен использовать это определение тома при создании логических томов, а флаг $lv_name < root >сообщает, что созданный том должен иметь имя «root». Остальные флаги уже были описаны в примерах выше и сообщают менеджеру разделов partman, что логический том должен быть отформатирован и что точкой монтирования должен быть «/».

Выше приведён полный пример, который можно доработать для получения необходимых результатов и поместить в файл автоматизации установки. К счастью этот пример partman-auto/expert_recipe пригодится и при стандартной установке, и при установке с использованием RAID и LVM.

Обновление: Я добавил полные примеры файлов автоматизации установки на GitHub. Посмотрите их в моём репозитории Blog Scripts.

Ещё одно обновление: Я написал ещё одну заметку об использовании файла автоматизации установки в Ubuntu Lucid и Debian Squeeze, где используется разбивка разделов в формате GPT (для дисков размером 2 и более терабайт). Прочитать её можно здесь: Совместное использование expert_recipe, mdraid, LVM, GPT и GRUB2 в Ubuntu Lucid и Debian Squeeze.

Источник

Partman linux ��� ���

Вы искали пакеты, в именах которых есть partman. Были просмотрены все комплекты, все секции и все архитектуры. Количество подходящих пакетов: 28.

Пакет partman-auto

  • stretch (oldoldstable) (debian-installer): Automatically partition storage devices (partman)
    137: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • buster (oldstable) (debian-installer): Automatically partition storage devices (partman)
    149+deb10u1: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • bullseye (stable) (debian-installer): Automatically partition storage devices (partman)
    157: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • bookworm (testing) (debian-installer): Automatically partition storage devices (partman)
    157: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • sid (unstable) (debian-installer): Automatically partition storage devices (partman)
    157: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sh4 sparc64 x32
    148 [ debports]: powerpcspe

Пакет partman-auto-crypto

  • stretch (oldoldstable) (debian-installer): Automatically partition storage devices using crypto and LVM
    25: all
  • buster (oldstable) (debian-installer): Automatically partition storage devices using crypto and LVM
    30: all
  • bullseye (stable) (debian-installer): Automatically partition storage devices using crypto and LVM
    33: all
  • bookworm (testing) (debian-installer): Automatically partition storage devices using crypto and LVM
    33: all
  • sid (unstable) (debian-installer): Automatically partition storage devices using crypto and LVM
    33: all

Пакет partman-auto-lvm

  • stretch (oldoldstable) (debian-installer): Automatically partition storage devices using LVM
    59: all
  • buster (oldstable) (debian-installer): Automatically partition storage devices using LVM
    76: all
  • bullseye (stable) (debian-installer): Automatically partition storage devices using LVM
    85: all
  • bookworm (testing) (debian-installer): Automatically partition storage devices using LVM
    85: all
  • sid (unstable) (debian-installer): Automatically partition storage devices using LVM
    85: all

Пакет partman-auto-raid

  • stretch (oldoldstable) (debian-installer): Allow preseeded RAID installs
    31: all
  • buster (oldstable) (debian-installer): Allow preseeded RAID installs
    41: all
  • bullseye (stable) (debian-installer): Allow preseeded RAID installs
    47: all
  • bookworm (testing) (debian-installer): Allow preseeded RAID installs
    47: all
  • sid (unstable) (debian-installer): Allow preseeded RAID installs
    47: all

Пакет partman-base

  • stretch (oldoldstable) (debian-installer): Partition the storage devices (partman)
    191+deb9u1: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • buster (oldstable) (debian-installer): Partition the storage devices (partman)
    208: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • bullseye (stable) (debian-installer): Partition the storage devices (partman)
    217: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • bookworm (testing) (debian-installer): Partition the storage devices (partman)
    217: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • sid (unstable) (debian-installer): Partition the storage devices (partman)
    217: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sh4 sparc64 x32
    208 [ debports]: powerpcspe

Пакет partman-basicfilesystems

  • stretch (oldoldstable) (debian-installer): Add to partman support for ext2, linux-swap, fat16, fat32 and ntfs
    127: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • buster (oldstable) (debian-installer): Add to partman support for ext2, linux-swap, fat16, fat32 and ntfs
    148: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • bullseye (stable) (debian-installer): Add to partman support for ext2, linux-swap, fat16, fat32 and ntfs
    156: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • bookworm (testing) (debian-installer): Add to partman support for ext2, linux-swap, fat16, fat32 and ntfs
    156: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • sid (unstable) (debian-installer): Add to partman support for ext2, linux-swap, fat16, fat32 and ntfs
    156: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sh4 sparc64 x32
    148 [ debports]: powerpcspe
Читайте также:  Mitm ����� ���� ������

Пакет partman-basicmethods

  • stretch (oldoldstable) (debian-installer): Basic partition usage methods for partman
    61: all
  • buster (oldstable) (debian-installer): Basic partition usage methods for partman
    69: all
  • bullseye (stable) (debian-installer): Basic partition usage methods for partman
    72: all
  • bookworm (testing) (debian-installer): Basic partition usage methods for partman
    72: all
  • sid (unstable) (debian-installer): Basic partition usage methods for partman
    72: all

Пакет partman-btrfs

  • stretch (oldoldstable) (debian-installer): Add to partman support for btrfs
    35: all
  • buster (oldstable) (debian-installer): Add to partman support for btrfs
    49: all
  • bullseye (stable) (debian-installer): Add to partman support for btrfs
    54: all
  • bookworm (testing) (debian-installer): Add to partman support for btrfs
    54: all
  • sid (unstable) (debian-installer): Add to partman support for btrfs
    54: all

Пакет partman-crypto

  • stretch (oldoldstable) (debian-installer): Add to partman support for block device encryption
    88: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • buster (oldstable) (debian-installer): Add to partman support for block device encryption
    103: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • bullseye (stable) (debian-installer): Add to partman support for block device encryption
    114: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • bookworm (testing) (debian-installer): Add to partman support for block device encryption
    114: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • sid (unstable) (debian-installer): Add to partman support for block device encryption
    114: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sh4 sparc64 x32
    103 [ debports]: powerpcspe

Пакет partman-crypto-dm

  • stretch (oldoldstable) (debian-installer): Add to partman support for dm-crypt encryption
    88: all
  • buster (oldstable) (debian-installer): Add to partman support for dm-crypt encryption
    103: all
  • bullseye (stable) (debian-installer): Add to partman support for dm-crypt encryption
    114: all
  • bookworm (testing) (debian-installer): Add to partman support for dm-crypt encryption
    114: all
  • sid (unstable) (debian-installer): Add to partman support for dm-crypt encryption
    114: all

Пакет partman-efi

  • stretch (oldoldstable) (debian-installer): Add to partman support for EFI System Partitions
    75: amd64 arm64 armhf i386
  • buster (oldstable) (debian-installer): Add to partman support for EFI System Partitions
    80: amd64 arm64 armhf i386
  • bullseye (stable) (debian-installer): Add to partman support for EFI System Partitions
    94: amd64 arm64 armhf i386
  • bookworm (testing) (debian-installer): Add to partman support for EFI System Partitions
    94: amd64 arm64 armhf i386
  • sid (unstable) (debian-installer): Add to partman support for EFI System Partitions
    94: amd64 arm64 armhf i386 ia64

Пакет partman-ext3

  • stretch (oldoldstable) (debian-installer): Add to partman support for ext3 and ext4
    89: all
  • buster (oldstable) (debian-installer): Add to partman support for ext3 and ext4
    103: all
  • bullseye (stable) (debian-installer): Add to partman support for ext3 and ext4
    107: all
  • bookworm (testing) (debian-installer): Add to partman support for ext3 and ext4
    107: all
  • sid (unstable) (debian-installer): Add to partman support for ext3 and ext4
    107: all

Пакет partman-iscsi

  • stretch (oldoldstable) (debian-installer): Adds support for iSCSI to partman
    44: all
  • buster (oldstable) (debian-installer): Adds support for iSCSI to partman
    61: all
  • bullseye (stable) (debian-installer): Adds support for iSCSI to partman
    70: all
  • bookworm (testing) (debian-installer): Adds support for iSCSI to partman
    70: all
  • sid (unstable) (debian-installer): Adds support for iSCSI to partman
    70: all

Пакет partman-jfs

  • stretch (oldoldstable) (debian-installer): Add support for jfs to partman
    47: all
  • buster (oldstable) (debian-installer): Add support for jfs to partman
    57: all
  • bullseye (stable) (debian-installer): Add support for jfs to partman
    61: all
  • bookworm (testing) (debian-installer): Add support for jfs to partman
    61: all
  • sid (unstable) (debian-installer): Add support for jfs to partman
    61: all

Пакет partman-lvm

  • stretch (oldoldstable) (debian-installer): Adds support for LVM to partman
    113: all
  • buster (oldstable) (debian-installer): Adds support for LVM to partman
    130: all
  • bullseye (stable) (debian-installer): Adds support for LVM to partman
    140: all
  • bookworm (testing) (debian-installer): Adds support for LVM to partman
    140: all
  • sid (unstable) (debian-installer): Adds support for LVM to partman
    140: all

Пакет partman-md

  • stretch (oldoldstable) (debian-installer): Add to partman support for MD
    77: all
  • buster (oldstable) (debian-installer): Add to partman support for MD
    90: all
  • bullseye (stable) (debian-installer): Add to partman support for MD
    100: all
  • bookworm (testing) (debian-installer): Add to partman support for MD
    100: all
  • sid (unstable) (debian-installer): Add to partman support for MD
    100: all
Читайте также:  Never meet для windows

Пакет partman-multipath

  • stretch (oldoldstable) (debian-installer): Adds support for multipath block devices to partman
    5: all
  • buster (oldstable) (debian-installer): Adds support for multipath block devices to partman
    6: all
  • bullseye (stable) (debian-installer): Adds support for multipath block devices to partman
    6: all
  • bookworm (testing) (debian-installer): Adds support for multipath block devices to partman
    6: all
  • sid (unstable) (debian-installer): Adds support for multipath block devices to partman
    6: all

Пакет partman-nbd

  • stretch (oldoldstable) (debian-installer): Adds support for NBD to partman
    0.44: all
  • buster (oldstable) (debian-installer): Adds support for NBD to partman
    0.60: all
  • bullseye (stable) (debian-installer): Adds support for NBD to partman
    0.66: all
  • bookworm (testing) (debian-installer): Adds support for NBD to partman
    0.66: all
  • sid (unstable) (debian-installer): Adds support for NBD to partman
    0.66: all
    0.21 [ debports]: alpha hppa m68k ppc64 sh4 sparc64 x32

Пакет partman-partitioning

  • stretch (oldoldstable) (debian-installer): Partitioning operations for partman
    115: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • buster (oldstable) (debian-installer): Partitioning operations for partman
    130: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • bullseye (stable) (debian-installer): Partitioning operations for partman
    140: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • bookworm (testing) (debian-installer): Partitioning operations for partman
    140: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • sid (unstable) (debian-installer): Partitioning operations for partman
    140: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sh4 sparc64 x32
    130 [ debports]: powerpcspe

Пакет partman-prep

  • stretch (oldoldstable) (debian-installer): Add partman support for PPC PReP boot partitions
    32: ppc64el
  • buster (oldstable) (debian-installer): Add partman support for PPC PReP boot partitions
    36: ppc64el
  • bullseye (stable) (debian-installer): Add partman support for PPC PReP boot partitions
    36: ppc64el
  • bookworm (testing) (debian-installer): Add partman support for PPC PReP boot partitions
    36: ppc64el
  • sid (unstable) (debian-installer): Add partman support for PPC PReP boot partitions
    36: ppc64 ppc64el

Пакет partman-swapfile

  • experimental (debian-installer): Add to partman support for swapfile
    2: all

Пакет partman-target

  • stretch (oldoldstable) (debian-installer): Provides partman with ability to prepare /target
    100: all
  • buster (oldstable) (debian-installer): Provides partman with ability to prepare /target
    115: all
  • bullseye (stable) (debian-installer): Provides partman with ability to prepare /target
    122: all
  • bookworm (testing) (debian-installer): Provides partman with ability to prepare /target
    122: all
  • sid (unstable) (debian-installer): Provides partman with ability to prepare /target
    122: all

Пакет partman-utils

  • stretch (oldoldstable) (debian-installer): Utilities related to partitioning
    191+deb9u1: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • buster (oldstable) (debian-installer): Utilities related to partitioning
    208: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • bullseye (stable) (debian-installer): Utilities related to partitioning
    217: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • bookworm (testing) (debian-installer): Utilities related to partitioning
    217: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • sid (unstable) (debian-installer): Utilities related to partitioning
    217: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sh4 sparc64 x32
    208 [ debports]: powerpcspe

Пакет partman-xfs

  • stretch (oldoldstable) (debian-installer): Add to partman support for xfs
    58: all
  • buster (oldstable) (debian-installer): Add to partman support for xfs
    66: all
  • bullseye (stable) (debian-installer): Add to partman support for xfs
    68: all
  • bookworm (testing) (debian-installer): Add to partman support for xfs
    68: all
  • sid (unstable) (debian-installer): Add to partman support for xfs
    68: all

Пакет postgresql-11-partman

  • buster (oldstable) (database): PostgreSQL Partition Manager
    4.0.0-1: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x

Пакет postgresql-13-partman

  • bullseye (stable) (database): PostgreSQL Partition Manager
    4.5.1-1: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • bookworm (testing) (database): PostgreSQL Partition Manager
    4.5.1-1: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
  • sid (unstable) (database): PostgreSQL Partition Manager
    4.5.1-1: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sh4 sparc64 x32

Пакет postgresql-13-partman-dbgsym

  • sid (unstable) (debug): debug symbols for postgresql-13-partman
    4.5.1-1 [ debports]: alpha hppa ia64 m68k ppc64 riscv64 sh4 sparc64 x32

Пакет postgresql-9.6-partman

  • stretch (oldoldstable) (database): PostgreSQL Partition Manager
    2.6.3-1: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x

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

Чтобы сообщить о проблеме, связанной с веб-сайтом, отправьте сообщение (на английском) в список рассылки debian-www@lists.debian.org. Прочую контактную информацию см. на странице Debian Как с нами связаться.

Авторские права © 1997 — 2021 SPI Inc.; См. условия лицензии. Debian это торговый знак компании SPI Inc. Об этом сайте.

Источник

Оцените статью