É possível adicionar espaço de disco dinamicamente a um conjunto ao adicionar um novo dispositivo virtual de nível superior. Este espaço de disco fica disponível imediatamente a todos os conjuntos de dados no conjunto. Para adicionar um novo dispositivo virtual a um pool, use o comando zpool add. Por exemplo:
# zpool add zeepool mirror c2t1d0 c2t2d0 |
O formato para especificar os dispositivos virtuais é o mesmo para o comando zpool create. Os dispositivos são verificados para determinar se estão em uso e o comando não pode alterar o nível de redundância sem a opção -f. O comando também suporta a opção -n para que seja possível realizar uma simulação. Por exemplo:
# zpool add -n zeepool mirror c3t1d0 c3t2d0
would update 'zeepool' to the following configuration:
zeepool
mirror
c1t0d0
c1t1d0
mirror
c2t1d0
c2t2d0
mirror
c3t1d0
c3t2d0
|
Esta sintaxe de comando pode adicionar dispositivos espelhados c3t1d0 e c3t2d0 à configuração existente do conjunto zeepool.
Para obter mais informações sobre como é realizada a validação de dispositivos virtuais, consulte Detectando dispositivos em uso.
No exemplo a seguir, outro espelho é adicionado à uma configuração espelhada do ZFS em um sistema do Oracle Sun Fire x4500.
# zpool status tank
pool: tank
state: ONLINE
scrub: none requested
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
mirror-1 ONLINE 0 0 0
c0t2d0 ONLINE 0 0 0
c1t2d0 ONLINE 0 0 0
errors: No known data errors
# zpool add tank mirror c0t3d0 c1t3d0
# zpool status tank
pool: tank
state: ONLINE
scrub: none requested
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
mirror-1 ONLINE 0 0 0
c0t2d0 ONLINE 0 0 0
c1t2d0 ONLINE 0 0 0
mirror-2 ONLINE 0 0 0
c0t3d0 ONLINE 0 0 0
c1t3d0 ONLINE 0 0 0
errors: No known data errors
|
Da mesma forma, os discos extras podem ser adicionados a uma configuração RAID-Z. O exemplo a seguir mostra como converter um conjunto de armazenamento com um dispositivo RAID-Z que contém três discos em um conjunto de armazenamento com dois dispositivos RAID-Z que contém três discos cada.
# zpool status rzpool
pool: rzpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rzpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
c1t2d0 ONLINE 0 0 0
c1t3d0 ONLINE 0 0 0
c1t4d0 ONLINE 0 0 0
errors: No known data errors
# zpool add rzpool raidz c2t2d0 c2t3d0 c2t4d0
# zpool status rzpool
pool: rzpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rzpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
c1t0d0 ONLINE 0 0 0
c1t2d0 ONLINE 0 0 0
c1t3d0 ONLINE 0 0 0
raidz1-1 ONLINE 0 0 0
c2t2d0 ONLINE 0 0 0
c2t3d0 ONLINE 0 0 0
c2t4d0 ONLINE 0 0 0
errors: No known data errors
|
O exemplo abaixo mostra como adicionar um dispositivo de log espelhado a um conjunto de armazenamento espelhado.Para obter mais informações sobre a utilização de dispositivos de log no conjunto de armazenamento, consulte Configurando dispositivos de log do ZFS separados.
# zpool status newpool
pool: newpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
newpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c0t4d0 ONLINE 0 0 0
c0t5d0 ONLINE 0 0 0
errors: No known data errors
# zpool add newpool log mirror c0t6d0 c0t7d0
# zpool status newpool
pool: newpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
newpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c0t4d0 ONLINE 0 0 0
c0t5d0 ONLINE 0 0 0
logs
mirror-1 ONLINE 0 0 0
c0t6d0 ONLINE 0 0 0
c0t7d0 ONLINE 0 0 0
errors: No known data errors
|
Você pode anexar um dispositivo de registro em um dispositivo existente de registro para criar um dispositivo de registro espelhado. Essa operação é idêntica à anexação de um dispositivo em um pool de armazenamento não-espelhado.
Dispositivos de log podem ser removidos utilizando o comando zpool remove. O dispositivo de log espelhado no exemplo anterior pode ser removido ao especificar o argumento mirror-1. Por exemplo:
# zpool remove newpool mirror-1
# zpool status newpool
pool: newpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
newpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c0t4d0 ONLINE 0 0 0
c0t5d0 ONLINE 0 0 0
errors: No known data errors
|
Se a configuração do conjunto contém apenas um dispositivo de log, é recomendado remover o dispositivo de log ao especificar o nome do dispositivo. Por exemplo:
# zpool status pool
pool: pool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
pool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
c0t8d0 ONLINE 0 0 0
c0t9d0 ONLINE 0 0 0
logs
c0t10d0 ONLINE 0 0 0
errors: No known data errors
# zpool remove pool c0t10d0
|
É possível adicionar ao seu conjunto de armazenamento ZFS e removê-los se não forem mais necessários.
Use o comando zpool add para adicionar dispositivos de cache. Por exemplo:
# zpool add tank cache c2t5d0 c2t8d0
# zpool status tank
pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c2t0d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0
c2t3d0 ONLINE 0 0 0
cache
c2t5d0 ONLINE 0 0 0
c2t8d0 ONLINE 0 0 0
errors: No known data errors
|
Os dispositivos de cache não podem ser espalhados ou fazer parte de uma configuração RAID-Z.
Use o comando zpool remove para remover dispositivos de cache. Por exemplo:
# zpool remove tank c2t5d0 c2t8d0
# zpool status tank
pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c2t0d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0
c2t3d0 ONLINE 0 0 0
errors: No known data errors
|
Atualmente, o comando zpool remove suporta apenas remover reservas, dispositivos de log e de cache. Os dispositivos fazem parte da configuração de pool espelhado principal e podem ser removidos usando o comando zpool detach. Dispositivos não-redundantes e RAID-Z não podem ser removidos de um conjunto.
Para obter mais informações sobre como utilizar dispositivos de cache em um conjunto de armazenamento ZFS, consulte Criando um conjunto de armazenamento do ZFS com dispositivos de cache.