Руководство по администрированию файловых систем ZFS Solaris

Использование Solaris Live Upgrade для перехода в корневую файловую систему ZFS (без зон)

В следующих примерах показан перенос с корневой файловой системы UFS в корневую файловую систему ZFS.

Сведения по переносу или обновлению системы с зонами приведены в следующих разделах:


Пример 5–3 Функцию Solaris Live Upgrade можно использовать для перехода с корневой файловой системы 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.



Пример 5–4 Использование Solaris Live Upgrade для создания среды загрузки ZFS из среды загрузки ZFS

Создание среды загрузки 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.


Пример 5–5 Обновление среды загрузки ZFS (luupgrade)

Можно обновить среду загрузки ZFS с помощью дополнительных пакетов или исправлений.

Основной процесс выглядит следующим образом:


# 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.