В этой главе описывается установка и загрузка файловой системы ZFS. Обсуждается также переход с корневой файловой системы UFS на корневую файловую систему ZFS с помощью Solaris Live Upgrade.
В этой главе содержатся следующие разделы:
Требования к установке Solaris и Solaris Live Upgrade для поддержки ZFS
Установка корневой файловой системы ZFS (начальная установка)
Установка корневой файловой системы ZFS (установка архива на флеш-накопителе)
Установка корневой файловой системы ZFS (установка методом JumpStart)
Переход корневой файловой системы UFS в корневую файловую систему ZFS (Solaris Live Upgrade)
Восстановление корневого пула ZFS или снимков корневого пула
Список известных проблем данной версии приведен в сопроводительной документации к Solaris 10 10/09.
Для получения самой свежей информации по диагностике проблем посетите следующий сайт:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Начиная с версии Solaris 10 10/08 установку и загрузку с файловой системы ZFS можно проводить следующими способами:
Там, где ZFS выбрана в качестве корневой файловой системы, можно выполнить начальную установку.
Solaris Live Upgrade можно использовать для переход с корневой файловой системы UFS в корневую файловую систему ZFS. Кроме того, можно использовать Solaris Live Upgrade для выполнения следующих задач:
Создание новой среды загрузки в существующем корневом пуле ZFS
Создание новой среды загрузки в новом корневом пуле ZFS
Пользователь может использовать профиль Solaris JumpStart для автоматической установки системы с корневой файловой системой ZFS.
В версии 10 10/09 пользователь может использовать профиль JumpStart для автоматической установки системы с помощью архива ZFS на флеш-накопителе.
После установки на компьютере с архитектурой SPARC или x86 корневой файловой системы ZFS или перехода такого компьютера на корневую файловую систему ZFS он автоматически загружается из корневой файловой системы ZFS. Дополнительная информация об изменениях загрузки приведена в разделе Загрузка с корневой файловой системы ZFS.
В данной версии ОС Solaris предоставляются следующие функциональные возможности установки:
С помощью интерактивной текстовой программы установки Solaris можно установить корневую файловую систему ZFS или UFS. По умолчанию в данной версии Solaris все еще используется файловая система UFS. К параметрам интерактивной текстовой программы установки можно получить доступ следующими способами:
На компьютерах с архитектурой SPARC при установке Solaris с DVD используйте следующую команду:
ok boot cdrom - text |
На компьютерах с архитектурой SPARC при загрузке по сети используйте следующую команду:
ok boot net - text |
На компьютерах с архитектурой x86, когда система выдаст запрос, выберите текстовый режим установки.
Настройка JumpStartTM обеспечивает следующие возможности:
Пользователь может настроить профиль для создания пула устройств хранения ZFS и назначить загружаемую файловую систему ZFS.
Пользователь может настроить профиль для определения архива на флеш-накопителе корневого пула ZFS.
Функцию Solaris Live Upgrade можно использовать для перехода с корневой файловой системы UFS на корневую файловую систему ZFS. Возможности команд lucreate и luactivate были расширены для поддержки пулов ZFS и файловых систем. Команды lustatus и ludelete работают так же, как и в предыдущих версиях Solaris.
Выбрав во время установки два диска, можно создать зеркальный корневой пул ZFS. Для создания зеркального корневого пула ZFS можно также прикрепить дополнительные диски после установки.
Устройства подкачки и дампа в томах ZFS корневого пула ZFS создаются автоматически.
Следующие функциональные возможности установки не предоставляются в данной версии:
Установка корневой файловой системы ZFS через графический интерфейс пользователя в настоящее время недоступна.
Функция установки SolarisTM с флеш-накопителя для установки корневой файловой системы ZFS недоступна при выборе параметра установки с флеш-накопителя при настройке начальной установки. Однако пользователь может создать профиль JumpStart для идентификации флеш-накопителя корневого пула ZFS. Для получения подробных сведений см. Установка корневой файловой системы ZFS (установка архива на флеш-накопителе).
Нельзя использовать стандартную программу обновления для обновления файловой системы UFS до корневой файловой системы ZFS. Если существует хотя бы один загружаемый подраздел UFS, стандартная возможность обновления должна быть доступна. Если загружаемые пулы ZFS существуют, а загружаемого подраздела UFS не существует, обновление можно проводить только с помощью Live Upgrade, но не с помощью стандартной программы обновления. Если загружаемый подраздел UFS и загружаемый пул ZFS существуют, стандартная возможность обновления должна быть доступна, но обновление должно быть доступно только для подраздела UFS.
Прежде чем предпринять попытку установить систему с корневой файловой системой ZFS или выполнить переход с корневой файловой системы UFS на корневую файловую систему ZFS, убедитесь, что выполняются следующие требования.
Установку и загрузку корневой файловой системы ZFS или перенос на корневую файловую систему ZFS можно выполнить одним из следующих способов.
Установка корневой файловой системы ZFS – доступна начиная с версии Solaris 10 10/08.
Перенос с корневой файловой системы UFS на корневую файловую систему ZFS с помощью Live Upgrade – должен быть установлен выпуск ОС Solaris 10 10/08 или выше, либо должно быть выполнено обновление до выпуска Solaris 10 10/08 или выше.
Ознакомьтесь со следующими разделами, в которых описываются требования к объемам и настройке пула устройств хранения данных ZFS.
Необходимый минимальный доступный объем в пуле для корневой файловой системы ZFS больше, чем для корневой файловой системы UFS, потому что в корневой среде ZFS для свопинга и дампа требуются отдельные устройства. В корневой файловой системе UFS для подкачки и дампа по умолчанию используется одно и то же устройство.
При установке или обновлении системы с корневой файловой системой ZFS размер области подкачки и устройства дампа зависят от количества физической памяти. Минимальный доступный объем пула для загружаемой корневой файловой системы ZFS зависит от количества физической памяти, доступного пространства на диске и количества создаваемых загрузочных сред (boot environment, BE).
Ознакомьтесь со следующими требованиями к объемам для пула устройств хранения данных ZFS:
768 МБ – минимальный объем памяти, необходимый для установки корневой файловой системы ZFS.
Для оптимизации общей производительности ZFS рекомендуется использовать 1 ГБ памяти.
Рекомендуется использовать по крайней мере 16 ГБ дискового пространства. Пространство используется следующим образом:
Настройка области подкачки и устройства дампа – с помощью программ установки Solaris создаются тома подкачки и дампа следующих стандартных размеров:
Первоначальная установка Solaris – по умолчанию в новой BE ZFS размер тома подкачки вычисляется на основе половины объема физической памяти в диапазоне от 512 МБ до 2 ГБ. Во время первоначальной установки размер тома подкачки можно отрегулировать.
Размер тома дампа по умолчанию вычисляется в ядре на основе данных команды dumpadm и размера физической памяти. Во время первоначальной установки размер тома для дампа можно отрегулировать.
Solaris Live Upgrade – при переходе с корневой файловой системы UFS на корневую файловую систему ZFS расчетный размер тома подкачки по умолчанию для среды загрузки ZFS равен размеру устройства подкачки в среде загрузки UFS. При расчете размера тома подкачки просто суммируются размеры всех устройств подкачки в среде загрузки UFS, после чего в среде загрузки ZFS создается том ZFS соответствующего размера. Если в среде загрузки UFS не определены устройства подкачки, по умолчанию устанавливается размер тома подкачки, равный 512 МБ.
По умолчанию в BE ZFS размер тома для дампа устанавливается в размере половины объема физической памяти в диапазоне от 512 МБ до 2 ГБ.
Размеры томов подкачки и дампа можно отрегулировать в соответствии с конкретными требованиями, однако выбранные размеры должны обеспечивать надежное функционирование системы. Дополнительная информация приведена в разделе Изменение размеров устройств свопинга и дампа ZFS.
Среда загрузки (BE). Помимо новых требований к объемам для подкачки и дампа или измененных размеров устройств подкачки и дампа среде загрузки ZFS, в которую происходит переход из среды загрузки UFS, нужно приблизительно 6 ГБ. Каждой среде загрузки ZFS, клонируемой из другой среды загрузки ZFS, не требуется дополнительное место на диске, но следует принимать во внимание, что размер среды загрузки может возрасти после установки исправлений. Все среды загрузки ZFS одного корневого пула используют одни и те же устройства подкачки и дампа.
Например, система с 12 ГБ дискового пространства может оказаться слишком маленькой для загружаемой среды ZFS, потому что 2 ГБ дискового пространства необходимо для каждого устройства подкачки и дампа, и примерно 6 ГБ дискового пространства – для среды загрузки ZFS, в которую происходит переход из среды загрузки UFS.
Ознакомьтесь со следующими требованиями к настройке для пула устройств хранения ZFS:
Пул, который будет корневым, должен иметь метку SMI. Это требование должно быть выполнено, если пул создается с дисковыми подразделами.
Пул устанавливается либо в подразделе диска, либо на зеркалированных подразделах диска. При попытке использовать неподдерживаемую настройку пула при переносе с помощью Live Upgrade будет выдано примерно такое сообщение:
ERROR: ZFS pool name does not support boot environments |
Подробное описание конфигурация корневого пула ZFS представлено в разделе Создание корневого пула ZFS.
На компьютерах с архитектурой x86 диск должен содержать раздел fdisk Solaris. Раздел fdisk Solaris создается автоматически во время установки системы на компьютере с архитектурой x86. Для получения дополнительных сведений относительно разделов fdisk Solaris см. раздел Guidelines for Creating an fdisk Partition в System Administration Guide: Devices and File Systems.
Размер дисков, назначенных для загрузки в корневом пуле ZFS, не должен превышать 1 ТБ как на компьютерах архитектуры SPARC, так и на и компьютерах архитектуры x86.
Для корневого пула может быть активировано сжатие, однако только после установки пула. Включение сжатия для корневого пула во время установки невозможно. Для корневых пулов не поддерживается алгоритм сжатия gzip.
В данной версии Solaris можно выполнить начальную установку с помощью интерактивной текстовой программы установки Solaris для создания пула устройств хранения ZFS, содержащего загружаемую корневую файловую систему ZFS. Если существует пул устройств хранения ZFS, который нужно использовать для корневой файловой системы ZFS, используйте Solaris Live Upgrade для перехода с существующей корневой файловой системы UFS в корневую файловую систему ZFS в существующем пуле устройств хранения ZFS. Дополнительная информация приведена в разделе Переход корневой файловой системы UFS в корневую файловую систему ZFS (Solaris Live Upgrade).
Если настройка зон выполняется после первоначальной установки корневой файловой системы ZFS, и в дальнейшем предполагается установка исправлений и обновление системы, см. раздел Перенос или обновление системы с зонами с помощью Solaris Live Upgrade (Solaris 10 10/08) или Перенос или обновление системы с зонами с помощью Solaris Live Upgrade (Solaris 10 5/09 и Solaris 10 10/09).
Если в системе уже есть пулы хранения ZFS, это подтверждается следующим сообщением, но эти пулы не будут затронуты, пока вы не выберете диски существующих пулов для создания нового пула хранения.
There are existing ZFS pools available on this system. However, they can only be upgraded using the Live Upgrade tools. The following screens will only allow you to install a ZFS root system, not upgrade one. |
Если какой-либо из дисков выбран для нового пула, имеющиеся пулы будут уничтожены.
Прежде чем приступить к начальной установке для создания пула устройств хранения ZFS, ознакомьтесь с разделом Требования к установке Solaris и Solaris Live Upgrade для поддержки ZFS .
Процесс интерактивной установки Solaris в текстовом режиме почти не изменился по сравнению с предыдущими версиями Solaris, за исключением того, что система спрашивает, какую корневую файловую систему нужно создать – UFS или ZFS. По умолчанию в этой версии все еще используется файловая система UFS. Если выбрать корневую файловую систему ZFS, система выведет запрос для создания пула устройств хранения ZFS. Установка корневой файловой системы ZFS включает в себя следующие действия:
Выберите метод интерактивной установки Solaris, поскольку установка путем клонирования Solaris не может создать загружаемую корневую файловую систему ZFS. Однако пользователь может создать архив ZFS на флеш-накопителе для использования во время установки методом JumpStart. Для получения подробных сведений см. Установка корневой файловой системы ZFS (установка архива на флеш-накопителе).
Начиная с версии Solaris 10 10/08 пользователь может перенести корневую файловую систему UFS в корневую файловую систему ZFS после установки версии Solaris 10 10/08 или выше. Дополнительная информация о переходе на корневую файловую систему ZFS приведена в разделе Переход корневой файловой системы UFS в корневую файловую систему ZFS (Solaris Live Upgrade).
Если нужно создать корневую файловую систему ZFS, выберите пункт ZFS. Пример:
Choose Filesystem Type Select the filesystem to use for your Solaris installation [ ] UFS [X] ZFS |
После выбора программного обеспечения для установки появится приглашение выбрать диски для создания пула хранения ZFS. Этот экран похож на экран в предыдущих версиях Solaris:
Select Disks On this screen you must select the disks for installing Solaris software. Start by looking at the Suggested Minimum field; this value is the approximate space needed to install the software you've selected. For ZFS, multiple disks will be configured as mirrors, so the disk you choose, or the slice within the disk must exceed the Suggested Minimum value. NOTE: ** denotes current boot disk Disk Device Available Space ============================================================================= [X] ** c1t1d0 69994 MB [ ] c1t2d0 69994 MB (F4 to edit) Maximum Root Size: 69994 MB Suggested Minimum: 7466 MB |
Можно выбрать диск или диски для использования в корневом пуле ZFS. Если выбраны два диска, для корневого пула настраивается конфигурация с двумя зеркалированными дисками. Оптимальным является пул с зеркалированием на базе двух или трех дисков. Если имеется восемь дисков и все они выбраны, корневой пул создается как одно большое зеркало на базе восьми дисков. Такая конфигурация не является оптимальной. Альтернативный способ заключается в создании зеркального корневого пула по завершении первоначальной установки. Конфигурация пула RAID-Z для корневого пула не поддерживается. Дополнительная информация о настройке пулов устройств хранения данных ZFS приведена в разделе Функции репликации пула устройств хранения данных ZFS.
Если для создания зеркалируемого корневого пула требуется выбрать два диска, используйте клавиши управления курсором для выбора второго диска. Например, для дисков корневого пула выбран как c1t1d1, так и c0t2d0. Оба диска должны иметь метку SMI и подраздел 0. Если диски не имеют метки SMI или содержат подразделы, следует закрыть программу установки, выполнить служебную программу format для изменения меток и деления диска на разделы, а затем снова запустить программу установки.
Select Disks On this screen you must select the disks for installing Solaris software. Start by looking at the Suggested Minimum field; this value is the approximate space needed to install the software you've selected. For ZFS, multiple disks will be configured as mirrors, so the disk you choose, or the slice within the disk must exceed the Suggested Minimum value. NOTE: ** denotes current boot disk Disk Device Available Space ============================================================================= [X] ** c1t1d0 69994 MB [X] c1t2d0 69994 MB (F4 to edit) Maximum Root Size: 69994 MB Suggested Minimum: 7466 MB |
Если в столбце "Доступное пространство" указано значение 0 МБ, обычно это свидетельствует о том, что данный диск имеет метку EFI.
После выбора диска или дисков для пула устройств хранения ZFS выводится экран следующего вида:
Configure ZFS Settings Specify the name of the pool to be created from the disk(s) you have chosen. Also specify the name of the dataset to be created within the pool that is to be used as the root directory for the filesystem. ZFS Pool Name: rpool ZFS Root Dataset Name: s10s_u8wos_08a ZFS Pool Size (in MB): 69994 Size of Swap Area (in MB): 2048 Size of Dump Area (in MB): 1024 (Pool size must be between 6442 MB and 69995 MB) [X] Keep / and /var combined [ ] Put /var on a separate dataset |
Из этого экрана можно изменить имя пула ZFS, набор данных, размер пула, размеры устройств подкачки и дампа, перемещаясь по записям с помощью клавиш передвижения курсора и заменяя текстовые значения по умолчанию на новые. Можно также принять значения по умолчанию. Кроме того, можно изменить способ создания и монтирования файловой системы /var.
В этом примере имя корневого набора данных меняется на zfs1009BE.
ZFS Pool Name: rpool ZFS Root Dataset Name: zfs1009BE ZFS Pool Size (in MB): 69994 Size of Swap Area (in MB): 2048 Size of Dump Area (in MB): 1024 (Pool size must be between 6442 MB and 69995 MB) [X] Keep / and /var combined [ ] Put /var on a separate dataset |
В этом последнем экране установки можно изменить профиль установки. Пример:
Profile The information shown below is your profile for installing Solaris software. It reflects the choices you've made on previous screens. ============================================================================ Installation Option: Initial Boot Device: c1t1d0 Root File System Type: ZFS Client Services: None Regions: North America System Locale: C ( C ) Software: Solaris 10, Entire Distribution Pool Name: rpool Boot Environment Name: zfs1009BE Pool Size: 69994 MB Devices in Pool: c1t1d0 c1t2d0 |
После завершения установки проверьте сведения о новом пуле устройств хранения ZFS и файловой системе. Пример:
# zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0 c1t2d0s0 ONLINE 0 0 0 errors: No known data errors # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.66G 60.3G 97K /rpool rpool/ROOT 4.66G 60.3G 21K legacy rpool/ROOT/zfs1009BE 4.66G 60.3G 4.66G / rpool/dump 1.00G 60.3G 1.00G - rpool/export 44K 60.3G 23K /export rpool/export/home 21K 60.3G 21K /export/home rpool/swap 1G 61.3G 16K - |
В образце вывода команды zfs list показаны компоненты корневого пула, например каталог rpool/ROOT, который по умолчанию недоступен.
Если вы первоначально создали пул устройств хранения ZFS с одним диском, можно преобразовать его в конфигурацию зеркалируемого ZFS после завершения установки, воспользовавшись командой zpool attach для прикрепления диска. Пример:
# zpool attach rpool c1t1d0s0 c1t2d0s0 # zpool status pool: rpool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scrub: resilver in progress for 0h0m, 5.03% done, 0h13m to go config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0 c1t2d0s0 ONLINE 0 0 0 errors: No known data errors |
На перенос данных на новый диск понадобится некоторое время, но пул по-прежнему доступен.
Пока дефект CR 6668666 не устранен, вам понадобится установить загрузочную информацию на дополнительно присоединенные диски с помощью команды installboot или installgrub, если нужно разрешить загрузку с других дисков зеркала. Если создается зеркалируемый корневой пул ZFS методом начальной установки, это действие не требуется. Дополнительная информация об установке загрузочной информации приведена в разделе Загрузка с другого диска в зеркалируемом корневом пуле ZFS.
Дополнительная информация о добавлении и прикреплении дисков приведена в разделе Управление устройствами в пулах устройств хранения данных ZFS.
Если нужно создать другую среду загрузки (BE) ZFS в том же пуле устройств хранения, можно использовать командуlucreate. В следующем примере создается новая BE с именем zfs10092BE. Текущая BE с именем zfs509BE, показанная в выводе zfs list, не распознается в выводе командыlustatus, пока не создана новая BE.
# lustatus ERROR: No boot environments are configured on this system ERROR: cannot determine list of all boot environment names |
Если в том же пуле создается новая среда загрузки ZFS, используйте следующую конструкцию:
# lucreate -n zfs10092BE Analyzing system configuration. No name for current boot environment. INFORMATION: The current boot environment is not named - assigning name <zfs1009BE>. Current boot environment is named <zfs1009BE>. Creating initial configuration for primary boot environment <zfs1009BE>. The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <zfs1009BE> PBE Boot Device </dev/dsk/c1t1d0s0>. Comparing source boot environment <zfs1009BE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs10092BE>. Source boot environment is <zfs1009BE>. Creating boot environment <zfs10092BE>. Cloning file systems from boot environment <zfs1009BE> to create boot environment <zfs10092BE>. Creating snapshot for <rpool/ROOT/zfs1009BE> on <rpool/ROOT/zfs1009BE@zfs10092BE>. Creating clone for <rpool/ROOT/zfs1009BE@zfs10092BE> on <rpool/ROOT/zfs10092BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs10092BE>. Population of boot environment <zfs10092BE> successful. Creation of boot environment <zfs10092BE> successful. |
При создании среды загрузки ZFS в том же пуле используются функциональные возможности клонов и снимков ZFS, так что BE создается мгновенно. Дополнительная информация об использовании Solaris Live Upgrade для перехода корня ZFS приведена в разделе Переход корневой файловой системы UFS в корневую файловую систему ZFS (Solaris Live Upgrade).
Затем проверьте новые среды загрузки. Пример:
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs1009BE yes yes yes no - zfs10092BE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.66G 60.3G 97K /rpool rpool/ROOT 4.66G 60.3G 21K legacy rpool/ROOT/zfs10092BE 93K 60.3G 4.66G / rpool/ROOT/zfs1009BE 4.66G 60.3G 4.66G / rpool/ROOT/zfs1009BE@zfs10092BE 81.5K - 4.66G - rpool/dump 1.00G 60.3G 1.00G - rpool/export 44K 60.3G 23K /export rpool/export/home 21K 60.3G 21K /export/home rpool/swap 1G 61.3G 16K - |
Если нужно загрузиться из другой среды загрузки, используйте команду luactivate. После активации среды загрузки на компьютере архитектуры SPARC используйте команду boot-L для обнаружения доступных сред загрузки, когда загрузочное устройство содержит пул устройств хранения ZFS. При загрузке с компьютера архитектуры x86 укажите нужную среду загрузки из меню GRUB.
Например, на компьютерах с архитектурой SPARC используйте команду boot-L для вывода списка доступных сред загрузки. Для загрузки из новой среды загрузки zfs5092BE выберите параметр 2. Затем введите показанную команду boot -Z.
ok boot -L Executing last command: boot -L Boot device: /pci@1f,0/pci@1/scsi@8/disk@0,0:a File and args: -L 1 zfs1009BE 2 zfs10092BE Select environment to boot: [ 1 - 2 ]: 2 To boot the selected entry, invoke: boot [<root-device>] -Z rpool/ROOT/zfs10092BE ok boot -Z rpool/ROOT/zfs10092BE |
Дополнительная информация о загрузке файловой системы ZFS приведена в разделе Загрузка с корневой файловой системы ZFS.
В версии Solaris 10 10/09 возможно создание архива на флеш-накопителе в системе, использующей корневую файловую систему UFS или ZFS. Архив корневого пула ZFS на флеш-накопителе содержит полную корневую иерархию, кроме разделов подкачки и дампа, а также исключенных наборов данных. Разделы подкачки и дампа создаются при подключении архива на флеш-накопителе. Можно использовать один из следующих методов установки архива на флеш-накопителе:
создайте архив на флеш-накопителе, который может быть использован для установки и загрузки системы, работающей с корневой файловой системой ZFS;
выполните установку системы JumpStart, используя архив ZFS на флеш-накопителе. При создании архива ZFS на флеш-накопителе в него клонируется весь корневой пул, а не отдельные загрузочные среды. Отдельные наборы данных могут быть исключены из архивируемого пула с помощью команды flarcreate и команды flar, выполненной с параметром- D.
Перед установкой системы с помощью архива ZFS на флеш-накопителе ознакомьтесь со следующими ограничениями:
Поддерживается установка архива ZFS на флеш-накопителе только методом JumpStart. Использование интерактивной установки архива на флеш-накопителе для установки системы с корневой файловой системой ZFS невозможно. Кроме того, также невозможно использовать архив на флеш-накопителе для установки среды загрузки ZFS с помощью Solaris Live Upgrade.
В случае применения архива ZFS на флеш-накопителе пользователь может установить систему только с такой же архитектурой. Например, архив, созданный на системе sun4u, не может быть установлен в системе sun4v.
Поддерживается только полная первоначальная установка архива ZFS на флеш-накопителе. Создание дифференциального архива на флеш-накопителе для корневой файловой системы невозможно, равно как и установка гибридного архива UFS/ZFS.
Имеющиеся архивы UFS на флеш-накопителях могут использоваться для установки корневой файловой системы UFS. Архивы ZFS на флеш-накопителях могут использоваться только для установки корневой файловой системы ZFS.
Хотя архивируется и устанавливается весь корневой пул (кроме специально исключенных наборов данных), после установке архива на флеш-накопителе возможно использование только среды загрузки ZFS, которая была загружена при создании архива. Однако пулы, архивированные посредством команд flar или flarcreate с параметром - R rootdir могут применяться для архивации корневого пула, отличающегося от текущего загруженного пула.
Имя корневого пула ZFS, созданного с помощью архива на флеш-накопителе, должно совпадать с именем основного корневого пула. Имя корневого пула, который используется для создания архива на флеш-накопителе, является именем, назначенным для нового созданного пула. Изменение имени пула не поддерживается.
Параметры команд flarcreate и flar для включения или исключения отдельных файлов не поддерживаются архивом ZFS на флеш-накопителе. Для архивов на флеш-накопителе возможно исключение только целых наборов данных.
Команда flar info не поддерживается для архива ZFS на флеш-накопителе. Пример:
# flar info -l zfs10u8flar ERROR: archive content listing not supported for zfs archives. |
После установки или обновления основной системы до версии Solaris 10 10/09 можно создать архив ZFS на флеш-накопителе для выполнения установки в целевой системе. Ниже приведено описание базового процесса.
Установите версию Solaris 10 10/09 или обновите основную систему до этой версии. Добавьте любые пользовательские настройки.
Создайте архив ZFS на флеш-накопителе в основной системе с помощью команды flarcreate. За исключением томов подкачки и дампа все наборы данных будут включены в архив ZFS на флеш-накопителе.
Создайте профиль JumpStart для включения информации об архиве на флеш-накопителе на сервере установки.
Установите архив ZFS на флеш-накопителе в целевой системе.
При установке корневого пула ZFS с помощью архива на флеш-накопителе поддерживаются следующие параметры архива.
Используйте команду flarcreate или flar для создания архива на флеш-накопителе из указанного корневого пула ZFS. Если не указано иначе, будет создан архив на флеш-накопителе для корневого пула по умолчанию.
Используйте flarcreate -D набор данных для исключения определенных наборов данных из архива на флеш-накопителе. Данный параметр может использоваться несколько раз, чтобы исключить из архива разные наборы данных.
После установки архива ZFS на флеш-накопителе система имеет следующую конфигурацию.
Вся иерархия набора данных, существовавшая на системе, где был создан архив на флеш-накопителе, восстанавливается в целевой системе, за исключением любых наборов данных, которые были специально исключены во время создания архива. Тома подкачки и дампа не включаются в архив на флеш-накопителе.
Корневой пул имеет то же имя, что и пул, использовавшийся для создания архива.
Среда загрузки, которая была активна при создании архива на флеш-накопителе, является активной средой загрузки по умолчанию и на развернутых системах.
Создайте архив на флеш-накопителе для корневого пула ZFS после установки основной системы или ее обновления до версии Solaris 10 10/09. Пример:
# flarcreate -n zfs10u8BE zfs10u8flar Full Flash Checking integrity... Integrity OK. Running precreation scripts... Precreation scripts done. Determining the size of the archive... The archive will be approximately 4.94GB. Creating the archive... Archive creation complete. Running postcreation scripts... Postcreation scripts done. Running pre-exit scripts... Pre-exit scripts done. |
Создайте в системе, которая будет использоваться в качестве сервера установки, профиль JumpStart, как для установки любой другой системы. Например, для установки архива zfs10u8flar используется следующий профиль.
install_type flash_install archive_location nfs system:/export/jump/zfs10u8flar partitioning explicit pool rpool auto auto auto mirror c0t1d0s0 c0t0d0s0 |
Можно создать профиль JumpStart для установки корневой файловой системы ZFS или корневой файловой системы UFS. Если профиль настроен для установки корневой файловой системы UFS, все существующие ключевые слова профиля работают как в предыдущих версиях Solaris.
Профиль, специфичный для ZFS, должен содержать новое ключевое слово pool . Ключевое слово pool устанавливает новый корневой пул, и по умолчанию создается новая среда загрузки. Можно задать имя среды загрузки и создать отдельный набор данных /var с ключевыми словами bootenv installbe и опциями bename и dataset.
Для получения информации об установке в режиме JumpStart см. Solaris 10 Installation Guide: Custom JumpStart and Advanced Installations.
Если после установки корневой файловой системы ZFS методом JumpStart будет выполняться настройка зон и в дальнейшем планируется осуществить исправление или обновление системы, см. раздел Перенос или обновление системы с зонами с помощью Solaris Live Upgrade (Solaris 10 10/08).
В данном разделе предоставлены примеры специфичных для ZFS профилей JumpStart.
Следующий профиль выполняет начальную установку, заданную командой install_type initial-install в новом пуле, связанном с пулом pool newpool, размер которого с помощью ключевого слова auto автоматически устанавливается равным размеру указанных дисков. На зеркалируемых дисках размеры области подкачки и устройства дампа устанавливаются автоматически с помощью ключевого слова auto (используется ключевое слово mirror, а диски указаны как c0t0d0s0 и c0t1d0s0). Характеристики среды загрузки устанавливаются с ключевым словом bootenv для установки новой BE с помощью ключевого слова installbe , и создается bename с именем s10up-xx.
install_type initial_install pool newpool auto auto auto mirror c0t0d0s0 c0t1d0s0 bootenv installbe bename s10up-xx |
Следующий профиль выполняет начальную установку с ключевым словом install_type initial-install метакластера SUNWCall в новом пуле с именем newpool размером 80 ГБ. Этот пул создается с томом подкачки объемом 2 ГБ и томом дампа объемом 2 ГБ, в зеркалируемой конфигурации из любых двух доступных устройств, достаточно больших для создания пула размером 80 ГБ. Если нет двух доступных устройств такого типа, установка завершается сбоем. Характеристики среды загрузки устанавливаются с ключевым словом bootenv для установки новой BE с помощью ключевого слова installbe , и создается bename с именем s10up-xx.
install_type initial_install cluster SUNWCall pool newpool 80g 2g 2g mirror any any bootenv installbe bename s10up-xx |
Синтаксис установки с помощью JumpStart позволяет сохранить или создать файловую систему UFS на диске, также содержащем корневой пул ZFS. Подобная схема не рекомендуется для продуктивных систем, однако может подойти для нужд перехода в небольшой системе, например, на портативном компьютере.
В профиле, специфичном для ZFS, допускаются следующие ключевые слова:
Автоматически указывает размер подразделов для пула, объема области подкачки или дампа. Размер диска проверяется, чтобы убедиться, что выполнены требования сведения размера к минимуму. Если требования сведения размера к минимуму выполнены, для пула выделяется максимально возможный размер, принимая во внимание ограничения: размер дисков, сохраняемые подразделы и т. п.
Например, если указать c0t0d0s0, создается подраздел как можно большего размера, если указать ключевые слова all или auto. Можно также указать размер подраздела, тома подкачки или дампа в явном виде.
Ключевое слово auto при использовании с корневым пулом ZFS работает подобно ключевому слову all, поскольку у пулов нет понятия неиспользуемого объема.
Это ключевое слово показывает характеристики среды загрузки.
Ключевое слово bootenv уже существует, но у него появились новые параметры. Для создания загружаемой корневой среды ZFS ключевое слово bootenv используется в следующей конструкции:
bootenv installbe bename BE-name [ dataset mount-point]
Создает новую BE, опознаваемую параметром bename и записью BE-name, и устанавливает ее.
Задает BE-name для установки.
Если ключевое слово benameне использовать с ключевым словом pool , создается BE по умолчанию.
Используйте необязательное ключевое слово dataset для задания набора данных /var, отдельного от корневого набора данных. В настоящее время mount-point может принимать только значение /var. Например, командная строка bootenv для отдельного набора данных /var будет иметь приблизительно следующий вид:
bootenv installbe bename zfsroot dataset /var |
Указывает новый корневой пул, который будет создан. Необходимо использовать следующие ключевые слова:
poolname poolsize swapsize dumpsize vdevlist |
Задает имя пула, который должен быть создан. Пул создается с указанным размером size и указанными физическими устройствами (vdev). Параметр poolname не должен совпадать с именем существующего пула, иначе он будет переписан.
Указывает размер пула, который должен быть создан. Этот параметр может иметь значение auto или existing. Значение auto указывает, что нужно выделить максимально возможный размер пула, учитывая ограничения – размер дисков, сохраняемые подразделы и т. п. Значение existing означает, что границы существующих подразделов с этим именем будут сохранены и перезаписаны. Предполагается, что размер указан в мегабайтах, если не указан параметр g (гигабайты).
Указывает размер тома подкачки, который должен быть создан. Допускаются значения auto, означающее, что будет использован размер области подкачки по умолчанию, или size для явного указания размера. Предполагается, что размер указан в мегабайтах, если не задан параметр g (гигабайты).
Указывает размер тома дампа, который должен быть создан. Допускаются значения auto, означающее, что будет использован размер области подкачки по умолчанию, или size для явного указания размера. Предполагается, что размер указан в мегабайтах, если не задан параметр g (гигабайты).
Указывает одно или несколько устройств, которые используются для создания пула. Формат списка vdevlist тот же, что и у команды zpool create. В настоящее время при указании нескольких устройств поддерживаются только зеркалируемые конфигурации. Устройства в списке vdevlist должны быть подразделами для корневого пула. Строка any означает, что программа-установщик выберет подходящее устройство.
Можно зеркалировать сколько угодно дисков, но размер создаваемого пула определяется размером самого маленького из указанных дисков. Для получения дополнительной информации о создании пулов устройств хранения данных см. разделЗеркальная конфигурация пула устройств хранения данных.
До установки загружаемой корневой файловой системы ZFS методом JumpStart необходимо принять во внимание следующие проблемы:
Нельзя использовать существующий пул устройств хранения ZFS для установки JumpStart с целью создания загружаемой корневой файловой системы ZFS. Нужно создать новый пул устройств хранения данных ZFS, используя примерно такую конструкцию:
pool rpool 20G 4G 4G c0t0d0s0 |
Необходима вся строка с ключевым словом pool , поскольку вы не можете использовать существующий пул. Пример:
install_type initial_install cluster SUNWCall pool rpool 20G 4g 4g any bootenv installbe bename newBE |
Следует создать пул с дисковыми подразделами, а не целыми дисками, как описано в разделе Требования к установке Solaris и Solaris Live Upgrade для поддержки ZFS . Например, конструкция, выделенная жирным, неприемлема:
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0 c0t1d0 bootenv installbe bename newBE |
А в этом примере выделенная жирным конструкция приемлема:
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0s0 c0t1d0s0 bootenv installbe bename newBE |
Функциональные возможности Solaris Live Upgrade предыдущих версий по-прежнему доступны, и, если относятся к компонентам UFS, работают как в предыдущих версиях Solaris.
Доступны следующие функции:
При переходе корневой файловой системы UFS в корневую файловую систему ZFS нужно указать существующий пул устройств хранения ZFS с помощью параметра -p.
Если компоненты корневой файловой системы UFS располагаются на разных подразделах, выполняется их переход в корневой пул ZFS.
Перенос системы с зонами возможен, однако поддержка различных возможных конфигураций в Solaris 10 10/08 ограничена. Начиная с версии Solaris 10 5/09 реализована поддержка дополнительных конфигураций зон. С дополнительными сведениями можно ознакомиться в следующих разделах:
Если выполняется перенос системы без зон, см. раздел Использование Solaris Live Upgrade для перехода в корневую файловую систему ZFS (без зон).
При создании среды загрузки ZFS в том же пуле Solaris Live Upgrade может использовать моментальный снимок ZFS и функциональные возможности клонирования. Поэтому создание BE происходит гораздо быстрее, чем в предыдущих версиях Solaris.
Дополнительную информацию о функциональных возможностях установки Solaris и Solaris Live Upgrade см. в разделе Solaris 10 Installation Guide: Solaris Live Upgrade and Upgrade Planning
Базовый процесс для миграции корневой файловой системы UFS в корневую файловую систему ZFS выглядит следующим образом:
Установите Solaris версии 10 10/08, 10 5/09 или 10 10/09, либо воспользуйтесь стандартной программой обновления из предыдущих выпусков Solaris 10 на любом поддерживаемом компьютере с архитектурой SPARC или x 86.
Если необходимо, после установки или обновления до выпуска Solaris 10 10/08, 10 5/09 или 10 10/09 следует создать пул устройств хранения ZFS для корневой файловой системы ZFS.
Используйте Solaris Live Upgrade для перехода от корневой файловой системы UFS на корневую файловую систему ZFS.
Активируйте среду загрузки ZFS с помощью команды luactivate.
Дополнительная информация о требованиях к ZFS и Solaris Live Upgrade приведена в разделе Требования к установке Solaris и Solaris Live Upgrade для поддержки ZFS .
Перед использованием Solaris Live Upgrade для перехода корневой файловой системы UFS в корневую файловую систему ZFS ознакомьтесь со следующим списком проблем:
Возможность стандартного обновления установки Solaris с помощью графического интерфейса недоступна при переходе с UFS в корневую файловую систему ZFS. Для перехода с файловой системы UFS используйте Solaris Live Upgrade.
Нужно создать пул устройств хранения ZFS, который будет использован для загрузки до выполнения операции Solaris Live Upgrade. Кроме того, из-за ограничений загрузки в данной версии корневой пул ZFS должен быть создан с подразделами, а не с целыми дисками. Пример:
# zpool create rpool mirror c1t0d0s0 c1t1d0s0 |
До создания нового пула убедитесь, что диски, которые будут использованы в пуле, имеют метку SMI (VTOC), а не метку EFI. Если диск помечается заново меткой SMI, убедитесь, что процесс установки метки не изменил схему разделов диска. В большинстве случаев большая часть объема диска должна быть отведена под подразделы, предназначенные для корневого пула.
Нельзя использовать Solaris Live Upgrade для создания среды загрузки UFS из среды загрузки ZFS. При переходе среды загрузки UFS в среду загрузки ZFS, если сохраняется среда загрузки UFS, можно загружаться как из среды загрузки UFS, так и из среды загрузки ZFS.
Не переименовывайте среду загрузки ZFS с помощью команды zfs rename, поскольку Solaris Live Upgrade не будет знать об изменении имени. Последующие команды, такие как ludelete, завершатся ошибкой. И вообще не переименовывайте пулы ZFS и файловые системы, если существуют среды загрузки, которые вы планируете использовать по-прежнему.
Solaris Live Upgrade создает наборы данных для BE и томов ZFS для области подкачки и устройства дампа, но не учитывает всех изменений свойств существующих наборов данных. Таким образом, если свойство набора данных включено в новой BE, вы должны указать это свойство до выполнения операции lucreate. Пример:
# zfs set compression=on rpool/ROOT |
При создании альтернативной BE, которая представляет собой клон основной BE, вы не можете использовать параметры -f, -x, -y, - Y и -z для включения или исключения файлов из основной BE. Параметры включения и исключения файлов можно все же использовать в следующих случаях:
UFS -> UFS UFS -> ZFS ZFS -> ZFS (different pool) |
Хотя можно использовать Solaris Live Upgrade для обновления из корневой файловой системы UFS в корневую файловую систему ZFS, вы не можете использовать Solaris Live Upgrade для обновления некорневых файловых систем и файловых систем с общим доступом.
Нельзя использовать команду lu для создания или перехода корневой файловой системы ZFS.
В следующих примерах показан перенос с корневой файловой системы UFS в корневую файловую систему ZFS.
Сведения по переносу или обновлению системы с зонами приведены в следующих разделах:
Следующий пример демонстрирует создание BE корневой файловой системы ZFS из корневой файловой системы UFS. Текущая BE ufs509BE, содержащая корневую файловую систему UFS, указывается параметром -c. Если не указан дополнительный параметр -c, в качестве имени текущей среды загрузки по умолчанию используется имя устройства. Новая BE (zfs1009BE) указывается параметром -n. Пул устройств хранения ZFS должен существовать на момент выполнения операции lucreate.
Пул устройств хранения ZFS должен быть создан на подразделах, а не целых дисках, чтобы его можно было загружать и обновлять. До создания нового пула убедитесь, что диски, которые будут использованы в пуле, имеют метку SMI (VTOC), а не метку EFI. Если диск помечается заново меткой SMI, убедитесь, что процесс установки метки не изменил схему разделов диска. В большинстве случаев большая часть объема диска должна быть отведена под подразделы, предназначенные для корневого пула.
# zpool create mpool mirror c1t2d0s0 c2t1d0s0 # lucreate -c ufs1009BE -n zfs1009BE -p mpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <ufs1009BE>. Creating initial configuration for primary boot environment <ufs1009BE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <ufs1009BE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <ufs1009BE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t2d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfs1009BE>. Source boot environment is <ufs1009BE>. Creating boot environment <zfs1009BE>. Creating file systems on boot environment <zfs1009BE>. Creating <zfs> file system for </> in zone <global> on <mpool/ROOT/zfs1009BE>. Populating file systems on boot environment <zfs1009BE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Creating compare databases for boot environment <zfs1009BE>. Creating compare database for file system </mpool/ROOT>. Creating compare database for file system </>. Updating compare databases on boot environment <zfs1009BE>. Making boot environment <zfs1009BE> bootable. Creating boot_archive for /.alt.tmp.b-qD.mnt updating /.alt.tmp.b-qD.mnt/platform/sun4u/boot_archive Population of boot environment <zfs1009BE> successful. Creation of boot environment <zfs1009BE> successful. |
После завершения операции lucreate используйте команду lustatus для просмотра статуса BE. Пример:
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufs1009BE yes yes yes no - zfs1009BE yes no no yes - |
Затем ознакомьтесь со списком компонентов ZFS. Пример:
# zfs list NAME USED AVAIL REFER MOUNTPOINT mpool 7.17G 59.8G 95.5K /mpool mpool/ROOT 4.66G 59.8G 21K /mpool/ROOT mpool/ROOT/zfs1009BE 4.66G 59.8G 4.66G / mpool/dump 2G 61.8G 16K - mpool/swap 517M 60.3G 16K - |
Затем используйте команду luactivate для активации новой среды загрузки ZFS. Например:
# luactivate zfs1009BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs1009BE>. ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** . . . Modifying boot archive service Activation of boot environment <zfs1009BE> successful. |
Затем перезагрузите систему в среде загрузки ZFS.
# init 6 |
Убедитесь, что среда загрузки ZFS активна.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufs1009BE yes no no yes - zfs1009BE yes yes yes no - |
При переключении обратно в среду загрузки UFS необходимо заново импортировать все пулы устройств хранения данных, которые были созданы в среде загрузки ZFS, поскольку они не становятся автоматически доступными в среде загрузки UFS.
Если среда загрузки UFS больше не нужна, можно удалить ее с помощью команды ludelete.
Создание среды загрузки ZFS из среды загрузки ZFS в том же пуле происходит очень быстро, поскольку эта операция использует функциональные возможности ZFS snapshot (моментальный снимок) и clone (клонирование). Если текущая BE располагается в том же пуле ZFS, например mpool, параметр -p опускается.
Если на компьютере с архитектурой SPARC есть несколько сред загрузки ZFS, можно использовать команду boot -L для обнаружения доступных сред загрузки. BE, из которой будет производиться загрузка, выбирается с помощью команды boot -Z. На компьютерах с архитектурой x86 можно выбрать BE в меню GRUB. Дополнительно см. Пример 5–9.
# lucreate -n zfs10092BE Analyzing system configuration. Comparing source boot environment <zfs1009BE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs10092BE>. Source boot environment is <zfs1009BE>. Creating boot environment <zfs10092BE>. Cloning file systems from boot environment <zfs1009BE> to create boot environment <zfs10092BE>. Creating snapshot for <mpool/ROOT/zfs1009BE> on <mpool/ROOT/zfs1009BE@zfs10092BE>. Creating clone for <mpool/ROOT/zfs1009BE@zfs10092BE> on <mpool/ROOT/zfs10092BE>. Setting canmount=noauto for </> in zone <global> on <mpool/ROOT/zfs10092BE>. Population of boot environment <zfs10092BE> successful. Creation of boot environment <zfs10092BE> successful. |
Можно обновить среду загрузки ZFS с помощью дополнительных пакетов или исправлений.
Основной процесс выглядит следующим образом:
Создайте другую среду загрузки с помощью команды lucreate.
Активируйте другую среду загрузки и загрузитесь из нее.
Обновите основную среду загрузки ZFS командой luupgrade для добавления пакетов или исправлений.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs1009BE yes no no yes - zfs10092BE yes yes yes no - # luupgrade -p -n zfs1009BE -s /net/system/export/s10u8/Solaris_10/Product SUNWchxge Validating the contents of the media </net/system/export/s10u8/Solaris_10/Product>. Mounting the BE <zfs1009BE>. Adding packages to the BE <zfs1009BE>. Processing package instance <SUNWchxge> from </net/install/export/s10u8/Solaris_10/Product> Chelsio N110 10GE NIC Driver(sparc) 11.10.0,REV=2006.02.15.20.41 Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. This appears to be an attempt to install the same architecture and version of a package which is already installed. This installation will attempt to overwrite this package. Using </a> as the package base directory. ## Processing package information. ## Processing system information. 4 package pathnames are already properly installed. ## Verifying package dependencies. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. This package contains scripts which will be executed with super-user permission during the process of installing this package. Do you want to continue with the installation of <SUNWchxge> [y,n,?] y Installing Chelsio N110 10GE NIC Driver as <SUNWchxge> ## Installing part 1 of 1. ## Executing postinstall script. Installation of <SUNWchxge> was successful. Unmounting the BE <zfs1009BE>. The package add to the BE <zfs1009BE> completed. |
С помощью функции Solaris Live Upgrade можно выполнить перенос системы вместе с зонами, однако поддержка возможных конфигураций в версии Solaris 10 10/08 ограничена). При установке Solaris 10 5/09 или при обновлении до этой версии поддерживается более широкий диапазон конфигураций зон. Дополнительные сведения приведены в разделе Перенос или обновление системы с зонами с помощью Solaris Live Upgrade (Solaris 10 5/09 и Solaris 10 10/09).
В этом разделе описывается, как настроить и установить систему с зонами, чтобы можно было выполнить обновление или исправление этой системы с помощью функции Solaris Live Upgrade. Если выполняется переход в корневую файловую систему ZFS без зон, см. раздел Использование Solaris Live Upgrade для перехода в корневую файловую систему ZFS (без зон).
Если выполняется перенос системы с зонами или настройка системы с зонами в версии Solaris 10 10/08, воспользуйтесь следующими процедурами:
Настройка корневой файловой системы ZFS с корнями зон в системе ZFS (Solaris 10 10/08)
Устранение проблем с точками монтирования ZFS, которые препятствуют успешной загрузке
С помощью рекомендованных процедур установите зоны в системе с корневой файловой системой ZFS таким образом, чтобы можно было использовать функцию Live Upgrade в этой системе.
Выполните описанные ниже действия для перехода корневой файловой системы UFS с установленными зонами в корневую файловую систему ZFS и настройки корня зоны в системе ZFS таким образом, чтобы эту систему можно было обновлять или исправлять.
В приведенных ниже действиях используется для примера имя пула rpool и имя активной среды загрузки S10BE*.
Обновите систему до версии Solaris 10 от 10.2008, если используется более ранняя версия Solaris 10.
Дополнительные сведения об обновлении системы с функционирующей версией Solaris 10 приведены в документе Solaris 10 Installation Guide: Solaris Live Upgrade and Upgrade Planning.
Создайте корневой пул.
Дополнительная информация о требованиях к корневому пулу приведена в разделе Требования к установке Solaris и Solaris Live Upgrade для поддержки ZFS .
Подтвердите, что зоны из среды UFS загружены.
Создайте новую среду загрузки.
# lucreate -n S10BE2 -p rpool |
С помощью этой команды устанавливаются наборы данных в корневом пуле для новой среды загрузки и текущая среда загрузки (включая зоны) копируется в эти наборы данных.
Активируйте новую среду загрузки.
# luactivate s10BE2 |
Теперь в системе функционирует корневая файловая система ZFS, но корни зон UFS все еще находятся в корневой файловой системе UFS. В последующих действиях необходимо полностью осуществить переход зон UFS в поддерживаемую настройку ZFS.
Перезагрузите систему.
# init 6 |
Выполните переход зон в среду загрузки ZFS.
Устраните потенциальные проблемы с точками монтирования в этой версии Solaris.
В результате ошибки функции Live Upgrade неактивная среда загрузки может не загрузиться из-за неверной точки монтирования для набора данных ZFS системы или набора данных ZFS зоны в среде загрузки.
Просмотрите выходные данные команды zfs list.
Найдите неверные временные точки монтирования. Пример:
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6 NAME MOUNTPOINT rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/ rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
Точкой монтирования для среды загрузки корневой системы ZFS (rpool/ROOT/s10u6) должна быть /.
Переопределите точки монтирования для среды загрузки системы ZFS и ее наборов данных.
Пример:
# zfs inherit -r mountpoint rpool/ROOT/s10u6 # zfs set mountpoint=/ rpool/ROOT/s10u6 |
Перезагрузите систему.
Если в меню GRUB или командах ППЗУ OpenBoot имеется возможность выбора конкретной среды загрузки, выберите среду загрузки с исправленными точками монтирования.
Выполните приведенные ниже действия для установки корневой файловой системы ZFS и настройки корней зон ZFS, которые затем можно будет обновлять или исправлять. В данной настройке корни зон ZFS созданы как наборы данных ZFS.
В приведенных ниже действиях в качестве примера используется имя пула rpool и имя активной среды загрузки S10be.
Установите систему с корнем ZFS методом интерактивной начальной установки или методом установки Solaris JumpStart.
Дополнительная информация об установке корневой файловой системы ZFS с помощью метода интерактивной начальной установки или метода Solaris JumpStart приведена в разделе Установка корневой файловой системы ZFS (начальная установка) или Установка корневой файловой системы ZFS (установка методом JumpStart).
Загрузите систему из вновь созданного корневого пула.
Создайте набор данных для группирования корней зон.
Пример:
# zfs create -o canmount=noauto rpool/ROOT/S10be/zones |
В качестве имени набора данных зоны можно использовать любое допустимое имя набора данных. В последующих действиях для примера используется имя набора данных zones.
При указании значения noauto для свойства canmount монтирование набора данных можно выполнить только посредством явного действия функции Solaris Live Upgrade и системного кода запуска.
Смонтируйте вновь созданный контейнерный набор данных для зон.
# zfs mount rpool/ROOT/S10be/zones |
Набор данных монтируется в папке /zones.
Создайте и смонтируйте набор данных для корня каждой зоны.
# zfs create -o canmount=noauto rpool/ROOT/S10be/zones/zonerootA # zfs mount rpool/ROOT/S10be/zones/zonerootA |
Задайте соответствующие разрешения в корневом каталоге зоны.
# chmod 700 /zones/zonerootA |
Выполните настройку зоны, для чего установите путь к ней следующим образом.
# zonecfg -z zoneA zoneA: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zoneA> create zonecfg:zoneA> set zonepath=/zones/zonerootA |
Чтобы разрешить автоматическую загрузку зон при загрузке системы, используйте следующий синтаксис:
zonecfg:zoneA> set autoboot=true |
Установите зону.
# zoneadm -z zoneA install |
Выполните начальную загрузку зоны.
# zoneadm -z zoneA boot |
Если требуется обновить или исправить корневую файловую систему с корнями зон в ZFS, выполните описанные ниже действия. Можно либо произвести обновление версии системы, либо применить исправления.
В описанных ниже действиях для примера в качестве имени обновляемой или исправляемой среды загрузки используется имя newBE.
Создайте среду загрузки для обновления или исправления.
# lucreate -n newBE |
Имеющаяся среда загрузки клонируется вместе со всеми зонами. Для каждого набора данных первоначальной среды загрузки создается новый набор данных. Новые наборы данных создаются в текущем корневом пуле.
Выберите одно из следующих действий, чтобы обновить систему или применить исправления к новой среде загрузки.
Обновите систему.
# luupgrade -u -n newBE -s /net/install/export/s10u7/latest |
Параметр -s указывает на расположение носителя установки системы Solaris.
Примените исправления к новой среде загрузки.
# luupgrade -t -n newBE -t -s /patchdir 139147-02 157347-14 |
После завершения обновления новой среды загрузки активируйте эту новую среду.
# luactivate newBE |
Выполните загрузку из вновь активированной среды загрузки.
# init 6 |
Устраните потенциальные проблемы с точками монтирования в версии Solaris 10/08.
В результате ошибки функции Live Upgrade неактивная среда загрузки может не загрузиться из-за неверной точки монтирования для набора данных ZFS системы или набора данных ZFS зоны в среде загрузки.
Просмотрите выходные данные команды zfs list.
Найдите неверные временные точки монтирования. Пример:
# zfs list -r -o name,mountpoint rpool/ROOT/newBE NAME MOUNTPOINT rpool/ROOT/newBE /.alt.tmp.b-VP.mnt/ rpool/ROOT/newBE/zones /.alt.tmp.b-VP.mnt//zones rpool/ROOT/newBE/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
Точкой монтирования для среды загрузки корневой системы ZFS (rpool/ROOT/newBE) должна быть /.
Переопределите точки монтирования для среды загрузки системы ZFS и ее наборов данных.
Пример:
# zfs inherit -r mountpoint rpool/ROOT/newBE # zfs set mountpoint=/ rpool/ROOT/newBE |
Перезагрузите систему.
Если в меню GRUB или командах ППЗУ OpenBoot имеется возможность выбора конкретной среды загрузки, выберите среду загрузки с исправленными точками монтирования.
Использование функции Live Upgrade для переноса или обновления системы с зонами доступно начиная с версии Solaris 10 10/08. В Live Upgrade начиная с версии Solaris 10 5/09 доступны дополнительные варианты настройки разреженных и целостных зон.
В этом разделе описывается процедура настройки и установки системы с зонами начиная с версии Solaris 10 5/09 с возможностью обновления или исправления этой системы посредством функции Solaris Live Upgrade. Если выполняется перенос в корневую файловую систему ZFS без зон, см. раздел Использование Solaris Live Upgrade для перехода в корневую файловую систему ZFS (без зон).
При работе с ZFS и зонами начиная с версии Solaris 10 5/09 с использованием Live Upgrade необходимо обратить внимание на следующие аспекты:
Если функция Live Upgrade должна использоваться с конфигурациями зон, поддержка которых реализована начиная с версии Solaris 10 5/09, сначала необходимо обновить систему до версии Solaris 10 10/09 или Solaris 10 10/09 с помощью стандартной программы обновления.
После этого с помощью Live Upgrade можно либо перенести корневую файловую систему UFS с корнями зон на корневую файловую систему ZFS, либо обновить или исправить корневую файловую систему ZFS и корни зон.
Неподдерживаемые конфигурации зон из более ранних версий Solaris 09 невозможно непосредственно перенести в версию Solaris 10 5/09 или Solaris 10 10/09.
Если выполняется перенос системы с зонами или настройка системы с зонами начиная с версии Solaris 10 5/09, ознакомьтесь со следующей информацией:
Перед переносом или обновлением системы с зонами с помощью Live Upgrade следует ознакомиться с поддерживаемыми конфигурациями зон.
Перенос корневой файловой системы UFS на корневую файловую систему ZFS – поддерживаются следующие конфигурации корней зон:
в каталоге в корневой файловой системе UFS;
в подкаталоге точки монтирования на корневой файловой системе UFS.
Корневая файловая система UFS с корнем зоны (в соответствии с описанием выше) и пул ZFS, не являющийся корневым, с корнем зоны.
Не поддерживается следующая конфигурация UFS/зон:
Корневая файловая система UFS с корнем зоны в качестве точки монтирования.
Перенос или обновление корневой файловой системы ZFS – поддерживаются следующие конфигурации корней зон:
В наборе данных в корневом пуле ZFS. В некоторых случаях, если перед операцией Live Upgrade не предоставлен набор данных для корневой зоны, в результате работы Live Upgrade набор данных для корневой зоны (zoneds) создается.
В подкаталоге корневой файловой системы ZFS.
В наборе данных вне корневой файловой системы ZFS.
В подкаталоге набора данных вне корневой файловой системы ZFS.
В наборе данных в некорневом пуле. Например, zonepool/zones является набором данных, который содержит корни зон, а rpool содержит среду загрузки ZFS.
zonepool zonepool/zones zonepool/zones/myzone rpool rpool/ROOT rpool/ROOT/myBE |
При выполнении операции Live Upgrade создаются снимки зон и выполняется их клонирование в zonepool и среду загрузки rpool, если используется следующий синтаксис:
# lucreate -n newBE |
Создается среда загрузки newBe в rpool/ROOT/newBE, которая при активации предоставляет доступ к компонентам zonepool.
Если бы в приведенном выше примере/zonepool/zones был подкаталогом, а не отдельным набором данных, то Live Upgrade перенес бы его как компоненты корневого пула, rpool.
Информация о переносе и обновлении зон для UFS и ZFS – необходимо ознакомиться со следующими соображениями, которые могут повлиять как на перенос, так и на обновление среды UFS или ZFS.
Если настройка зон выполнялась в соответствии с разделом Перенос или обновление системы с зонами с помощью Solaris Live Upgrade (Solaris 10 10/08) в версии Solaris 10 10/08, после чего было выполнено обновление до версии Solaris 10 5/09 или Solaris 10 10/09, станет возможным перенос на корневую файловую систему ZFS либо обновление до версии Solaris 10 5/09 или Solaris 10 10/09 с помощью Live Upgrade.
Не следует создавать корни зон во вложенных каталогах, например, zones/zone1 или zones/zone1/zone2. В противном случае возможен отказ монтирования во время загрузки.
Эта процедура позволяет создать корневую файловую систему ZFS после первоначальной установки версии Solaris 10 5/09 или Solaris 10 10/09 или после обновления корневой файловой системы ZFS до версии Solaris 10 5/09 или Solaris 10 10/09 командой luupgrade. Среду загрузки ZFS, созданную в соответствии с данной процедурой, можно затем обновить или применить к ней исправления.
В приведенных ниже действиях в системе Solaris 10 10/09, используемой в качестве примера, имеется корневая файловая система ZFS и набор данных корня зоны в /rpool/zones. Создается среда загрузки ZFS с именем zfs10092BE; после этого ее можно обновить или применить к ней исправления.
Исследуйте имеющиеся файловые системы ZFS. Пример:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.26G 59.7G 98K /rpool rpool/ROOT 4.64G 59.7G 21K legacy rpool/ROOT/zfs1009BE 4.64G 59.7G 4.64G / rpool/dump 1.00G 59.7G 1.00G - rpool/export 44K 59.7G 23K /export rpool/export/home 21K 59.7G 21K /export/home rpool/swap 1G 60.7G 16K - rpool/zones 633M 59.7G 633M /rpool/zones |
Убедитесь в том, что зоны установлены и загружены. Пример:
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /rpool/zones native shared |
Создайте среду загрузки ZFS. Пример:
# lucreate -n zfs10092BE Analyzing system configuration. Comparing source boot environment <zfs1009BE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs10092BE>. Source boot environment is <zfs1009BE>. Creating boot environment <zfs10092BE>. Cloning file systems from boot environment <zfs1009BE> to create boot environment <zfs10092BE>. Creating snapshot for <rpool/ROOT/zfs1009BE> on <rpool/ROOT/zfs1009BE@zfs10092BE>. Creating clone for <rpool/ROOT/zfs1009BE@zfs10092BE> on <rpool/ROOT/zfs10092BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs10092BE>. Creating snapshot for <rpool/zones> on <rpool/zones@zfs10092BE>. Creating clone for <rpool/zones@zfs10092BE> on <rpool/zones-zfs10092BE>. Population of boot environment <zfs10092BE> successful. Creation of boot environment <zfs10092BE> successful. |
Активируйте среду загрузки ZFS.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs1009BE yes yes yes no - zfs10092BE yes no no yes - # luactivate zfs10092BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs10092BE>. . . . # init 6 |
Убедитесь в том, что в новой среде загрузки созданы файловые системы ZFS и зоны. Пример:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 98K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs10092BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs10092BE@zfs10092BE 74.0M - 4.64G - rpool/ROOT/zfs1009BE 5.45M 59.6G 4.64G /.alt.zfs1009BE rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 17.2M 59.6G 633M /rpool/zones rpool/zones-zfs1009BE 653M 59.6G 633M /rpool/zones-zfs1009BE rpool/zones-zfs1009BE@zfs10092BE 19.9M - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /rpool/zones native shared |
Если требуется обновить или исправить корневую файловую систему с корнями зон в версии Solaris 10 5/09 или Solaris 10 10/09 , выполните описанные ниже действия. Можно либо произвести обновление версии системы, либо применить исправления.
В описанных ниже действиях для примера в качестве имени обновляемой или исправляемой среды загрузки используется имя zfs10093BE.
Исследуйте имеющиеся файловые системы ZFS. Пример:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 100K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs10092BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs10092BE@zfs10092BE 75.0M - 4.64G - rpool/ROOT/zfs1009BE 5.46M 59.6G 4.64G / rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 22.9M 59.6G 637M /rpool/zones rpool/zones-zfs1009BE 653M 59.6G 633M /rpool/zones-zfs1009BE rpool/zones-zfs1009BE@zfs10092BE 20.0M - 633M - |
Убедитесь в том, что зоны установлены и загружены. Пример:
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 5 zfszone running /rpool/zones native shared |
Создайте среду загрузки ZFS для обновления или исправления. Пример:
# lucreate -n zfs10093BE Analyzing system configuration. Comparing source boot environment <zfs10092BE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs10093BE>. Source boot environment is <zfs10092BE>. Creating boot environment <zfs10093BE>. Cloning file systems from boot environment <zfs10092BE> to create boot environment <zfs10093BE>. Creating snapshot for <rpool/ROOT/zfs10092BE> on <rpool/ROOT/zfs10092BE@zfs10093BE>. Creating clone for <rpool/ROOT/zfs10092BE@zfs10093BE> on <rpool/ROOT/zfs10093BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs10093BE>. Creating snapshot for <rpool/zones> on <rpool/zones@zfs10093BE>. Creating clone for <rpool/zones@zfs10093BE> on <rpool/zones-zfs10093BE>. Population of boot environment <zfs10093BE> successful. Creation of boot environment <zfs10093BE> successful. |
Выберите одно из следующих действий, чтобы обновить систему или применить исправления к новой среде загрузки.
Обновите систему. Пример:
# luupgrade -u -n zfs10093BE -s /net/install/export/s10uX/combined.s10s_uXwos/latest |
Параметр -s указывает на расположение носителя установки системы Solaris.
Данный процесс может занять значительное время.
С полным примером процесса luupgrade можно ознакомиться в разделе Пример 5–6.
Примените исправления к новой среде загрузки. Пример:
# luupgrade -t -n zfs10093BE -t -s /patchdir patch-id-02 patch-id-04 |
После завершения обновления новой среды загрузки активируйте эту новую среду.
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs1009BE yes no no yes - zfs10092BE yes yes yes no - zfs10093BE yes no no yes - # luactivate zfs10093BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs10093BE>. . . . |
Выполните загрузку из вновь активированной среды загрузки.
# init 6 |
В данном примере среда загрузки ZFS (zfs509BE), созданная в системе Solaris 5/09 с корневой файловой системой и корнем зоны в некорневом пуле, обновляется до выпуска Solaris 10 10/09. Данный процесс может занять значительное время. После этого выполняется активация обновленной среды загрузки (zfs10092BE). Перед началом переноса следует убедиться в том, что зоны установлены и загружены.
В этом примере пул zonepool, набор данных /zonepool/zones и zfszone создаются следующим образом:
# zpool create zonepool mirror c2t1d0 c2t5d0 # zfs create zonepool/zones # chmod 700 zonepool/zones # zonecfg -z zfszone zfszone: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zfszone> create zonecfg:zfszone> set zonepath=/zonepool/zones zonecfg:zfszone> verify zonecfg:zfszone> exit # zoneadm -z zfszone install cannot create ZFS dataset zonepool/zones: dataset already exists Preparing to install zone <zfszone>. Creating list of files to copy from the global zone. Copying <8960> files to the zone. . . . |
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared # lucreate -n zfs1009BE . . . # luactivate zfs1009BE . . . # init 6 # luupgrade -u -n zfs1009BE -s /net/install/export/s10u8/combined.s10s_u8wos/latest 40410 blocks miniroot filesystem is <lofs> Mounting miniroot at </net/system/export/s10u8/latest/Solaris_10/Tools/Boot> Validating the contents of the media </net/system/export/s10u8//latest>. The media is a standard Solaris media. The media contains an operating system upgrade image. The media contains <Solaris> version <10>. Constructing upgrade profile to use. Locating the operating system upgrade program. Checking for existence of previously scheduled Live Upgrade requests. Creating upgrade profile for BE <zfs1009BE>. Determining packages to install or upgrade for BE <zfs1009BE>. Performing the operating system upgrade of the BE <zfs1009BE>. CAUTION: Interrupting this process may leave the boot environment unstable or unbootable. Upgrading Solaris: 100% completed Installation of the packages from this media is complete. Updating package information on boot environment <zfs1009BE>. Package information successfully updated on boot environment <zfs1009BE>. Adding operating system patches to the BE <zfs1009BE>. The operating system patch installation is complete. INFORMATION: The file </var/sadm/system/logs/upgrade_log> on boot environment <zfs1009BE> contains a log of the upgrade operation. INFORMATION: The file </var/sadm/system/data/upgrade_cleanup> on boot environment <zfs1009BE> contains a log of cleanup operations required. INFORMATION: Review the files listed above. Remember that all of the files are located on boot environment <zfs1009BE>. Before you activate boot environment <zfs1009BE>, determine if any additional system maintenance is required or if additional media of the software distribution must be installed. The Solaris upgrade of the boot environment <zfs1009BE> is complete. Installing failsafe Failsafe install is complete. # luactivate zfs1009BE # init 6 # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs509BE yes no no yes - zfs1009BE yes yes yes no - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
Данная процедура позволяет обновить систему с корневой файловой системой UFS и корнем зоны до выпуска Solaris 10 5/09 или Solaris 10 10/09. После этого следует создать среду загрузки ZFS с помощью Live Upgrade.
В приведенной ниже последовательности действий образцовая среда загрузки UFS названа c0t1d0s0, корень зоны UFS – zonepool/zfszone, а корневая загружаемая среда ZFS – zfs1009.
Обновите систему до версии Solaris 10 5/09 или Solaris 10 10/09, если используется более ранняя версия Solaris 10.
Дополнительные сведения об обновлении системы с функционирующей версией Solaris 10 приведены в документе Solaris 10 Installation Guide: Solaris Live Upgrade and Upgrade Planning.
Создайте корневой пул.
Дополнительные сведения о требованиях к корневому пулу приведены в разделе Требования к установке Solaris и Solaris Live Upgrade для поддержки ZFS .
Убедитесь в загрузке зон из среды UFS. Пример:
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared |
Создайте новую среду загрузки ZFS. Пример:
# lucreate -c c1t1d0s0 -n zfs1009 -p rpool |
С помощью этой команды устанавливаются наборы данных в корневом пуле для новой среды загрузки и текущая среда загрузки (включая зоны) копируется в эти наборы данных.
Активируйте новую среду загрузки ZFS. Пример:
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t1d0s0 yes yes yes no - zfs1009BE yes no no yes - # luactivate zfs1009BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs1009BE>. . . . |
Перезагрузите систему.
# init 6 |
Убедитесь в том, что в новой среде загрузки созданы файловые системы ZFS и зоны. Пример:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G / rpool/dump 1.00G 60.8G 1.00G - rpool/swap 517M 61.3G 16K - zonepool 634M 7.62G 24K /zonepool zonepool/zones 270K 7.62G 633M /zonepool/zones zonepool/zones-c1t1d0s0 634M 7.62G 633M /zonepool/zones-c1t1d0s0 zonepool/zones-c1t1d0s0@zfs1009BE 262K - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
В этом примере выполняется перенос системы Solaris 10 10/09 с корневой файловой системой UFS и корнем зоны (/uzone/ufszone) и некорневым пулом ZFS (pool), а также корнем зоны (/pool/zfszone) на корневую файловую систему ZFS. Перед началом переноса следует убедиться в том, что создан корневой пул ZFS, а зоны установлены и загружены.
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 ufszone running /uzone/ufszone native shared 3 zfszone running /pool/zones/zfszone native shared |
# lucreate -c ufs1009BE -n zfs1009BE -p rpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <ufs509BE>. Creating initial configuration for primary boot environment <ufs509BE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <ufs1009BE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <ufs1009BE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfs1009BE>. Source boot environment is <ufs1009BE>. Creating boot environment <zfs1009BE>. Creating file systems on boot environment <zfs1009BE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfs1009BE>. Populating file systems on boot environment <zfs1009BE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Copying root of zone <ufszone> to </.alt.tmp.b-EYd.mnt/uzone/ufszone>. Creating snapshot for <pool/zones/zfszone> on <pool/zones/zfszone@zfs1009BE>. Creating clone for <pool/zones/zfszone@zfs1009BE> on <pool/zones/zfszone-zfs1009BE>. Creating compare databases for boot environment <zfs1009BE>. Creating compare database for file system </rpool/ROOT>. Creating compare database for file system </>. Updating compare databases on boot environment <zfs1009BE>. Making boot environment <zfs1009BE> bootable. Creating boot_archive for /.alt.tmp.b-DLd.mnt updating /.alt.tmp.b-DLd.mnt/platform/sun4u/boot_archive Population of boot environment <zfs1009BE> successful. Creation of boot environment <zfs1009BE> successful. # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufs1009BE yes yes yes no - zfs1009BE yes no no yes - # luactivate zfs1009BE . . . # init 6 . . . # zfs list NAME USED AVAIL REFER MOUNTPOINT pool 628M 66.3G 19K /pool pool/zones 628M 66.3G 20K /pool/zones pool/zones/zfszone 75.5K 66.3G 627M /pool/zones/zfszone pool/zones/zfszone-ufs1009BE 628M 66.3G 627M /pool/zones/zfszone-ufs1009BE pool/zones/zfszone-ufs1009BE@zfs1009BE 98K - 627M - rpool 7.76G 59.2G 95K /rpool rpool/ROOT 5.25G 59.2G 18K /rpool/ROOT rpool/ROOT/zfs1009BE 5.25G 59.2G 5.25G / rpool/dump 2.00G 59.2G 2.00G - rpool/swap 517M 59.7G 16K - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - ufszone installed /uzone/ufszone native shared - zfszone installed /pool/zones/zfszone native shared |
Во время начальной установки или операции Solaris Live Upgrade из файловой системы UFS в томе ZFS корневого пула ZFS создается область подкачки. Например:
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/mpool/swap 253,3 16 8257520 8257520 |
Во время начальной установки или операции Solaris Live Upgrade из файловой системы UFS в томе ZFS корневого пула ZFS создается устройство дампа. После создания устройство дампа не требует администрирования. Пример:
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/mpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes |
Сведения о размерах тома подкачки и тома для дампа, создаваемых программой установки, представлены в документе Требования к установке Solaris и Solaris Live Upgrade для поддержки ZFS .
Размер тома подкачки и размер тома для дампа можно регулировать во время установки и после нее. Дополнительная информация приведена в разделе Изменение размеров устройств свопинга и дампа ZFS.
При работе с устройствами подкачки и дампа в ZFS учитывайте следующее:
Для области подкачки и устройств дампа нужно использовать отдельные тома ZFS.
В настоящее время использование файла подкачки в файловой системе ZFS не поддерживается.
Если используется том дампа ZFS, из-за CR 6724860 нужно вручную запустить savecore для сохранения дампа в случае сбоя системы.
Если нужно изменить область подкачки или устройство дампа после установки или обновления системы, используйте команды swap и dumpadm, как и в предыдущих версиях Solaris. Дополнительную информацию см. в разделе Глава 20, Configuring Additional Swap Space (Tasks), в System Administration Guide: Devices and File Systems и в разделе Глава 17, Managing System Crash Information (Tasks), в System Administration Guide: Advanced Administration.
Из-за разницы в способах, которыми при установке корня ZFS вычисляются размеры устройств подкачки и дампа, может понадобиться изменение размера устройств подкачки и дампа до, во время или после установки.
Производительность работы тома для дампа ZFS значительно выше, если такой том создан с 128-килобайтным размером блоков.
Можно отрегулировать размер тома подкачки и дампа тома при начальной установке. Для получения дополнительных сведений см.Пример 5–1.
Можно создать тома ля подкачки и дампа и изменить их размер до выполнения операции Solaris Live Upgrade. Пример:
Создайте пул устройств хранения данных.
# zpool create rpool mirror c0t0d0s0 c0t1d0s0 |
Создайте устройство дампа.
# zfs create -V 2G rpool/dump |
Выберите один из следующих вариантов для создания области подкачки.
На компьютере архитектуры SPARC создайте область подкачки. Задайте размер блока 8 КБ.
# zfs create -V 2G -b 8k rpool/swap |
На компьютере архитектуры x86 создайте область подкачки. Задайте размер блока 4 КБ.
# zfs create -V 2G -b 4k rpool/swap |
При добавлении или изменении нового устройства подкачки требуется активировать область подкачки.
Solaris Live Upgrade не изменяет размеры существующих томов подкачки и дампа.
Свойство volsize для устройства дампа можно сбросить после установки системы. Пример:
# zfs set volsize=2G rpool/dump # zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 2G - |
Размер тома подкачки можно изменять, однако до интеграции CR 6765386 предпочтительно сначала удалять устройство подкачки. После изменения размера его нужно создать снова. Пример:
# swap -d /dev/zvol/dsk/rpool/swap # zfs volsize=2G rpool/swap # swap -a /dev/zvol/dsk/rpool/swap |
Для получения дополнительных сведений об удалении устройства подкачки на активной системе см. следующую страницу:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Можно отрегулировать размер томов подкачки и дампа тома в профиле JumpStart, используя для профиля конструкцию, подобную следующей:
install_type initial_install cluster SUNWCXall pool rpool 16g 2g 2g c0t0d0s0 |
В этом профиле записи 2g и 2g задают для области подкачки и устройства дампа размеры 2 ГБ и 2 ГБ соответственно.
Если в системе требуется большая область для подкачки, чем уже установленная, просто добавьте еще один том подкачки. Пример:
# zfs create -V 2G rpool/swap2 |
Затем активируйте новый том подкачки. Пример:
# swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 1058800 1058800 /dev/zvol/dsk/rpool/swap2 256,3 16 4194288 4194288 |
Компьютеры архитектуры SPARC и x86 используют новый стиль загрузки – с помощью загрузочного архива, который представляет собой образ файловой системы, содержащий файлы для загрузки. При загрузке с корневой файловой системы ZFS имена путей файлов архива и ядра разрешаются в корневой файловой системе, которая выбрана для загрузки.
Когда система загружается для установки, диск ОЗУ используется для корневой файловой системы в продолжение всего процесса установки, что избавляет от необходимости загружаться со съемного носителя.
Если проводится начальная установка выпуска Solaris 10 10/08 или 10 5/09, либо используется Solaris Live Upgrade для миграции этого выпуска в корневую файловую систему ZFS на компьютерах архитектуры SPARC и x86, загрузку можно выполнять из корневой файловой системы ZFS.
Загрузка из файловой системы ZFS отличается от загрузки из файловой системы UFS, поскольку в ZFS спецификатор устройств указывает пул устройств хранения, а не на одну корневую файловую систему. Пул устройств хранения может содержать несколько загружаемых наборов данных или корневых файловых систем ZFS. При загрузке с ZFS укажите загрузочное устройство и корневую файловую систему в пуле, опознанном загрузочным устройством.
По умолчанию для загрузки выбирается набор данных, на который указывает свойство пула bootfs. Этот выбор по умолчанию можно переопределить, указав другое значение переменного загружаемого набора данных в команде boot -Z.
Можно создать зеркалируемый корневой пул ZFS при установке системы или прикрепить диск для создания зеркалируемого корневого пула ZFS после установки. Ознакомьтесь со следующими известными проблемами зеркалируемых корневых пулов ZFS:
Пока дефект CR 6668666 не устранен, вам понадобится установить загрузочную информацию на дополнительно прикрепленные диски с помощью команды installboot или installgrub, если нужно разрешить загрузку с других дисков зеркала. Если создается зеркалируемый корневой пул ZFS методом начальной установки, это действие не требуется. Например, если c0t1d0s0 – второй диск, добавленный к зеркалу, команда installboot или installgrub будет выглядеть следующим образом:
sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0 |
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0 |
Можно загружаться из разных устройства в зеркалируемом корневом пуле ZFS. В зависимости от конфигурации оборудования может понадобиться изменить ППЗУ или BIOS, чтобы указать другое загрузочное устройство.
Например, в этом пуле можно загружаться с любого из дисков (c1t0d0s0 или c1t1d0s0).
# zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0 |
На компьютерах с архитектурой SPARC введите переменный диск в ответ на запрос ok.
ok boot /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1 |
После загрузки системы проверьте, какое загрузочное устройство активно. Пример:
SPARC# prtconf -vp | grep bootpath bootpath: '/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1,0:a' |
В системах на основе x86 используется следующий синтаксис:
x86# prtconf -v|sed -n '/bootpath/,/value/p' name='bootpath' type=string items=1 value='/pci@0,0/pci8086,25f8@4/pci108e,286@0/disk@0,0:a' |
На компьютерах с архитектурой x86 выберите переменный диск в зеркалируемом корневом пуле ZFS из соответствующего меню BIOS.
На компьютере архитектуры SPARC с несколькими средами загрузки ZFS можно выполнить загрузку из любой среды с помощью команды luactivate. Если на загрузочном устройстве имеется пул устройств хранения данных ZFS, то после активации среды загрузки можно с помощью команды загрузки -L просмотреть список сред загрузки.
Во время установки и выполнения Solaris Live Upgrade корневая файловая система ZFS выбирается автоматически с помощью свойства bootfs.
В пуле может существовать несколько загружаемых наборов данных. По умолчанию запись загружаемого набора данных в файле /pool-name/boot/menu.lst определяется по свойству bootfs этого пула. Однако запись menu.lst может содержать команду bootfs, которая указывает альтернативный набор данных в пуле. Таким образом, файл menu.lst может содержать записи для нескольких корневых файловых систем в данном пуле.
При установке системы с корневой файловой системой ZFS или переходе в корневую файловую систему ZFS в файл menu.lst добавляется запись, подобная следующей:
title zfs1009BE bootfs rpool/ROOT/zfs1009BE title zfs509BE bootfs rpool/ROOT/zfs509BE |
При создании новой среды загрузки в файл menu.lst автоматически вносятся изменения.
На компьютерах с архитектурой SPARC доступны два новых параметра загрузки:
Можно использовать команду boot - L для вывода списка загружаемых наборов данных этого пула ZFS. Затем можно выбрать из списка один загружаемый набор данных. Выводятся подробные инструкции для загрузки этого набора данных. Выбранный набор данных можно загрузить, следуя инструкциям. Эта возможность доступна только в случае, когда загрузочное устройство содержит пул устройств хранения ZFS.
Использовать команду набора данных boot -Z для загрузки конкретного набора данных ZFS.
Если в пуле устройств хранения ZFS на загрузочном устройстве вашего компьютера есть несколько сред загрузки ZFS, можно использовать для указания BE по умолчанию команду luactivate.
Например, доступны следующие среды загрузки ZFS, описанные выводом команды lustatus:
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs1009BE yes yes yes no - zfs509BE yes no no yes - |
Если на компьютере с архитектурой SPARC есть несколько сред загрузки ZFS, можно использовать команду boot - L. Пример:
ok boot -L Rebooting with command: boot -L Boot device: /pci@8,600000/SUNW,qlc@2/fp@0,0/disk@w500000e01082bbd1,0:a File and args: -L 1 zfs1009BE 2 zfs509BE Select environment to boot: [ 1 - 2 ]: 2 ok boot -Z rpool/ROOT/zfs509BE |
На компьютерах с архитектурой SPARC можно загружаться из отказоустойчивого архива, расположенного в каталоге / /platform/`uname -i`/failsafe, следующим образом. Пример:
ok boot -F failsafe |
Если нужно загрузить отказоустойчивый архив из конкретного загружаемого набора данных ZFS, используйте конструкцию, подобную следующей:
ok boot -Z rpool/ROOT/zfs1009BE -F failsafe |
Следующие записи добавляются в файл /pool-name /boot//grub/menu.lst в процессе установки или операции Solaris Live Upgrade для автоматической загрузки ZFS:
title Solaris 10 10/09 s10x_u8wos_07b X86 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
Если устройство, опознанное GRUB как загрузочное устройство, содержит пул устройств хранения ZFS, файл menu.lst используется для создания меню GRUB.
На компьютерах с архитектурой x86 с несколькими ZFS BE можно выбрать BE в меню GRUB. Если корневая файловая система, соответствующая этому пункту меню, представляет собой набор данных ZFS, добавляется следующий параметр.
-B $ZFS-BOOTFS |
При загрузке с использованием файловой системы ZFS корневое устройство указывается параметром - B $ZFS-BOOTFS команды boot в строке kernel или module пункта меню GRUB. Это значение, как и для всех остальных параметров, указываемых параметром -B, передается из GRUB в ядро. Пример:
title Solaris 10 10/09 s10x_u8wos_07b X86 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
Отказоустойчивый архив x86 –/boot//x86.miniroot-safe. Его можно загрузить, выбрав пункт Solaris failsafe в меню GRUB. Пример:
title Solaris failsafe findroot (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
Для смены активной среды загрузки лучше всего использовать команду luactivate. Если не удается выполнить загрузку активной среды из-за неверного исправления или ошибки настройки, единственный способ загрузить другую среду – выбрать ее во время загрузки. Альтернативную среду загрузки можно выбрать в меню GRUB на компьютере архитектуры x86 или загрузить ее явным образом из ППЗУ на компьютере архитектуры SPARC.
В результате ошибки функции Live Upgrade в версии Solaris 10 10/08 неактивная среда загрузки может не загрузиться из-за неверной точки монтирования для наборов данных ZFS или набора данных ZFS зоны в среде загрузки. Та же ошибка не позволяет выполнить монтирование среды загрузки при наличии отдельного набора данных /var.
Если точка монтирования набора данных зоны неверна, ее можно исправить по следующей процедуре:
Загрузите систему из отказоустойчивого архива.
Импортируйте пул.
Пример:
# zpool import rpool |
После импорта пула просмотрите выходные данные команды zfs list.
Найдите неверные временные точки монтирования. Пример:
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6 NAME MOUNTPOINT rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/ rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
Точкой монтирования для среды загрузки корневой системы (rpool/ROOT/s10u6) должна быть /.
Если выполнить загрузку не удается из-за проблем с монтированием /var, найдите подобную временную точку монтирования для набора данных /var.
Переопределите точки монтирования для среды загрузки системы ZFS и ее наборов данных.
Пример:
# zfs inherit -r mountpoint rpool/ROOT/s10u6 # zfs set mountpoint=/ rpool/ROOT/s10u6 |
Перезагрузите систему.
Если в меню GRUB или командах ППЗУ OpenBoot имеется возможность выбора конкретной среды загрузки, выберите среду загрузки с исправленными точками монтирования.
В следующих разделах описано выполнение следующих задач:
Повторное создание корневого пула ZFS и восстановление снимков корневого пула
Откат предыдущих снимков корневого пула при загрузке в безопасном режиме
Замена диска в корневом пуле может потребоваться в следующих случаях:
Размер корневого пула недостаточен, и его необходимо заменить диском большего размера.
Возник отказ диска корневого пула. Если отказ диска приводит к невозможности загрузки системы, загрузку перед заменой диска корневого пула придется выполнять с других носителей, например с компакт-диска или из сети.
Определите пути к загрузочным устройствам для имеющегося и нового диска, чтобы протестировать загрузку с диска, подготовленного для замены, а также для загрузки вручную с имеющегося диска, что может потребоваться в случае отказа нового диска. В примере, приведенном ниже, текущий диск корневого пула (c1t10d0s0), имеет следующий путь:
/pci@8,700000/pci@3/scsi@5/sd@a,0 |
В примере, приведенном ниже, загрузочный диск, подготовленный для замены (c4t0d0s0), имеет следующий путь:
/pci@8,700000/pci@3/scsi@5/sd@9,0 |
Подключите требуемые кабели к диску, подготовленному для замены.
Убедитесь, что новый диск имеет метку SMI и подраздел 0.
См. информацию об изменении метки диска, предназначенного для корневого пула на следующей странице:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Подключите новый диск к корневому пулу.
Пример:
# zpool attach rpool c1t10d0s0 c4t0d0s0 |
Подтвердите состояние корневого пула.
Пример:
# zpool status rpool pool: rpool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scrub: resilver in progress, 25.47% done, 0h4m to go config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t5d0s0 ONLINE 0 0 0 errors: No known data errors |
После завершения переноса актуальных данных к новому диску следует применить загрузочные блоки.
Пример:
Система на основе SPARC:
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t5d0s0 |
Система на основе x86:
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t5d0s0 |
Убедитесь в возможности загрузки с нового диска.
Пример для системы на основе SPARC:
ok boot /pci@8,700000/pci@3/scsi@5/sd@9,0 |
Если систему удается загрузить с нового диска, старый можно отсоединить.
Пример:
# zpool detach rpool c1t0d0s0 |
Настройка автоматической загрузки системы с нового диска выполняется либо командой eeprom, либо командой setenv из загрузочного ППЗУ SPARC, либо перенастройкой ПЗУ ПК.
Создание снимков корневого пула в целях восстановления. Рекомендуемый способ создания снимков корневого пула заключается в создании рекурсивного снимка корневого пула.
Описанная ниже процедура позволяет создать рекурсивный снимок корневого пула и сохранить его в виде файла в пуле удаленной системы. В случае сбоя корневого пула удаленный набор данных можно смонтировать с помощью NFS, после чего получить файл снимка в восстановленный пул. Кроме того, снимки корневого пула можно сохранить в качестве текущих в пуле удаленной системы. Отправка снимков для удаленной системы и получение их является несколько более сложным, так как необходимо выполнить настройку ssh или использовать rsh, загрузив подлежащую восстановлению систему из миникорня ОС Solaris.
Информация об удаленном сохранении и восстановлении снимков корневого пула и наиболее актуальные сведения о восстановлении корневога пула представлена на следующей странице:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Оценка хранящихся удаленно снимков в качестве файлов или собственно снимков является важным этапом при восстановлении корневого пула или во время других операций; восстановление снимков должно производиться на обычной основе, например, при изменении конфигурации пула или при обновлении ОС Solaris.
В приведенном ниже примере выполняется загрузка системы из среды загрузки zfs1009BE.
Освобождение дискового пространства на удаленной системе для хранения снимков.
Пример:
remote# zfs create rpool/snaps |
Совместное использование дискового пространства с локальной системой.
Пример:
remote# zfs set sharenfs='rw=local-system,root=local-system' rpool/snaps # share -@rpool/snaps /rpool/snaps sec=sys,rw=local-system,root=local-system "" |
Создание рекурсивного снимка корневого пула.
local# zfs snapshot -r rpool@0804 local# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G / rpool/ROOT/zfs1009BE@0804 386K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
Перешлите снимки корневого пула на удаленную систему.
Пример:
local# zfs send -Rv rpool@0804 > /net/remote-system/rpool/snaps/rpool.0804 sending from @ to rpool@0804 sending from @ to rpool/swap@0804 sending from @ to rpool/ROOT@0804 sending from @ to rpool/ROOT/zfs1009BE@0804 sending from @ to rpool/dump@0804 |
В рамках этого сценария предположим, что действуют следующие условия:
восстановление корневого пула ZFS невозможно;
снимки корневого пула ZFS хранятся на удаленной системе и подготовлены для совместного использования посредством NFS.
Все действия, приведенные ниже, выполняются на локальной системе.
Загрузка с компакт-диска/диска DVD или сети.
В системе на основе SPARC выберите один из следующих методов загрузки:
ok boot net -s ok boot cdrom -s |
Если не используется параметр -s, из программы установки придется выйти.
В системах на основе x86 укажите параметр для загрузки с диска DVD или из сети. После этого выйдите из программы установкию
Смонтируйте набор данных с удаленным снимком.
Пример:
# mount -F nfs remote-system:/rpool/snaps /mnt |
Если сетевые службы не настроены, может потребоваться указать IP-адрес удаленной системы.
Если диск с корневым пулом заменен, и на нем отсутствует метка диска, пригодная для использования файловой системой ZFS, метку диска придется изменить.
Дополнительные сведения об изменении метки диска приведены на следующем сайте:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Воссоздайте корневой пул.
Пример:
# zpool create -f -o failmode=continue -R /a -m legacy -o cachefile= /etc/zfs/zpool.cache rpool c1t1d0s0 |
Восстановление снимков корневого пула
Это действие может занять некоторое время. Пример:
# cat /mnt/rpool.0804 | zfs receive -Fdu rpool |
Убедитесь в том, что наборы данных корневого пула восстановлены.
Пример:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /a/rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /legacy rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G /a rpool/ROOT/zfs1009BE@0804 398K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
Настройте свойство bootfs в среде загрузки корневого пула.
Пример:
# zpool set bootfs=rpool/ROOT/zfs1009BE rpool |
Установите загрузочные блоки на новый диск.
Система на основе SPARC:
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t5d0s0 |
Система на основе x86:
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t5d0s0 |
Перезагрузите систему.
# init 6 |
Для выполнения этой процедуры должны быть доступны существующие снимки корневого пула. В этом примере снимки корневого пула расположены на локальной системе. Пример:
# zfs snapshot -r rpool@0804 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G / rpool/ROOT/zfs1009BE@0804 398K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
Завершите работу системы и выполните загрузку в безопасном режиме.
ok boot -F failsafe Multiple OS instances were found. To check and mount one of them read-write under /a, select it from the following list. To not mount any, select 'q'. 1 /dev/dsk/c1t1d0s0 Solaris 10 10/09 s10s_u8wos_04 SPARC 2 rpool:11306141908645873833 ROOT/zfs10092BE Please select a device to be mounted (q for none) [?,??,q]: 2 mounting rpool on /a Starting shell. |
Выполните откат отдельных снимков корневого пула.
# zfs rollback -rf rpool@0804 # zfs rollback -rf rpool/ROOT@0804 # zfs rollback -rf rpool/ROOT/zfs1009BE@0804 |
Выполните перезагрузку обратно в многопользовательский режим.
# init 6 |