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

Procedure Повторное создание корневого пула ZFS и восстановление снимков корневого пула

В рамках этого сценария предположим, что действуют следующие условия:

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

  1. Загрузка с компакт-диска/диска DVD или сети.

    В системе на основе SPARC выберите один из следующих методов загрузки:


    ok boot net -s
    ok boot cdrom -s
    

    Если не используется параметр -s, из программы установки придется выйти.

    В системах на основе x86 укажите параметр для загрузки с диска DVD или из сети. После этого выйдите из программы установкию

  2. Смонтируйте набор данных с удаленным снимком.

    Пример:


    # mount -F nfs remote-system:/rpool/snaps /mnt
    

    Если сетевые службы не настроены, может потребоваться указать IP-адрес удаленной системы.

  3. Если диск с корневым пулом заменен, и на нем отсутствует метка диска, пригодная для использования файловой системой ZFS, метку диска придется изменить.

    Дополнительные сведения об изменении метки диска приведены на следующем сайте:

    http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

  4. Воссоздайте корневой пул.

    Пример:


    # zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=
    /etc/zfs/zpool.cache rpool c1t1d0s0
    
  5. Восстановление снимков корневого пула

    Это действие может занять некоторое время. Пример:


    # cat /mnt/rpool.0804 | zfs receive -Fdu rpool
    
  6. Убедитесь в том, что наборы данных корневого пула восстановлены.

    Пример:


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

    Пример:


    # zpool set bootfs=rpool/ROOT/zfs1009BE rpool
    
  8. Установите загрузочные блоки на новый диск.

    Система на основе 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
    
  9. Перезагрузите систему.


    # init 6