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

Просмотр статуса переноса актуальных данных

Процесс замены диска может занять продолжительное время, в зависимости от его емкости и объема данных в пуле. Процесс переноса данных из одного устройства на другое называют переносом актуальных данных; для контроля этого процесса используется команда zpool status.

В традиционных файловых системах перенос актуальных данных выполняется на уровне блоков. Поскольку ZFS исключает искусственные слои диспетчера томов, перенос актуальных данных выполняется более универсальным и контролируемым образом. Эта функция имеет два основных преимущества:

Для контроля процесса переноса актуальных данных используется команда zpool status. Пример:


# zpool status tank
  pool: tank
 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 0h2m, 16.43% done, 0h13m to go
config:
        NAME                  STATE     READ WRITE CKSUM 
        tank                  DEGRADED     0     0     0
          mirror              DEGRADED     0     0     0
            replacing         DEGRADED     0     0     0
              c1t0d0          ONLINE       0     0     0
              c2t0d0          ONLINE       0     0     0  
            c1t1d0            ONLINE       0     0     0

В приведенном примере диск c1t0d0 заменяется диском c2t0d0. Это событие отражается в выходных данных запроса состояния как replacing, что означает выполняющуюся замену виртуального устройства в настройке. Это устройство не существует в действительности, и создать пул с использованием этого типа виртуального устройства невозможно. Цель использования этого устройства состоит только в отображении процесса переноса актуальных данных и точном определении заменяемого устройства.

Следует отметить, что любой пул, для которого в настоящее время выполняется перенос актуальных данных, переводится в состояние ONLINE или DEGRADED, так как не может обеспечить необходимый уровень избыточности до завершения процесса переноса. Чтобы свести к минимуму воздействие на систему, перенос актуальных данных выполняется максимально быстро, хотя системные операции ввода-вывода всегда имеют более низкий приоритет, чем ввод-вывод по запросу пользователя. После завершения переноса актуальных данных выполняется переход к новой полной конфигурации. Пример:


# zpool status tank
  pool: tank
 state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Tue Sep  1 10:55:54 2009
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0

errors: No known data errors

Пул снова переводится в состояние ONLINE, и исходный неисправный диск (c1t0d0) удаляется из конфигурации.