Guia de administração do ZFS Oracle Solaris

Colocando dispositivos off-line e on-line em um pool de armazenamento

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.


Observação –

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.

Colocando um dispositivo off-line

É 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:

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.

Colocando um dispositivo on-line

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