Este capítulo fornece instruções passo a passo para fazer a configuração básica do ZFS do Oracle Solaris. Até final deste capítulo, você terá uma idéia básica de como funcionam os comandos do ZFS e será capaz de criar conjuntos e sistemas de arquivos simples. Este capítulo não oferece uma visão geral abrangente e faz referência a capítulos para informações mais detalhadas do assunto tratado.
Este capítulo traz as seguintes seções:
Verifique as recomendações e os requisitos de hardware e software seguintes antes de tentar utilizar o software do ZFS:
Utilize um sistema com base em SPARC ou em x86 que esteja em execução no Solaris 10 6/06 ou versão superior.
O espaço mínimo em disco necessário para um conjunto de armazenamento é de 64 MB. O tamanho mínimo do disco é de 128 MB.
O tamanho mínimo de memória necessária para a instalação de um sistema Solaris é de 768 MB. No entanto, para obter bom desempenho do ZFS, utilize pelo menos 1GB de memória.
Se você criar uma configuração de disco espelhada, utilize diversos controladores.
A administração do ZFS foi concebida levando-se em consideração a simplicidade. Um dos objetivos do design é reduzir o número de comandos necessários para criar um sistema de arquivos utilizável. Por exemplo, ao criar um novo conjunto, um novo sistema de arquivos do ZFS é automaticamente criado e montado.
O exemplo a seguir mostra como criar um conjunto de armazenamento espelhado básico chamado tank e um sistema de arquivos do ZFS chamado tank em um comando. Suponha que a totalidade dos discos /dev/dsk/c2t0d0 e /dev/dsk/c0t1d0 possa ser usada.
# zpool create tank mirror c1t0d0 c2t0d0 |
Para obter mais informações sobre configurações de pool do ZFS, consulte Recursos de replicação de um pool de armazenamento do ZFS.
O novo sistema de arquivos do ZFS, tank, pode utilizar tanto espaço em disco quanto for necessário e é automaticamente montado em /tank.
# mkfile 100m /tank/foo # df -h /tank Filesystem size used avail capacity Mounted on tank 80G 100M 80G 1% /tank |
É provável que você queira criar sistemas de arquivos adicionais dentro de um conjunto. Os sistemas de arquivos fornecem pontos de administração que permitem gerenciar diferentes conjuntos de dados dentro de um mesmo conjunto.
O exemplo a seguir mostra como criar um sistema de arquivos chamado fs no conjunto de armazenamento tank.
# zfs create tank/fs |
O novo sistema de arquivos do ZFS, tank/fs, pode utilizar tanto espaço em disco quanto for necessário e é automaticamente montando em /tank/fs.
# mkfile 100m /tank/fs/foo # df -h /tank/fs Filesystem size used avail capacity Mounted on tank/fs 80G 100M 80G 1% /tank/fs |
Normalmente, é provável que você queira criar e organizar uma hierarquia de sistemas de arquivos que corresponda às suas necessidades organizacionais. Para obter mais informações sobre a criação de uma hierarquia de sistemas de arquivos do ZFS, consulte Criando uma hierarquia de sistemas de arquivos ZFS.
O exemplo anterior ilustra a simplicidade do ZFS. O restante deste capítulo apresenta um exemplo mais completo, semelhante ao que poderia ser encontrado em seu ambiente. A primeira tarefa consiste em identificar os seus requisitos de armazenamento e criar um pool de armazenamento. O pool descreve as características físicas do armazenamento e deve ser criado antes dos sistemas de arquivos.
Determine os dispositivos disponíveis para o conjunto de armazenamento.
Antes de criar um pool de armazenamento, você deve determinar que dispositivos armazenarão os dados. Esses dispositivos devem ser discos de no mínimo 128 MB e não devem estar sendo utilizados por outras partes do sistema operacional. Os dispositivos podem ser faixas individuais de um disco pré-formatado ou podem ser discos inteiros que o ZFS formata como uma única e grande faixa.
No exemplo de armazenamento utilizado em Como criar um pool de armazenamento do ZFS, suponha que os discos /dev/dsk/c1t0d0 e /dev/dsk/c2t0d0 estejam totalmente disponíveis para uso.
Para obter mais informações sobre os discos e como são usados e rotulados, consulte Usando discos em um pool de armazenamento do ZFS.
Escolha a replicação de dados.
O ZFS oferece suporte a vários tipos de replicação de dados, o que determina que tipos de falhas de hardware o conjunto pode suportar. O ZFS oferece suporte a configurações não redundantes (distribuídas), bem como a espelhamento e RAID-Z (uma variação de RAID-5).
No exemplo de armazenamento em Como criar um pool de armazenamento do ZFS, utiliza-se o espelhamento básico de dois discos disponíveis.
Para obter mais informações sobre os recursos de replicação do ZFS, consulte Recursos de replicação de um pool de armazenamento do ZFS.
Torne-se raiz e adote uma função equivalente com os perfis corretos do ZFS apropriado.
Para obter mais informações sobre os perfis corretos do ZFS, consulte Perfis de direitos do ZFS.
Escolha um nome para o conjunto de armazenamento.
O nome do conjunto é utilizado para identificar o conjunto de armazenamento quando os comandos zpool ou zfs estão sendo utilizados. A maioria dos sistemas requer somente um único conjunto, tornando possível selecionar o nome de sua preferência, contanto que esteja de acordo com os requisitos de identificação citados em Requisitos para nomeação de componentes do ZFS.
Crie o pool.
Por exemplo, o comando a seguir cria um conjunto espelhado chamado tank:
# zpool create tank mirror c1t0d0 c2t0d0 |
Se um ou mais dispositivos contiverem outro sistema de arquivos ou estiverem em uso, o comando não poderá criar o pool.
Para obter mais informações sobre a criação de pools de armazenamento, consulte Criando um pool de armazenamento do ZFS. Para obter mais informações sobre como é determinado o uso do dispositivo, consulte Detectando dispositivos em uso.
Visualize os resultados.
Você pode determinar se seu pool foi criado com sucesso usando o comando zpool list .
# zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80G 137K 80G 0% ONLINE - |
Para obter mais informações sobre a visualização do status do pool, consulte Consultando status de pool de armazenamento do ZFS.
Depois de criar um pool de armazenamento para armazenar dados, você pode criar sua hierarquia de sistemas de arquivos. As hierarquias são mecanismos simples, porém, eficazes de organização de informações. São muito familiares àqueles que já usaram sistemas de arquivos.
O ZFS permite que os sistemas de arquivos sejam organizados em hierarquias, nas quais cada sistema de arquivo tem apenas um único pai. A raiz da hierarquia é sempre o nome do pool. O ZFS favorece esta hierarquia através do suporte à herança de propriedade para que as propriedades comuns possam ser definidas rápida e facilmente em árvores inteiras dos sistemas de arquivos.
Selecione a granularidade do sistema de arquivos.
Os sistemas de arquivos ZFS são o ponto central da administração. São leves e podem ser criados facilmente. Um bom modelo a ser utilizado é o de estabelecer um sistema de arquivos por usuário ou projeto, já que este modelo permite que as propriedades, instantâneos e backups possam ser controlados em uma base por usuário ou por projeto.
Os dois sistemas de arquivos ZFS, bonwick e billm, são criados em Como criar sistemas de arquivos ZFS.
Para obter mais informações sobre o gerenciamento de sistemas de arquivos, consulte Capítulo 6Gerenciando sistemas de arquivos ZFS do Oracle Solaris.
Agrupe os sistemas de arquivos semelhantes.
O ZFS permite que os sistemas de arquivos sejam organizados em hierarquias para que os sistemas de arquivos semelhantes possam ser agrupados. Esse modelo oferece um ponto central de administração para o controle de propriedades e a administração de sistemas de arquivos. Os sistemas de arquivos semelhantes devem ser criados sob um mesmo nome.
No exemplo em Como criar sistemas de arquivos ZFS, os dois sistemas de arquivos são inseridos em um sistema de arquivos chamado home.
Escolha as propriedades do sistema de arquivos.
A maioria das características do sistema de arquivos é controlada por propriedades. Essas propriedades controlam vários comportamentos, incluindo onde os sistemas de arquivos são montados, como são compartilhados, se utilizam compactação e se as cotas estão ativas.
No exemplo em Como criar sistemas de arquivos ZFS, todos os diretórios home estão montados no usuário /export/zfs/, compartilhados através do NFS e apresentam a compactação ativada. Além disso, no usuário bonwick, é obrigatória uma cota de 10 GB.
Para obter mais informações sobre propriedades, consulte Introduzindo as propriedades do ZFS.
Torne-se raiz e adote uma função equivalente com os perfis corretos do ZFS apropriado.
Para obter mais informações sobre os perfis corretos do ZFS, consulte Perfis de direitos do ZFS.
Crie a hierarquia desejada.
Neste exemplo, é criado um sistema de arquivos que age como um contêiner para sistemas de arquivos individuais.
# zfs create tank/home |
Defina as propriedades de herança.
Depois que a hierarquia do sistema de arquivos tiver sido estabelecida, defina as propriedades que devem ser compartilhadas com os usuários:
# zfs set mountpoint=/export/zfs tank/home # zfs set sharenfs=on tank/home # zfs set compression=on tank/home # zfs get compression tank/home NAME PROPERTY VALUE SOURCE tank/home compression on local |
Você pode definir as propriedades do sistema de arquivos quando o mesmo é criado. Por exemplo:
# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home |
Para obter mais informações sobre propriedades e herança de propriedades, consulte Introduzindo as propriedades do ZFS.
Em seguida, os sistemas de arquivos individuais são agrupados no sistema de arquivos home no pool tank.
Crie os sistemas de arquivos individuais.
Observe que os sistemas de arquivos podem ter sido criados e, então, as propriedades podem ter sido alteradas no nível home. Todas as propriedades podem ser alteradas dinamicamente enquanto os sistemas de arquivos estão sendo usados.
# zfs create tank/home/bonwick # zfs create tank/home/billm |
Esses sistemas de arquivos herdam os valores de propriedade dos seus pais, e são montados automaticamente no /export/zfs/ usuário e são compartilhados por NFS. Não é necessário editar o arquivo /etc/vfstab ou o /etc/dfs/dfstab.
Para obter mais informações sobre a criação de sistemas de arquivos, consulte Criando um sistema de arquivos ZFS.
Para mais informações sobre a montagem e o compartilhamento de sistemas de arquivos, consulte Montando e compartilhando sistemas de arquivos ZFS.
Defina as propriedades específicas do sistema de arquivos.
Neste exemplo, uma cota de 10 GB é atribuída ao usuário bonwick. Essa propriedade limita a quantidade de espaço que o usuário pode utilizar, independentemente do espaço em disco disponível no pool.
# zfs set quota=10G tank/home/bonwick |
Visualize os resultados.
Visualize as informações disponíveis do sistema de arquivos usando o zfs list:
# zfs list NAME USED AVAIL REFER MOUNTPOINT tank 92.0K 67.0G 9.5K /tank tank/home 24.0K 67.0G 8K /export/zfs tank/home/billm 8K 67.0G 8K /export/zfs/billm tank/home/bonwick 8K 10.0G 8K /export/zfs/bonwick |
Observe que o usuário bonwick tem somente 10 GB de espaço disponível, enquanto que o usuário billm pode utilizar o conjunto completo (67 GB).
Para obter mais informações sobre a visualização do status do sistema de arquivos, consulte Consultando informações sobre o sistema de arquivos ZFS.
Para obter mais informações sobre como o espaço é utilizado e calculado, consulte Contabilidade de espaço em disco do ZFS.