Ignorar Links de Navegao | |
Sair do Modo de Exibio de Impresso | |
Guia de administração do Oracle Solaris ZFS Oracle Solaris 10 1/13 Information Library (Português (Brasil)) |
1. Sistema de arquivos do Oracle Solaris ZFS (introdução)
2. Introdução ao ZFS do Oracle Solaris
3. Gerenciando pools de armazenamento do Oracle Solaris ZFS
Componentes de um pool de armazenamento do ZFS
Usando discos em um pool de armazenamento do ZFS
Usando faixas em um pool de armazenamento do ZFS
Usando arquivos em um pool de armazenamento do ZFS
Considerações para Pools de Armazenamento do ZFS
Recursos de replicação de um pool de armazenamento do ZFS
Configuração de pool de armazenamento espelhado
Configuração de pool de armazenamento RAID-Z
Pool armazenamento híbrido do ZFS
Dados de autocorreção em uma configuração redundante
Distribuição dinâmica em um pool de armazenamento
Criando e destruindo pools de armazenamento do ZFS
Criando Pools de Armazenamento do ZFS
Criando um pool de armazenamento básico
Criando um pool de armazenamento espelhado
Criando um pool de armazenamento RAID-Z
Criando um pool de armazenamento do ZFS com dispositivos de log
Criando um pool de armazenamento do ZFS com dispositivos de cache
Cuidados para a Criação de Pools de Armazenamento
Exibindo informações do dispositivo virtual do pool de armazenamento
Manipulando erros de criação do pool de armazenamento do ZFS
Detectando dispositivos em uso
Níveis de replicação inconsistentes
Simulando uma criação de pool de armazenamento
Ponto de montagem padrão para pools de armazenamento
Gerenciando dispositivos em pools de armazenamento do ZFS
Adicionando dispositivos a um pool de armazenamento
Anexando e desanexando dispositivos em um pool de armazenamento
Criando um novo pool ao dividir um pool de armazenamento espelhado do ZFS
Colocando dispositivos off-line e on-line em um pool de armazenamento
Colocando um dispositivo off-line
Colocando um dispositivo on-line
Limpando erros de dispositivo do pool de armazenamento
Substituindo dispositivos em um pool de armazenamento
Designando discos de reserva com reposição em funcionamento no pool de armazenamento
Ativando e desativando discos de reserva com reposição em funcionamento no pool de armazenamento
Gerenciando propriedades do pool de armazenamento do ZFS
Consultando status de pool de armazenamento do ZFS
Exibindo informações sobre os pools de armazenamento do ZFS
Exibindo informações sobre todos os pools de armazenamento ou de um pool específico
Exibindo estatísticas específicas de pool de armazenamento
Script de saída de pool de armazenamento do ZFS
Exibindo o histórico de comandos do pool de armazenamento ZFS
Visualizando estatísticas de E/S para pools de armazenamento do ZFS
Listando estatísticas de E/S em todo o pool
Listando estatísticas de E/S do dispositivo virtual
Determinando o status de integridade de pools de armazenamento do ZFS
Status básico de integridade do pool de armazenamento
Status de integridade detalhado
Reunindo informações do status do pool de armazenamento do ZFS
Migrando pools de armazenamento do ZFS
Preparando para migração do pool de armazenamento do ZFS
Exportando um pool de armazenamento do ZFS
Determinando pools de armazenamento disponíveis para importação
Importando pools de armazenamento ZFS de diretórios alternativos
Importando pools de armazenamento do ZFS
Importação de um pool com um dispositivo de log ausente
Importação de um pool no modo somente leitura
Importação de um pool por um caminho de dispositivo específico
Recuperando pools de armazenamento destruídos do ZFS
Atualizando pools de armazenamento do ZFS
4. Instalando e inicializando um sistema de arquivos raiz do Oracle Solaris ZFS
5. Gerenciando sistemas de arquivos ZFS do Oracle Solaris
6. Trabalhando com instantâneos e clones do Oracle Solaris ZFS
7. Uso de ACLs e atributos para proteger arquivos do Oracle Solaris ZFS
8. Administração delegada do ZFS do Oracle Solaris
9. Tópicos avançados do Oracle Solaris ZFS
10. Solução de problemas e recuperação de pools do Oracle Solaris ZFS
11. Práticas Recomendadas do Oracle Solaris ZFS
As seções seguintes descrevem diferentes situações de criação e destruição de pools de armazenamento do ZFS:
Exibindo informações do dispositivo virtual do pool de armazenamento
Manipulando erros de criação do pool de armazenamento do ZFS
Criar e destruir pools é rápido e fácil. Entretanto, seja cuidadoso ao efetuar estas operações. Embora sejam realizadas verificações para impedir o uso de dispositivos que estão sendo usados em um novo pool, o ZFS nem sempre sabe quando um dispositivo está sendo utilizado. Destruir um pool é mais fácil do que construir um. Use zpool destroy com cuidado. Este comando simples tem consequências significantes.
Para criar um pool de armazenamento, use o comando zpool create. Este comando adota um nome de pool e qualquer quantidade de dispositivos virtuais como argumentos. O nome do pool deve cumprir as convenções de identificação descritas em Requisitos para nomeação de componentes do ZFS.
O seguinte comando cria um novo pool denominado tank que contém os discos c1t0d0 e c1t1d0:
# zpool create tank c1t0d0 c1t1d0
Nomes de dispositivos representando discos inteiros são encontrados no diretório /dev/dsk e estão legendados adequadamente pelo ZFS para conter um único e grande segmento. Os dados são distribuídos dinamicamente nos dois discos.
Para criar um pool espelhado, use a palavra-chave mirror, seguida de uma quantidade de dispositivos de armazenamento que formarão o espelho. É possível especificar vários espelhos com a repetição da palavra-chave mirror na linha de comando. O comando abaixo cria um pool com dois espelhos bidirecionais:
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
A segunda palavra-chave mirror indica que um novo dispositivo virtual de primeiro nível está sendo especificado. Os dados são distribuídos dinamicamente nos dois espelhos e redundados adequadamente em cada disco.
Para obter mais informações sobre recomendações de configurações espelhadas, consulte o Capítulo 11, Práticas Recomendadas do Oracle Solaris ZFS.
No momento, as operações a seguir são suportadas em uma configuração espelhada do ZFS:
Adicionar outro conjunto de discos de um dispositivo de nível superior adicional (vdev) a uma configuração espelhada existente. Para obter mais informações, consulte Adicionando dispositivos a um pool de armazenamento.
Anexar discos adicionais a uma configuração espelhada existente. Ou, anexar discos adicionais a uma configuração não replicada para criar uma configuração espelhada. Para obter mais informações, consulte Anexando e desanexando dispositivos em um pool de armazenamento.
Substituir um disco ou discos em uma configuração espelhada existente desde que os discos de substituição sejam maiores ou iguais ao tamanho do dispositivo a ser substituído. Para obter mais informações, consulte Substituindo dispositivos em um pool de armazenamento.
Desanexando um disco em uma configuração espelhada desde que os dispositivos restantes forneçam redundância adequada para a configuração. Para obter mais informações, consulte Anexando e desanexando dispositivos em um pool de armazenamento.
Dividindo uma configuração espelhada ao desanexar um dos discos ao criar um novo pool idêntico. Para obter mais informações, consulte Criando um novo pool ao dividir um pool de armazenamento espelhado do ZFS.
Não é possível remover completamente um dispositivo que não é um disco de reserva, um dispositivo de log ou um dispositivo de cache de um pool de armazenamento espelhado.
Considere os seguintes requisitos de configuração do pool raiz:
O pool raiz deve ser criado como uma configuração espelhada ou uma configuração de disco único. Não é possível adicionar discos adicionais pra criar vários dispositivos virtuais espelhados de nível superior ao utilizar o comando zpool add, mas é possível expandir um dispositivo virtual espelhado ao utilizar o comando zpool attach.
A configuração distribuída ou RAID-Z não é suportada.
Um pool raiz não pode possuir um dispositivo de log separado.
Se tentar utilizar uma configuração não suportada para um pool raiz, serão exibidas mensagens semelhantes às seguintes:
ERROR: ZFS pool <pool-name> does not support boot environments
# zpool add -f rpool log c0t6d0s0 cannot add to 'rpool': root pool can not have multiple vdevs or separate logs
Para mais informações sobre a instalação e a inicialização de um sistema de arquivos raiz ZFS, consulte Capítulo 4, Instalando e inicializando um sistema de arquivos raiz do Oracle Solaris ZFS.
A criação de um pool RAID-Z de paridade única é idêntica à criação de um pool espelhado, exceto que a palavra-chave raidz ou raidz1 é usada em lugar de mirror. O exemplo abaixo mostra como criar um pool com um dispositivo RAID-Z único que está composto por dois discos:
# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0
Este exemplo ilustra que os discos podem ser especificados ao utilizar seus nomes de dispositivo de estenografia ou seus nomes de dispositivos completos. Tanto /dev/dsk/c5t0d0 quanto c5t0d0 fazem referência ao mesmo disco.
É possível criar configurações RAID-Z de paridade dupla ou tripla ao utilizar a palavra-chave raidz2 ou raidz3 ao criar o pool. Por exemplo:
# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 # zpool status -v tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 c4t0d0 ONLINE 0 0 0 c5t0d0 ONLINE 0 0 0 errors: No known data errors
# zpool create tank raidz3 c0t0d0 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 c8t0d0 # zpool status -v tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz3-0 ONLINE 0 0 0 c0t0d0 ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 c4t0d0 ONLINE 0 0 0 c5t0d0 ONLINE 0 0 0 c6t0d0 ONLINE 0 0 0 c7t0d0 ONLINE 0 0 0 c8t0d0 ONLINE 0 0 0 errors: No known data errors
No momento, as operações a seguir são suportadas em uma configuração RAID-Z do ZFS:
Adicionar outro pool de discos para um dispositivo virtual de nível superior adicional em uma configuração RAID-Z existente. Para obter mais informações, consulte Adicionando dispositivos a um pool de armazenamento.
Substituir um disco ou discos em uma configuração RAID-Z existente desde que os discos de substituição sejam maiores ou iguais ao dispositivo a ser substituído. Para obter mais informações, consulte Substituindo dispositivos em um pool de armazenamento.
No momento, as operações seguintes não são suportadas em uma configuração RAID-Z:
Anexação de um disco adicional a uma configuração RAID-Z existente.
Desconectando um disco de uma configuração RAID-Z, exceto quando você está desanexando um disco que foi substituído por um disco de reserva ou quando você precisa desanexar um disco de reserva.
Não é possível remover completamente um dispositivo que não seja um dispositivo de log ou de cache de uma configuração RAID-Z. Uma RFE é preenchida para esse recurso.
Para obter informações sobre a configuração RAID-Z, consulte Configuração de pool de armazenamento RAID-Z.
O ZIL (ZFS intent log) é fornecido para satisfazer requisitos de POSIX de transações síncronas. Por exemplo, em geral os bancos de dados exigem que suas transações estejam em dispositivos de armazenamento estáveis ao retornar de uma chamada do sistema. O NFS e outros aplicativos também podem usar o fsync() para garantir a estabilidade de dados.
Por padrão, o ZIL é alocado dos blocos no pool principal. Entretanto, talvez seja possível obter um desempenho melhor com o uso separado de dispositivos de log, como NVRAM ou um disco dedicado.
Ao determinar se a configuração de um dispositivo de registro ZFS é apropriada para o seu ambiente, leve em consideração o seguinte:
Os dispositivos de log intencional do ZFS não estão relacionados aos arquivos de log do banco de dados.
Qualquer melhoria no desempenho visto pela implementação de um dispositivo de log separado depende do tipo de dispositivo, da configuração de hardware do pool da carga de trabalho do aplicativo. Para obter informações preliminares sobre desempenho, consulte este blog:
http://blogs.oracle.com/perrin/entry/slog_blog_or_blogging_on
Os dispositivos de log podem ser não replicado ou espelhados, mas o RAID-Z não é suportado por dispositivos de log.
Se um dispositivo de registro separado não for espelhado e o dispositivo que contém o registro falhar, o armazenamento dos blocos de registro revertem ao pool de armazenamento.
Os dispositivos de log podem ser adicionados, substituídos, removidos, anexados, desanexados, importados e exportados como parte do pool de armazenamento maior.
É possível anexar um dispositivo de log a um dispositivo de log existente para criar um dispositivo de log espelhado. Essa operação é idêntica à anexação de um dispositivo em um pool de armazenamento não espelhado.
O tamanho mínimo de um dispositivo de log é o mesmo do tamanho mínimo de cada dispositivo em um pool, que é de 64 MB. A quantidade de dados em atividade que pode ser armazenada em um dispositivo de registro é relativamente pequena. Os blocos de registro são liberados quando a transação de registro (chamada do sistema) é enviada.
O tamanho máximo de um dispositivo de log deve ser aproximadamente a metade do tamanho da memória física, porque essa é a quantidade máxima de possíveis dados em atividade que podem ser armazenados. Por exemplo, se um sistema possuir 16 GB de memória física, considere que o tamanho máximo de um dispositivo de log será de 8 GB.
É possível configurar um dispositivo de log ZFS quando o pool de armazenamento for criado ou depois da sua criação.
O seguinte exemplo mostra como criar um pool de armazenamento espelhado com dispositivos de log espelhados:
# zpool create datap mirror c0t5000C500335F95E3d0 c0t5000C500335F907Fd0 mirror c0t5000C500335BD117d0 c0t5000C500335DC60Fd0 log mirror c0t5000C500335E106Bd0 c0t5000C500335FC3E7d0 # zpool status datap pool: datap state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM datap ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 logs mirror-2 ONLINE 0 0 0 c0t5000C500335E106Bd0 ONLINE 0 0 0 c0t5000C500335FC3E7d0 ONLINE 0 0 0 errors: No known data errors
Para obter informações sobre como recuperar de um dispositivo de registro com falha, consulte Exemplo 10-2.
Os dispositivos de cache fornecem uma camada adicional de cache entre a memória principal e o disco. A utilização dos dispositivos de cache oferece a maior melhoria de desempenho para cargas de trabalho de leitura aleatória do conteúdo geralmente estático.
Você pode criar um pool de armazenamento com dispositivos de cache para dados de pool de armazenamento cache. Por exemplo:
# zpool create tank mirror c2t0d0 c2t1d0 c2t3d0 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
Depois que os dispositivos de cache são adicionados, eles gradualmente são preenchidos com o conteúdo da memória principal. Dependendo do tamanho do dispositivo de cache, poderá demorar mais de uma hora para que os dispositivos sejam preenchidos. A capacidade e as leituras podem ser monitoradas usando o comando zpool iostat como segue:
# zpool iostat -v pool 5
Os dispositivos de cache podem ser adicionados ou removidos de um pool depois dele ser criado.
Considere os seguintes pontos ao determinar a criação de um pool de armazenamento do ZFS com dispositivos de cache:
A utilização dos dispositivos de cache oferece a maior melhoria de desempenho para cargas de trabalho de leitura aleatória do conteúdo geralmente estático.
A capacidade e as leituras podem ser monitoradas usando o comando zpool iostat.
Um único ou vários dispositivos de cache podem ser adicionados quando o pool é criado. Também podem ser adicionados e removidos depois da criação do pool. Para obter mais informações, consulte o Exemplo 3-4.
Os dispositivos de cache não podem ser espalhados ou fazer parte de uma configuração RAID-Z.
Se for encontrado em erro de leitura em um dispositivo de cache, aquele E/S é reemitido para o dispositivo de pool de armazenamento original, que pode fazer parte de uma configuração espelhada ou RAID-Z. O conteúdo dos dispositivos de cache é considerado volátil, similar a outros caches de sistema.
Examine os cuidados a seguir quando criar e gerenciar pools de armazenamento do ZFS.
Não particione ou rotule novamente os discos que são parte de um pool de armazenamento existente. Se você tentar particionar ou rotular novamente um disco de pool de raiz, talvez seja necessário reinstalar o SO.
Não crie um pool de armazenamento que contenha componentes de outro pool de armazenamento, como arquivos ou volumes. Essa configuração não tem suporte e podem ocorrer travamentos.
Um pool criado com um único segmento ou único disco não tem redundância e está sob risco de perda de dados. Um pool criado com vários segmentos, mas sem redundância, também está sob risco de perda de dados. Um pool criado com vários segmentos no disco é mais difícil de gerenciar que um pool criado com discos inteiros.
Um pool que não é criado com redundância de ZFS (RAIDZ ou espelho) só pode reportar inconsistências de dados. Ele não pode reparar inconsistências de dados.
Embora um pool criado com redundância de ZFS possa ajudar a reduzir o tempo de inatividade devido a falhas de hardware, ele não está imune a falhas de hardware, falhas de alimentação ou cabos desconectados. Faça backup de dados regularmente. É importante realizar backups de rotina em dados do pool de hardwares não corporativos.
Não é possível compartilhar pools nos sistemas. O ZFS não é um sistema de arquivos em cluster.
Cada pool de armazenamento contém um ou mais dispositivos virtuais. Um dispositivo virtual é uma representação interna do pool de armazenamento que descreve o layout do armazenamento físico e suas características de falha. Como tal, um dispositivo virtual representa os dispositivos de disco ou arquivos que são usados para criar o pool de armazenamento. Um pool pode ter qualquer número de dispositivos virtuais na parte superior da configuração, conhecida como top-level vdev.
Se o dispositivo virtual de nível superior contém dois ou mais dispositivos físicos, a configuração fornece redundância de dados como dispositivos de espelho ou virtual RAID-Z. Estes dispositivos virtuais consistem em discos, faixas de discos ou arquivos. Um disco de reserva é um dispositivo virtual especial que rastreia discos de reserva com reposição em funcionamento disponíveis para um pool.
Os seguintes exemplos mostram como criar um pool que consiste em dois dispositivos virtuais de nível superior, cada um com espelho de dois discos:
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
O exemplo abaixo mostra como criar um pool que consiste em um dispositivo virtual de nível superior de quatro discos:
# zpool create mypool raidz2 c1d0 c2d0 c3d0 c4d0
É possível adicionar outro dispositivo virtual de nível superior a este pool utilizando o comando zpool add. Por exemplo:
# zpool add mypool raidz2 c2d1 c3d1 c4d1 c5d1
Os discos, segmentos de discos ou arquivos que são utilizados em pools não redundantes que funcionam como dispositivos virtuais de nível superior. Os pools de armazenamento normalmente contêm múltiplos dispositivos virtuais de primeiro nível. O ZFS cria dinamicamente faixas de dados entre todos os dispositivos virtuais de primeiro nível em um pool.
Os dispositivos virtuais e os dispositivos físicos contidos no pool de armazenamento do ZFS são exibidos com o comando zpool status. Por exemplo:
# 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
Os erros de criação de pool podem ocorrer por vários motivos. Alguns desses motivos são óbvios, como quando um dispositivo especificado não existe, enquanto outros são mais sutis.
Antes de formatar um dispositivo, o ZFS determina se o disco está sendo usado pelo ZFS ou por alguma outra parte do sistema operacional. Se o disco estiver em uso, poderão ser exibidos erros como os seguintes:
# zpool create tank c1t0d0 c1t1d0 invalid vdev specification use '-f' to override the following errors: /dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M). /dev/dsk/c1t0d0s1 is currently mounted on swap. Please see swap(1M). /dev/dsk/c1t1d0s0 is part of active ZFS pool zeepool. Please see zpool(1M).
Alguns destes erros podem ser ignorados utilizando a opção -f, mas grande parte deles não. As condições a seguir não podem ser ignoradas utilizando a opção -f, sendo necessário corrigí-los manualmente:
O disco ou uma de suas faixas contém um sistema de arquivos que está montado atualmente. Para corrigir este erro, use o comando umount.
O disco contém um sistema de arquivos que está listado no arquivo /etc/vfstab , mas o sistema de arquivos não está montado atualmente. Para corrigir este erro, remova ou anote a linha no arquivo /etc/vfstab.
O disco está em uso como o dispositivo de dump dedicado para o sistema. Para corrigir este erro, use o comando dumpadm.
O disco ou o arquivo faz parte de um pool de armazenamento ativo do ZFS. Para corrigir este erro, use o comando zpool destroy para destruir o pool, se este não for mais necessário. Ou, use o comando zpool detach para desanexar o disco do outro pool. Somente é possível desanexar um disco do pool de armazenamento espelhado.
As verificações de dispositivo em uso abaixo servem como avisos úteis e podem ser ignoradas com o uso da opção -f para criar o pool:
O disco contém um sistema de arquivos conhecido, embora não esteja montado e não pareça estar em uso.
Este disco é parte de um volume do Solaris Volume Manager.
O disco está em utilização como um ambiente de inicialização alternativo para o Oracle Solaris Live Upgrade.
O disco faz parte de um pool de armazenamento que foi exportado ou removido manualmente de um sistema. Neste último caso, o pool é relatado como potentially active, uma vez que o disco pode ser ou não uma unidade anexada a uma rede em uso por outro sistema. Tome cuidado ao substituir um pool potencialmente ativo.
O exemplo abaixo mostra como a opção -f é usada:
# zpool create tank c1t0d0 invalid vdev specification use '-f' to override the following errors: /dev/dsk/c1t0d0s0 contains a ufs filesystem. # zpool create -f tank c1t0d0
O ideal é corrigir os erros, em vez de utilizar a opção -f para substituí-los.
Não é recomendável criar pools com dispositivos virtuais de diferentes níveis de replicação. O comando zpool tenta impedir que você crie por acidente um pool com níveis de redundância inconsistentes. Se tentar criar um pool com uma configuração assim, serão exibidos erros como os seguintes:
# zpool create tank c1t0d0 mirror c2t0d0 c3t0d0 invalid vdev specification use '-f' to override the following errors: mismatched replication level: both disk and mirror vdevs are present # zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0 c5t0d0 invalid vdev specification use '-f' to override the following errors: mismatched replication level: 2-way mirror and 3-way mirror vdevs are present
É possível substituir estes erros com a opção -f, mas deve-se evitar esta prática. O comando também avisa sobre a criação de um pool espelhado ou RAID-Z que use dispositivos de diferentes tamanhos. Apesar desta configuração ser permitida, níveis de redundância incompatíveis resultam em espaço de disco inutilizado no dispositivo maior. A opção -f é necessária para substituir os avisos.
A tentativa de criar um pool pode falhar de forma inesperada de diferentes maneiras, e formatar discos é uma ação potencialmente prejudicial. Para estas razões, o comando zpool create possui a opção adicional, -n, que simula a criação do pool sem realmente gravar no dispositivo. Esta opção simulação efetua a verificação do dispositivo em uso e a validação do nível de replicação, e relata quaisquer erros durante o processo. Se nenhum erro for encontrado, será exibida uma saída semelhante à seguinte:
# zpool create -n tank mirror c1t0d0 c1t1d0 would create 'tank' with the following layout: tank mirror c1t0d0 c1t1d0
Alguns erros não podem ser detectados sem a criação real do pool. O exemplo mais comum é a especificação do mesmo dispositivo duas vezes na mesma configuração. Não é possível detectar este erro com certeza sem realmente gravar os dados, de forma que o comando zpool create -n pode relatar êxito e ainda assim falhar em criar o pool quando realmente executado sem esta opção.
Quando um pool é criado, o ponto de montagem padrão para o sistema de arquivos de raiz de nível superior é /pool-name. Este diretório não deve existir ou deve estar vazio. Se o diretório não existir, será criado automaticamente. Se o diretório estiver vazio, o sistema de arquivos de s raiz será montado em cima do diretório existente. Para criar um pool com um ponto de montagem padrão diferente, use a opção -m do comando zpool create. Por exemplo:
# zpool create home c1t0d0 default mountpoint '/home' exists and is not empty use '-m' option to provide a different default # zpool create -m /export/zfs home c1t0d0
Este comando cria um novo pool home e o sistema de arquivos home com um ponto de montagem /export/zfs.
Para obter mais informações sobre pontos de montagem, consulte Gerenciando pontos de montagem do ZFS.
Os pools são destruídos com o uso do comando zpool destroy. Este comando destrói o pool mesmo se contiver conjuntos de dados montados.
# zpool destroy tank
Cuidado - Tome muito cuidado ao destruir um pool. Certifique-se de que está destruindo o pool certo e sempre tenha cópias dos dados. Se destruir por acidente o pool errado, poderá tentar recuperá-lo. Para obter mais informações, consulte Recuperando pools de armazenamento destruídos do ZFS. |
Se você destruir um pool com o comando zpool destroy, o pool ainda ficará disponível para importação, como descrito em Recuperando pools de armazenamento destruídos do ZFS. Isso significa que os dados confidenciais ainda podem estar disponíveis nos discos que eram parte do pool. Se você quiser destruir dados nos discos destruídos do pool, deverá usar um recurso como a opção analyze->purge do utilitário format em todos os discos do pool destruído.
O ato de destruir um pool requer que os dados sejam gravados em disco para indicar que o pool deixou de ser válido. Estas informações de estado evitam que o dispositivo apareça como um possível pool ao realizar uma importação. Se um ou mais dispositivos não estiverem disponíveis, o pool pode ainda assim ser destruído. No entanto, as informações de estado necessárias não serão gravadas nestes dispositivos indisponíveis.
Estes dispositivos, quando reparados de maneira adequada, são reportados como potencialmente ativos ao criar um novo pool. Eles aparecem como dispositivos válidos ao buscar por pools para importar. Se um pool apresentar dispositivos UNAVAIL suficientes, de forma que o próprio pool fique UNAVAIL (o que significa que o dispositivo virtual de primeiro nível é UNAVAIL), o comando imprimirá um aviso e não poderá ser concluído sem a opção -f. Esta opção é necessária porque o pool não pode ser aberto, então não é possível saber se os dados estão armazenados lá. Por exemplo:
# zpool destroy tank cannot destroy 'tank': pool is faulted use '-f' to force destruction anyway # zpool destroy -f tank
Para obter mais informações sobre a integridade de pools e dispositivos, consulte Determinando o status de integridade de pools de armazenamento do ZFS.
Para obter mais informações sobre a importação de pools, consulte Importando pools de armazenamento do ZFS.