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)
Aprimoramentos de Uso do Comando ZFS
Aprimoramento de Instantâneo do ZFS
Recursos de instalação do Oracle Solaris ZFS
Aprimoramentos no fluxo de envio do ZFS
Diferenças do instantâneo do ZFS (zfs diff)
Recuperação do pool de armazenamento do ZFS e aprimoramentos no desempenho
Ajuste do comportamento síncrono do ZFS
Mensagens aprimoradas do pool ZFS
Aprimoramentos de interoperabilidade ACL do ZFS
Dividindo um pool de armazenamento do ZFS espelhado (zpool split)
Aprimoramentos de substituição de dispositivo do ZFS
Suporte de instalação do ZFS e Flash
Migração de zonas em um ambiente do ZFS
Somas de verificação e autocorreção de dados
Requisitos para nomeação de componentes do ZFS
Diferenças entre o sistema de arquivos tradicional e o Oracle Solaris ZFS
Granularidade do sistema de arquivos ZFS
Contabilidade de espaço em disco do ZFS
Comportamento por espaço excedido
Montando sistemas de arquivos ZFS
Gerenciamento de volume tradicional
Modelo de ACL do Solaris Baseado em NFSv4
2. Introdução ao ZFS do Oracle Solaris
3. Gerenciando pools de armazenamento do Oracle Solaris 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
Esta seção resume os novos recursos do sistema de arquivos ZFS.
Diferenças do instantâneo do ZFS (Diferenças do instantâneo do ZFS (zfs diff))
Recuperação do pool de armazenamento do ZFS e aprimoramentos no desempenho
Dividindo um pool de armazenamento do ZFS espelhado (zpool split)
Oracle Solaris 10 1/13: Os comandos zfs e zpool têm um subcomando help usado para oferecer mais informações sobre os subcomandos zfs e zpool e suas opções com suporte. Por exemplo:
# zfs help The following commands are supported: allow clone create destroy diff get groupspace help hold holds inherit list mount promote receive release rename rollback send set share snapshot unallow unmount unshare upgrade userspace For more info, run: zfs help <command> # zfs help create usage: create [-p] [-o property=value] ... <filesystem> create [-ps] [-b blocksize] [-o property=value] ... -V <size> <volume>
# zpool help The following commands are supported: add attach clear create destroy detach export get help history import iostat list offline online remove replace scrub set split status upgrade For more info, run: zpool help <command> # zpool help attach usage: attach [-f] <pool> <device> <new-device>
Para obter mais informações, consulte zfs(1M) e zpool(1M).
Oracle Solaris 10 1/13: esta versão inclui os seguintes aprimoramentos de instantâneo do ZFS:
O comando zfs snapshot tem um alias snap que oferece a sintaxe abreviada desse comando. Por exemplo:
# zfs snap -r users/home@snap1
O comando zfs diff oferece uma opção de enumeração, -e, para identificar todos os arquivos adicionados ou modificados entre os dois instantâneos. A saída gerada identifica todos os arquivos adicionados, mas não oferece exclusões possíveis. Por exemplo:
# zfs diff -e tank/cindy@yesterday tank/cindy@now + /tank/cindy/ + /tank/cindy/file.1
Você também pode usar a opção -o para identificar os campos selecionados para exibição. Por exemplo:
# zfs diff -e -o size -o name tank/cindy@yesterday tank/cindy@now + 7 /tank/cindy/ + 206695 /tank/cindy/file.1
Para obter informações sobre a criação de instantâneos do ZFS, consulte o Capítulo 6, Trabalhando com instantâneos e clones do Oracle Solaris ZFS.
Oracle Solaris 10 1/13: A propriedade aclmode modifica o comportamento da ACL (Lista de Controle de Acesso) sempre que as permissões de ACL de um arquivo forem modificadas durante uma operação de chmod. A propriedade aclmode foi introduzida novamente com os seguintes valores:
discard – Um sistema de arquivos com uma propriedade aclmode de discard excluir todas as entradas de ACL que não representam o modo do arquivo. Este é o valor padrão.
mask – Um sistema de arquivos com uma propriedade aclmode demask reduz as permissões de usuário ou grupo. As permissões são reduzidas, de forma que não são maiores que os bits de permissão do grupo, a menos que seja uma entrada de usuário com o mesmo UID do proprietário do arquivo ou diretório. Nesse caso, as permissões de ACL são reduzidas para que não fiquem maiores que os bits da permissão do proprietário. O valor da máscara também preserva a ACL nas alterações de modo, desde que uma operação explícita de definição da ACL não tenha sido executada.
passthrough – Um sistema de arquivos com uma propriedade aclmode de passthrough indica que não houve alterações na ACL além da geração das entradas de ACL necessárias para representar o novo modo do arquivo ou diretório.
Para obter mais informações, consulte o Exemplo 7-13.
Oracle Solaris 10 8/11: Nesta versão, os novos recursos de instalação a seguir estão disponíveis:
Você pode usar o método de instalação no modo de texto para instalar um sistema com um arquivo flash ZFS. Para obter mais informações, consulte o Exemplo 4-3.
Você pode usar o comando luupgrade do Oracle Solaris Live Upgrade para instalar um arquivo flash raiz ZFS. Para obter mais informações, consulte o Exemplo 4-8.
Você pode usar o comando lucreate do Oracle Solaris Live Upgrade para especificar um sistema de arquivos /var separado. Para obter mais informações, consulte o Exemplo 4-5.
Oracle Solaris 10 8/11: Nesta versão, você pode definir propriedades do sistema de arquivos que são enviadas e recebidas em um fluxo de instantâneo. Esses aprimoramentos oferecem flexibilidade na aplicação de propriedades do sistema em um fluxo de envio para o sistema de arquivos de recebimento ou ao determinar se as proprieddaes do sistema de arquivos local, como o valor de propriedade mountpoint, devem ser ignorados quando recebidos.
Para obter mais informações, consulte Aplicação de valores de propriedade diferentes a um fluxo de instantâneos do ZFS.
Oracle Solaris 10 8/11: Nesta versão, você pode determinar diferenças do instantâneo ZFS usando o comando zfs diff.
Por exemplo, considere que estes dois instantâneos sejam criados:
$ ls /tank/cindy fileA $ zfs snapshot tank/cindy@0913 $ ls /tank/cindy fileA fileB $ zfs snapshot tank/cindy@0914
Por exemplo, para identificar as diferenças entre dois instantâneos, use sintaxe semelhante à seguinte:
$ zfs diff tank/cindy@0913 tank/cindy@0914 M /tank/cindy/ + /tank/cindy/fileB
Na saída, M indica que o diretório foi modificado. + indica que fileB existe no instantâneo posterior.
Para obter mais informações, consulte Identificação de diferenças do instantâneo do ZFS (zfs diff.
Oracle Solaris 10 8/11: Nesta versão, os seguintes novos recursos do pool de armazenamento ZFS são fornecidos:
Você pode importar um pool com um log ausente usando o comando zpool import -m. Para obter mais informações, consulte Importação de um pool com um dispositivo de log ausente.
Você pode importar um pool no modo somente leitura. Este recurso é principalmente para recuperação do pool. Se um pool danificado não puder ser acessado porque os dispositivos subjacentes estão danificados, você poderá importar o pool somente leitura para recuperar os dados. Para obter mais informações, consulte Importação de um pool no modo somente leitura.
Um pool de armazenamento RAID-Z (raidz1, raidz2 ou raidz3) que é criado nesta versão terá alguns metadados sensíveis à latência espelhados automaticamente para aprimorar o desempenho de transferência de E/S de leitura. Para pools RAID-Z existentes atualizados para pelo menos o pool versão 29, alguns metadados serão espelhados para todos os dados recém-gravados.
Os metadados espelhados em um pool RAID-Z não fornece proteção adicional contra falhas de hardware, semelhante ao que um pool de armazenamento espelhado oferece. Espaço adicional é consumido por metadados espelhados, mas a proteção RAID-Z permanece igual à de versões anteriores. Este aprimoramento é para fins de desempenho apenas.
Solaris 10 8/11: Nesta versão, você pode determinar o comportamento síncrono de um sistema de arquivos ZFS usando a propriedade sync.
O comportamento síncrono padrão é gravar todas as transações do sistema de arquivos síncronas no log de intenção e descarregar todos os dispositivos para garantir que os dados estejam estáveis. A desativação do comportamento síncrono padrão não é recomendada. Aplicativos que dependem de suporte síncrono podem ser afetados e pode ocorrer perda de dados.
A propriedade sync pode ser configurada antes ou após a criação do sistema de arquivos. Em qualquer dos casos, o valor de propriedade é efetivado imediatamente. Por exemplo:
# zfs set sync=always tank/neil
O parâmetro zil_disable não está mais disponível nas versões do Oracle Solaris que incluem a propriedade sync.
Para obter mais informações, consulte a Tabela 5-1.
Oracle Solaris 10 8/11: Nesta versão, você pode usar a opção -T para oferecer um intervalo e valor de contagem para os comandos zpool list e zpool status para exibir informações adicionais.
Além disso, mais informações de scrub (escovação) e resilver (polimento) do pool são fornecidas pelo comando zpool status, desta forma:
Relatório de andamento de resilver. Por exemplo:
scan: resilver in progress since Thu Jun 7 14:41:11 2012 3.83G scanned out of 73.3G at 106M/s, 0h11m to go 3.80G resilvered, 5.22% done
Relatório de andamento de scrub. Por exemplo:
scan: scrub in progress since Thu Jun 7 14:59:25 2012 1.95G scanned out of 73.3G at 118M/s, 0h10m to go 0 repaired, 2.66% done
Mensagem de conclusão de resilver. Por exemplo:
resilvered 73.3G in 0h13m with 0 errors on Thu Jun 7 14:54:16 2012
Mensagem de conclusão de scrub. Por exemplo:
scan: scrub repaired 512B in 1h2m with 0 errors on Thu Jun 7 15:10:32 2012
Mensagem de cancelamento de scrub em andamento. Por exemplo:
scan: scrub canceled on Thu Jun 7 15:19:20 MDT 2012
Mensagens de conclusão de scrub e de resilver persistem nas reinicializações do sistema
A sintaxe a seguir usa o intervalo e a opção de contagem para exibir informações constantes de resilver do pool. Você pode usar o valor -T d para exibir as informações no formato de data padrão ou -T u para exibir as informações em um formato interno.
# zpool status -T d tank 3 2 Wed Nov 14 15:44:34 MST 2012 pool: tank state: DEGRADED status: One or more devices is currently being resilvered. The pool will continue to function in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Wed Nov 14 15:44:34 2012 2.96G scanned out of 4.19G at 189M/s, 0h0m to go 1.48G resilvered, 70.60% done config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 DEGRADED 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 DEGRADED 0 0 0 (resilvering) errors: No known data errors
Oracle Solaris 10 8/11: Nesta versão, os seguintes aprimoramentos da ACL são fornecidos:
ACLs triviais não exigem ACEs (entradas de controle de acesso) deny, exceto para permissões não usuais. Por exemplo, um modo de 0644, 0755 ou 0664 não requer ACEs deny, mas um modo como 0705, 0060 e assim por diante requer ACEs deny.
O comportamento antigo inclui ACEs deny m qualquer ACL trivial, como 644. Por exemplo:
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 14 11:52 file.1 0:owner@:execute:deny 1:owner@:read_data/write_data/append_data/write_xattr/write_attributes /write_acl/write_owner:allow 2:group@:write_data/append_data/execute:deny 3:group@:read_data:allow 4:everyone@:write_data/append_data/write_xattr/execute/write_attributes /write_acl/write_owner:deny 5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
O novo comportamento para uma ACL trivial, como 644, não inclui as ACEs deny. Por exemplo:
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 22 14:30 file.1 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
ACLs não são mais divididas em várias ACEs durante a herança para tentar preservar a permissão não modificada original. Em vez disso, as permissões são modificadas conforme necessário para impor o modo de criação de arquivo.
O comportamento da propriedade aclinherit inclui uma redução de permissões quando a propriedade é definida como restricted, o que significa que as ACLs não são mais divididas em várias ACEs durante a herança.
Uma nova regra de cálculo do modo de permissão especifica que, se uma ACL tiver uma ACE de usuário que também seja o proprietário do arquivo, então essas permissões serão incluídas no cálculo do modo de permissão. A mesma regra será aplicada se uma ACE ao grupo for o proprietário do grupo do arquivo.
Para obter mais informações, consulte Capítulo 7, Uso de ACLs e atributos para proteger arquivos do Oracle Solaris ZFS.
Oracle Solaris 10 9/10: nessa versão, você pode utilizar o comandozpool split para dividir um pool de armazenamento espelhado, o que desanexa um disco ou discos do pool espelhado original para criar outro pool idêntico.
Para obter mais informações, consulte Criando um novo pool ao dividir um pool de armazenamento espelhado do ZFS.
Oracle Solaris 10 9/10 : nessa versão, cada pool de armazenamento do ZFS possui um processo associado, zpool-poolname. Os threads nesse processo são os threads de processamento de E/S do pool que manipulam tarefas de E/S, tais como compactação e validação da soma de verificação, que estão associadas ao pool. O propósito deste processo é fornecer visibilidade em cada utilização da CPU do pool de armazenamento.
Informações sobre estes processos em execução podem ser revisadas utilizando os comandos ps e prstat. Estes processos só estão disponíveis em uma zona global. Para obter mais informações, consulte SDC(7).
Oracle Solaris 10 9/10: Nesta versão, um evento do sistema ou sysevent é fornecido quando os discos em um pool são substituídos por discos maiores. O ZFS foi aprimorado para reconhecer esses eventos e ajustar o pool com base no novo tamanho do disco, dependendo da configuração da propriedade autoexpand. Você pode usar a propriedade do pool autoexpand para ativar ou desativar a expansão automática do pool quando um disco maior substituir um disco menor.
Esses aprimoramentos permitem aumentar o tamanho do pool sem precisar exportar e importar o pool ou reinicializar o sistema.
Por exemplo, a expansão LUN automática é ativada no pool tank.
# zpool set autoexpand=on tank
Ou você pode criar o pool com a propriedade autoexpand ativada.
# zpool create -o autoexpand=on tank c1t13d0
A propriedade autoexpand é desativada por padrão, portanto você pode decidir se deseja que o tamanho do pool seja expandido quando um disco maior substituir um disco menor.
O tamanho do pool também pode ser expandido utilizando o comando zpool online -e. Por exemplo:
# zpool online -e tank c1t6d0
É possível redefinir a propriedade autoexpand depois de o LUN ser anexado ou disponibilizado com a utilização do comando zpool replace. Por exemplo, o pool a seguir é criado com um disco de 8 GB (c0t0d0). O disco de 8 GB é substituído por um disco de 16 GB (c1t13d0), mas o tamanho do pool não é expandido até que a propriedade autoexpand seja ativada.
# zpool create pool c0t0d0 # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 8.44G 76.5K 8.44G 0% ONLINE - # zpool replace pool c0t0d0 c1t13d0 # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 8.44G 91.5K 8.44G 0% ONLINE - # zpool set autoexpand=on pool # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 16.8G 91.5K 16.8G 0% ONLINE -
Outra maneira de expandir o disco sem ativar a propriedade autoexpand é utilizar o comando zpool online -e mesmo que o dispositivo já esteja on-line. Por exemplo:
# zpool create tank c0t0d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 8.44G 76.5K 8.44G 0% ONLINE - # zpool replace tank c0t0d0 c1t13d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 8.44G 91.5K 8.44G 0% ONLINE - # zpool online -e tank c1t13d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 16.8G 90K 16.8G 0% ONLINE -
Os aprimoramentos adicionais de substituição de dispositivo nesta versão incluem o seguinte:
Em versões anteriores, o ZFS não conseguia substituir um disco existente por outro disco ou anexar um disco se o disco de substituição fosse de um tamanho ligeiramente diferente. Nessa versão, é possível substituir um disco existente por outro disco ou anexar um novo disco que seja quase do mesmo tamanho, desde que o pool não esteja cheio.
Nesta versão, não é necessário reinicializar o sistema ou exportar e importar um pool para expandir o tamanho do pool. Conforme descrito anteriormente, você pode ativar a propriedade autoexpand ou utilizar o comando zpool online -e para expandir o tamanho do pool.
Para obter informações sobre a substituição de dispositivos, consulte Substituindo dispositivos em um pool de armazenamento.
Solaris 10 10/09: nessa versão, é possível configurar um perfil JumpStart para identificar um arquivo Flash de um pool raiz ZFS. Para mais informações, consulte Instalando um sistema de arquivos raiz ZFS (instalação de arquivo do Oracle Solaris Flash).
Solaris 10 5/09: essa versão amplia o suporte à migração de zonas em um ambiente ZFS com o Oracle Solaris Live Upgrade. Para mais informações, consulte Utilizando o Oracle Solaris Live Upgrade para migrar ou atualizar um sistema com zonas (no mínimo Solaris 10 5/09).
Para obter uma lista dos problemas conhecidos desta versão, consulte as notas de versão do Solaris 10 5/09.
Solaris 10 10/08: essa versão permite que você instale e inicialize um sistema de arquivos raiz ZFS. Você pode usar a opção de instalação inicial ou o recurso JumpStart para instalar um sistema de arquivos raiz ZFS. Ou você pode utilizar o recurso Oracle Solaris Live Upgrade para migrar um sistema de arquivos raiz UFS para um sistema de arquivos raiz ZFS. O suporte do ZFS para dispositivos de permuta e despejo também é oferecido. Para mais informações, consulte Capítulo 4, Instalando e inicializando um sistema de arquivos raiz do Oracle Solaris ZFS.
Para obter uma lista dos problemas conhecidos desta versão, consulte as notas de versão do Solaris 10 10/08.
Versão 10 6/06 do Solaris: uma ferramenta de gerenciamento do ZFS com base na Web, o console de administração do ZFS, permite que você efetue as tarefas administrativas a seguir:
Criar um novo pool de armazenamento.
Adicionar capacidade a um pool existente.
Mover (exportar) um pool de armazenamento para outro sistema.
Importar um pool de armazenamento exportado anteriormente para torná-lo disponível em outro sistema.
Visualizar informações sobre pools de armazenamento.
Criar um sistema de arquivos.
Criar um volume.
Criar um instantâneo de um sistema de arquivos ou um volume.
Reverter um sistema de arquivos para um instantâneo anterior.
É possível acessar o console de administração do ZFS através de um navegador da Web seguro em:
https://system-name:6789/zfs
Se você digitar o URL apropriado e não conseguir encontrar o console Administração do ZFS, o servidor não deve ter sido iniciado. Para iniciar o servidor, execute o seguinte comando:
# /usr/sbin/smcwebserver start
Se quiser que o servidor seja executado automaticamente quando o sistema for inicializado, execute o seguinte comando:
# /usr/sbin/smcwebserver enable
Observação - Não é possível usar o console de gerenciamento Solaris (smc) para gerenciar pools de armazenamento e sistemas de arquivos ZFS.