How to use BEADM utility

Название

beadm - управляет загрузочными разделами (Boot Environments) ZFS

Формат команды

beadm create [-a] [-d description] [-e non-activeBeFmri | BeFmri@snapshot] [-o property=value] ... BeFmri
beadm create BeFmri@snapshot
beadm destroy [-fF] {BeFmri | BeFmriPattern}... | BeFmri@snapshot ... beadm destroy [-fF] -O

Описание

Команда beadm - это пользовательский интерфейс для управления ZFS Boot Environments (BEs). Эта утилита предназначена для работы системных администраторов, которые хотят управлять несколькими экземплярами Oracle Solaris на одной системе. Пользователи определяют несколько BE, управляемые BeFmris. Более подробная информация про BeFmris приводится здесь: fmri(7) man page.

С помощью beadm Выможете делать следующее:

  • Создавать новый BE на основе активного BE.

  • Создавать новый BE на основе неактивного BE.

  • Создавать снапшот (слепок) существующего BE.

  • Создавать новый BE на основе существующего снапшота.

  • Активироать существующий неактивный BE.

  • Монтировать BE.

  • Размонтировать BE.

  • Удалять BE.

  • Удалять снапшот BE.

  • Переименовывать существующий неактивный BE.

  • Устанавливать атрибут policy на набор из нескольких BE.

  • Получать информацию о снапшотах, наборах данных (datasets) неглобальных зонах BE.

Подкоманды

У команды beadm имеются подкомандыи опции, которые приводятся ниже. Как пользоваться многими из них можно посмотреть в разделе EXAMPLES ниже.

  • beadm (без аргументов)

Выводит справку, как пользоваться командой.

  • beadm create [–a] [–d description] [–e non-activeBeFmri | BeFmri@snapshot] [–o property=value] ... BeFmri

Создаёт новый BE с именем BeFmri. Если опция –e не указывается, то новый BE будет создан как клон текущего работающего BE. Если указана опция –d, то description будет использоваться в качестве названия точки входа нового BE в меню GRUB (для систем x86) или в загрузочном меню (для систем SPARC). Если опция –d не указывается, то в качестве названия используется BeFmri. Также опция –e не может применяться к незагружаемым BE и снапшотам незагружаемых BE.

–a

Активирует вновь соданный BE в процессе создания. По умолчанию новый BE не активируется.

–d description

Создаёт новый BE с этим описанием.

–e non-activeBeFmri

Создаёт новый BE из существующего неактивного BE, который находится в этом жеzpool , что и новый BE. Копирование BE между пулами запрещено. В BE зоны эта опция может применяться только к загружаемым BE.

–e beFmri@snapshot

Создаёт новый BE из существующего снапшота BE с именем beFmri. Эта опция в BE зоны может применяться только к снапшотам загружаемых BE.

–o property=value

Создаёт наборы данных для нового BE с указанными пропертями ZFS. Можно указывать несколько опций –o. Более подробно об этой опции написано в zfs(8).

  • beadm create BeFmri@snapshot

Создаёт снапшот из существующего BE с именем beFmri. В BE зоны применяется только к загружаемым BE.

  • beadm destroy [–fF] {BeFmri | BeFmriPattern} ... | BeFmri@snapshot ...

Удаляет один или несколько BE или снапшотов существующих BE в соответствии с BeFmri или BeFmriPattern.

BeFmriPattern позволяет включать символы ? или *, как glob(3C)-style wildcards в имени BE или поле zbe-name BeFmri, что соответствует одному или нескольким BE. Символы ? и * не допускаются в поле zpool и zonename BeFmri.

Note : При удалении BE все снапшоты этого BE тоже будут удалены. Поэтому будьте внимательны.

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

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

–f

Принудительно размонтирует BE, если он в настоящий момент смонтирован.

–F

Выполяется без запроса подтверждения на удаление BE.

–O

Удаляет все BE, потерянные (оставшиеся без родительских) BE. Ей можно пользоваться только внутри зон Solaris.

  • beadm list [[[–a | –ds] [–Z]] | [–o attr[,attr]...]...] [–H] [{BeFmri| BeFmriPattern}...]

