Guia de administração do ZFS Oracle Solaris

Anexando e desanexando dispositivos em um pool de armazenamento

Além do comando zpool add, é possível utilizar o comando zpool attach para adicionar um novo dispositivo a um dispositivo existente espelhado ou não espelhado.

Se estiver anexando um disco para criar um conjunto raiz espelhado, consulte Como criar um conjunto raiz espelhado (pós-instalação).

Se for substituir um disco em um conjunto raiz ZFS, consulte Como substituir um disco no pool raiz ZFS.


Exemplo 4–5 Convertendo um pool de armazenamento espelhado bidirecional em um pool de armazenamento espalhado tridirecional

Neste exemplo, zeepool é um espelho bidirecional existente que é transformado em um espelho tridirecional ao anexar c2t1d0, o novo dispositivo, ao dispositivo existente c1t1d0.


# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  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 zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Jan  8 12:59:20 2010
config:

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

errors: No known data errors

Se o dispositivo existente é parte de um espelho bidirecional, a anexação do novo dispositivo criará um espelho quadridirecional, e assim por diante. Em qualquer caso, o novo dispositivo começa a realizar resilvering imediatamente.



Exemplo 4–6 Convertendo um conjunto de armazenamento não redundante do ZFS em um conjunto de armazenamento espelhado do ZFS

Além disso, é possível converter um conjunto de armazenamento não redundante em um conjunto de armazenamento redundante utilizando o comando zpool attach. Por exemplo:


# zpool create tank c0t1d0
# zpool status tank
  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 tank
  pool: tank
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Jan  8 14:28:23 2010
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0  73.5K resilvered

errors: No known data errors

O comando zpool detach pode ser usado para desanexar um dispositivo de um pool de armazenamento espelhado. Por exemplo:


# zpool detach zeepool c2t1d0

Entretanto, esta operação falha se nenhuma outra réplica válida dos dados existir. Por exemplo:


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