O ZFS permite que dispositivos sejam colocados off-line ou on-line. Quando o hardware não é confiável ou não funciona corretamente, o ZFS continua a ler ou gravar dados no dispositivo, pressupondo que a condição é apenas temporária. Se a condição não for temporária, é possível instruir o ZFS a ignorar o dispositivo colocando-o off-line. O ZFS não envia solicitações a um dispositivo off-line.
Não é necessário colocar os dispositivos off-line para substituí-los.
É possível utilizar o comando zpool offline quando for necessário desconectar o armazenamento temporariamente. Por exemplo, se for necessário desconectar fisicamente uma matriz de um conjunto de switches Fibre Channel e conectar a matriz a um conjunto diferente, é possível utilizar os LUNs da matriz que foram utilizados nos conjuntos de armazenamento do ZFS. Depois da matriz ser reconectada e estar operacional no novo conjunto de switches, é possível colocar os mesmos LUNs on-line. Os dados que foram adicionados aos conjuntos de armazenamento enquanto os LUNs estavam off-line podem sofrer resilvering nos LUNs depois de serem colocados on-line.
Esta situação é possível, pressupondo que os sistemas em questão reconhecem o armazenamento depois de serem anexados aos novos switches, possivelmente através de controladores diferentes, e os conjuntos são configurados como configurações RAID-Z ou espelhados.
É possível colocar um dispositivo off-line com o uso do comando zpool offline. Se o dispositivo for um disco, ele pode ser especificado pelo caminho ou por um nome abreviado. Por exemplo:
# zpool offline tank c1t0d0 bringing device c1t0d0 offline |
Considere os pontos a seguir ao tornar um dispositivo off-line:
Não é possível colocar um pool off-line no momento em que se torna falho. Por exemplo, não é possível colocar off-line dois dispositivos de uma configuração raidz1, nem colocar off-line um dispositivo virtual de nível superior.
# zpool offline tank c1t0d0 cannot offline c1t0d0: no valid replicas |
Por padrão, o estado OFF-LINEé persistente. O dispositivo permanece off-line quando o sistema é reiniciado.
Para colocar um dispositivo temporariamente off-line, use a opção zpool offline -t. Por exemplo:
# zpool offline -t tank c1t0d0 bringing device 'c1t0d0' offline |
Quando o sistema é reiniciado, este dispositivo volta automaticamente ao estado ONLINE.
Quando um dispositivo é colocado off-line, ele não é desanexado do pool de armazenamento. Se tentar utilizar o dispositivo colocado off-line em outro conjunto, mesmo depois de o conjunto original ter sido destruído, será exibida uma mensagem semelhante à seguinte:
device is part of exported or potentially active ZFS pool. Please see zpool(1M) |
Se desejar utilizar o dispositivo off-line em outro conjunto de armazenamento depois de ter destruído o conjunto de armazenamento original, primeiro coloque o dispositivo online, e então destrua o conjunto de armazenamento original.
Outra forma de utilizar um dispositivo de outro conjunto de armazenamento, enquanto mantém o conjunto de armazenamento original, é substituindo o dispositivo existente no conjunto de armazenamento original por outro dispositivo semelhante. Para obter informações sobre a substituição de dispositivos, consulte Substituindo dispositivos em um pool de armazenamento.
Os dispositivos off-line aparecem no estado OFF-LINE quando é consultado o estado do conjunto. Para obter informações sobre consultas de status do pool, consulte Consultando status de pool de armazenamento do ZFS.
Para obter mais informações sobre a integridade de dispositivos, consulte Determinando o status de integridade de pools de armazenamento do ZFS.
Depois de colocar um dispositivo off-line, ele pode ser colocado novamente on-line com a utilização do comando zpool online. Por exemplo:
# zpool online tank c1t0d0 bringing device c1t0d0 online |
Quando um dispositivo é colocado on-line, quaisquer dados que tenham sido gravados no conjunto são sincronizados novamente com o dispositivo recém disponível. Observe que não é possível utilizar dispositivos on-line para substituir um disco. Se ao colocar um dispositivo off-line, substituir o dispositivo e colocá-lo on-line, ele permanece no estado de falho.
Se tentar colocar um dispositivo falho on-line, será exibida uma mensagem semelhante à seguinte:
# zpool online tank c1t0d0 warning: device 'c1t0d0' onlined, but remains in faulted state use 'zpool replace' to replace devices that are no longer present |
Também pode ser possível visualizar a mensagem de disco falho exibida no console ou escrita no arquivo /var/adm/messages. Por exemplo:
SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major EVENT-TIME: Wed Jun 30 14:53:39 MDT 2010 PLATFORM: SUNW,Sun-Fire-880, CSN: -, HOSTNAME: neo SOURCE: zfs-diagnosis, REV: 1.0 EVENT-ID: 504a1188-b270-4ab0-af4e-8a77680576b8 DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information. AUTO-RESPONSE: No automated response will occur. IMPACT: Fault tolerance of the pool may be compromised. REC-ACTION: Run 'zpool status -x' and replace the bad device. |
Para obter mais informações sobre a substituição de um dispositivo falho, consulte Reparando um dispositivo faltando.
É possível utilizar o comando zpool online -e para expandir um LUN. Por padrão, um LUN que é adicionado a um conjunto não é expandido ao seu tamanho total a não ser que a propriedade do conjunto autoexpand esteja ativada. É possível expandir o LUN automaticamente ao utilizar o comando zpool online -e, mesmo se o comando LUN já estiver on-line ou se o LUN estiver atualmente off-line. Por exemplo:
# zpool online -e tank c1t13d0 |