Выводит инфоормацию о существующих BE, соответствующих указааным BeFmri или BeFmriPattern. Если же BeFmri или BeFmriPattern не указаны, то выводится инфоормация обо всех BE в пуле текущего BE. Для вывода информации о BE, не принадлежащих пулам текущего BE, нужно указать BeFmriPattern be://<zpool_name>/*.

При выводе списка поле Flags показывает, активен ли BE в настоящий момент (N), будет ли он активен при перезагрузке (R) или и то, и другое (NR). Незагружаемые BE глобальной зоны помечаются восклицательным знаком (!). В таких BE версия поддерживаемого пула ZFS меньше, чем версия загрузочного пула. Незагружаемые BE внутри зоны BE также помечаются восклицательным знаком (!). В таких зонах флаг ! означает, что загрузочные артифакты BE находятся вне загрузочного пула, и т.о. BE НЕ МОЖЕТ быть загружен непосредственно. (Для перемещения загрузочных артифактов в загрузочный пул BE или активируйте BE подкомандой activate, или измените политику BE на noevict при помощи подкоманды set-policy). BE зоны, не имеющие соответствующих BE глобальной зоны, помечаются символом (O), что означает, что у них нет родительского BE.

–a

Выводит всю имеющуюся информацию о BE, включая подчинённые файловые системы и снапшоты.

–d

Выводит информацию обо всех подчинённых файловых системах, принадлежащих BE.

–s

Выводит информацию о снапшотах BE.

–Z

Выводит все BE зоны, ассоциированные с BE глобальной зоны. Эта опция может применяться только из глобальной зоны.

–o attr

Выводит указанные атрибуты, отсортированные по значению первого из перечисленных атрибутов. Опция –o может быть указана несколько раз, или в одной опции можно указать несколько атрибутов, разделяемых запятыми.

Опция –o может быть использована без параметров для вывода атрибутов в табличном виде. Её можно использовать вместе с опцией –H для получения вывода с ; в качестве разделителя.

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

Если при выводе атрибутов с множественными значениями указаны обе опции - –o и –H, то множественные значения упаковываются в одну строку с : в качестве разделителя.

Можно указывать атрибуты из списка, приведённого ниже (имена атрибутов чувствительны к регистру).

created

Дата создания BE.

datasets

Выводит все подчинённые файловые системы BE. Этот атрибут может иметь множественные значения.

flags

Выводит информацию, как описано выше для поля Flags.

fmri

FMRI этого BE.

mountpoint

Точка монтирования BE, если он смонтирован. Если BE не смонтирован, то поле остаётся пустым.

name

Имя BE.

ngz_bes

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

parent_fmri

FMRI родительского BE для BE неглобальной зоны. Это поле используется только с BE неглобальной зоны. Для BE глобальной зоны оно будет пустым.

parent_uuid

UUID родительского BE для BE неглобальной зоны. Это поле используется только с BE неглобальной зоны. Для BE глобальной зоны оно будет пустым.

policy

Политика BE.

pool_version

Максимальная поддерживаемая BE версия пула, если известна. Если неизвестна, выводится (-). Проперти pool_version очищается, когда BE монтируется для четния/записи, и обновляется, когда BE размонтируется, т.е. когда любой неактивный BE монтируется для чтения/записи, её значение неопределено.

root_dataset

Имя файловой системы ZFS корневого набора данных BE.

snapshots

Выводит снапшоты ZFS, принадлежащие BE. Этот атрибут может иметь множественные значения.

space

Общий размер BE.

uuid

UUID BE. Это поле может быть пустым для BE неглобальной зоны.

zpool

Имя пула, в котором находится BE.

–H

Запрашивает форматный вывод. Формат вывода - список строк с полями, разделёнными ;. Поле размера отображается в байтах, а поле даты создания отображается в формате UTC.

Без опций выводится одна строка со следующими полями для каждого BE. При запуске в глобальной зоне поле uuid - это uuid BE, если есть. Это поле будет пустым, если значение отсутствует. При запуске в неглобальной зоне поле uuid представляет uuid ассоциированного родительского BE.

