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

Перенос или обновление системы с зонами с помощью Solaris Live Upgrade (Solaris 10 5/09 и Solaris 10 10/09)

Использование функции 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 необходимо обратить внимание на следующие аспекты:

Если выполняется перенос системы с зонами или настройка системы с зонами начиная с версии Solaris 10 5/09, ознакомьтесь со следующей информацией:

Информация о поддерживаемых конфигурациях ZFS с корнями зон (Solaris 10 5/09 или Solaris 10 10/09)

Перед переносом или обновлением системы с зонами с помощью Live Upgrade следует ознакомиться с поддерживаемыми конфигурациями зон.

ProcedureСоздание среды загрузки ZFS с корневой файловой системой ZFS и корнем зоны (Solaris 10 5/09 или Solaris 10 10/09)

Эта процедура позволяет создать корневую файловую систему 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; после этого ее можно обновить или применить к ней исправления.

  1. Исследуйте имеющиеся файловые системы 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
  2. Убедитесь в том, что зоны установлены и загружены. Пример:


    # zoneadm list -cv
      ID NAME             STATUS     PATH                           BRAND    IP    
       0 global           running    /                              native   shared
       2 zfszone          running    /rpool/zones                   native   shared
  3. Создайте среду загрузки 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.
  4. Активируйте среду загрузки 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
    
  5. Убедитесь в том, что в новой среде загрузки созданы файловые системы 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

ProcedureОбновление или исправление корневой файловой системы ZFS с корнями зон (Solaris 10 5/09 или Solaris 10 10/09)

Если требуется обновить или исправить корневую файловую систему с корнями зон в версии Solaris 10 5/09 или Solaris 10 10/09 , выполните описанные ниже действия. Можно либо произвести обновление версии системы, либо применить исправления.

В описанных ниже действиях для примера в качестве имени обновляемой или исправляемой среды загрузки используется имя zfs10093BE.

  1. Исследуйте имеющиеся файловые системы 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  -
  2. Убедитесь в том, что зоны установлены и загружены. Пример:


    # zoneadm list -cv
      ID NAME             STATUS     PATH                           BRAND    IP    
       0 global           running    /                              native   shared
       5 zfszone          running    /rpool/zones                   native   shared
  3. Создайте среду загрузки 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.
  4. Выберите одно из следующих действий, чтобы обновить систему или применить исправления к новой среде загрузки.

    • Обновите систему. Пример:


      # 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
      
  5. После завершения обновления новой среды загрузки активируйте эту новую среду.


    # 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>.
    .
    .
    .
  6. Выполните загрузку из вновь активированной среды загрузки.


    # init 6
    

Пример 5–6 Обновление корневой файловой системы ZFS с корнем зоны до корневой файловой системы ZFS версии Solaris 10 10/09.

В данном примере среда загрузки 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

ProcedureПеренос корневой файловой системы UFS с корнем зоны в корневую файловую систему ZFS (Solaris 10 5/09 или Solaris 10 10/09)

Данная процедура позволяет обновить систему с корневой файловой системой UFS и корнем зоны до выпуска Solaris 10 5/09 или Solaris 10 10/09. После этого следует создать среду загрузки ZFS с помощью Live Upgrade.

В приведенной ниже последовательности действий образцовая среда загрузки UFS названа c0t1d0s0, корень зоны UFS – zonepool/zfszone, а корневая загружаемая среда ZFS – zfs1009.

  1. Обновите систему до версии Solaris 10 5/09 или Solaris 10 10/09, если используется более ранняя версия Solaris 10.

    Дополнительные сведения об обновлении системы с функционирующей версией Solaris 10 приведены в документе Solaris 10 Installation Guide: Solaris Live Upgrade and Upgrade Planning.

  2. Создайте корневой пул.

    Дополнительные сведения о требованиях к корневому пулу приведены в разделе Требования к установке Solaris и Solaris Live Upgrade для поддержки ZFS .

  3. Убедитесь в загрузке зон из среды UFS. Пример:


    # zoneadm list -cv
      ID NAME             STATUS     PATH                           BRAND    IP    
       0 global           running    /                              native   shared
       2 zfszone          running    /zonepool/zones                native   shared
  4. Создайте новую среду загрузки ZFS. Пример:


    # lucreate -c c1t1d0s0 -n zfs1009 -p rpool
    

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

  5. Активируйте новую среду загрузки 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>.
    .
    .
    .
  6. Перезагрузите систему.


    # init 6
    
  7. Убедитесь в том, что в новой среде загрузки созданы файловые системы 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

Пример 5–7 Перенос корневой файловой системы UFS с корнем зоны в корневую файловую систему ZFS

В этом примере выполняется перенос системы 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