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

Присоединение и отсоединение устройств в пуле устройств хранения данных

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

Если выполняется добавление или отключение диска в корневом пуле ZFS в целях замены диска, см. Замена диска в корневом пуле ZFS.


Пример 4–5 Преобразование двустороннего зеркального пула устройств хранения данных в трехсторонний зеркальный пул

В этом примере zeepool представляет собой существующее двустороннее зеркало, преобразуемое в трехстороннее зеркало путем присоединения нового устройства c2t1d0 к существующему устройству c1t1d0.


# zpool status
  pool: zeepool
 state: ONLINE
 scrub: none requested
config:
        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
errors: No known data errors
# zpool attach zeepool c1t1d0 c2t1d0
# zpool status
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Aug 28 14:11:33 2009
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0 73.5K resilvered

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



Пример 4–6 Преобразование пула устройств хранения данных ZFS без избыточности в зеркальный пул

Кроме того, с помощью команды zpool attach пул устройств хранения данных без избыточности можно преобразовать в пул с избыточностью. Пример:


# zpool create tank c0t1d0
# zpool status
  pool: tank
 state: ONLINE
 scrub: none requested
config:
        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          c0t1d0    ONLINE       0     0     0

errors: No known data errors
# zpool attach tank c0t1d0 c1t1d0
# zpool status
  pool: tank
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Aug 28 14:13:12 2009
config:
        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0 73.5K resilvered

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


# zpool detach zeepool c2t1d0

Однако выполнить эту операцию при отсутствии других действительных реплик данных невозможно. Пример:


# zpool detach newpool c1t2d0
cannot detach c1t2d0: only applicable to mirror and replacing vdevs