Если указаны опции –a, –d, или –s, одна или несколько следующих строк выводится для каждого BE. fs_name в этом случае или имя файловой системы ZFS, или имя снапшота ZFS, в зависимости от того, указана опция –d или –s.

Если указана опция –Z, для каждого BE неглобальной зоны выводится одна или несколько строк следующего формата. be-name - имя BE глобальной зоны, ассоциированного с BE неглобальной зоны. Все остальные поля - атрибуты BE неглобальной зоны.

Если указана опция –o, значения указанных атрибутов выводятся как строка с полями, разделёнными ;.

  • beadm list –z zonename [–z zonename]... [[–a | –ds] | [–o attr[,attr]...]...] [–H]

Выводит информацию обо всех BE зоны в указанных зонах. Эта команда работает только из глобальлной зоны. Указанное имя zonename должно быть определно в текущем глобальном BE.

–a

Выводит всю доступную информацию о каждом BE зоны, включая подчинённые файловые системы и снапшоты.

–d

Выводит информацию обо всех подчинённых файловых системах, принадлежащих каждому BE зоны.

–s

Выводит информацию о снапшотах каждого BE зоны.

–o attr

Выводит информацию об указанных атрибутах каждого BE зоны, отсортированную по значению первого выводимого атрибута. Опция –o может быть указана несколько раз, или в одной опции можно указать несколько атрибутов, разделяемых запятыми. Список допустимых имён атрибутов был приведён выше.

–H

Не выводит заголовок. Каждое поле в списке оделяется ;.

Без опций выводится одна строка со следующими полями для каждого BE зоны:

Если указаны опции –a, –d, или –s, одна или несколько следующих строк выводится для каждого BE зоны:

Если указана опция –o, указанные атрибуты выводятся в виде строк с полями, разделяемыми ;.

–z zonename

Выводит все BE в указанной зоне. Для вывода BE из нескольких зон укажите опцию –z несколько раз.

  • beadm mount [–b] BeFmri mountpoint

Монтирует BE с именем BeFmri в mountpoint. mountpoint должна быть существующая пустая директория.

Если в командную строку включён аргумент –b, и если есть активный загрузочный набор данных, ассоциированный с указанным BE, этот загрузочный набор данных будет смонтирован в <mountpoint>/bootpool_data. Эта директория создаётся автоматически при монтировании набора данных и автоматически удаляется при размонтировании BE подкомандой beadm unmount.

Note : при размонтировании BE другим способом эта директория не НЕ очищается.

  • beadm unmount [–f] BeFmri

Размонтирует BE с именем BeFmri.

–f

Размонтирует BE принудительно, даже если он занят в текущий момент.

  • beadm rename BeFmri newBeFmri

Переименовывает BE с именем BeFmri в newBeFmri. Для BE зоны можно переименовать только загружаемые BE.

  • beadm set-policy {–n [-]policy [–n [-]policy2] ...} BeFmri [BeFmri2] ...

Устанавливает (или стирает) указанный набор политик для указанного списка BE. Допускается множественный аргумент –n. Строка политики, следующая за –n, может начинаться с дефиса. Если она начинается с дефиса, то эта политика удаляется с указанных BE. Текущий набор поддерживаемых политик:

static

BE, ассоциированный с корневым пулом, управляется вручную, а соответствующий загрузочный набор данных (dataset) в загрузочном пуле управляется системой (если существует активный загрузочный пул).

auto

Если ассоциированный BE создан сервисом автоматического обновления системы svc:/system/auto-update:default, то он будет автоматически удаляться экземпляром svc:/system/auto-update:cleanup в соответствии с проперти config/keep.

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

Политику auto нельзя установить при помощи beadm, он устанавливается только при создании BE сервисом автоматического обновления.

noevict

Работает для корневого набора данных пула BE так же, как и политика static, но соответствующий загрузочный набор данных в загрузочном пуле (если существует активный загрузочный пул) создаётся (если его ещё нет) и никогда не удаляется, даже если нехватка доступного пространства в загрузочном пуле не позволяет перенести соответствующий загрузочный набор данных другого BE в загрузочный пул.

NOTE : Размер загрузочного пула не может превышать 85% от максимально доступного места для сохранения максимальной производительности системы.

  • beadm activate