Guia de administração do ZFS Oracle Solaris

Propriedades nativas definíveis do ZFS

As propriedades nativas definíveis são propriedades cujos valores podem ser recuperados e alterados. As propriedades nativas definíveis são definidas usando o comando zfs set, conforme descrito em Definindo propriedades do ZFS ou usando o comando zfs create conforme descrito em Criando um sistema de arquivos ZFS. Com exceção das cotas e reservas, as propriedades nativas definíveis são herdadas. Para obter mais informações sobre cotas e reservas, consulte Definindo cotas e reservas do ZFS.

Algumas propriedades nativas definíveis são específicas para um determinado tipo de conjunto de dados. Nesses casos, um tipo de conjunto de dados é mencionado na descrição em Tabela 6–1. Se não for especificamente mencionado, um propriedade se aplica a todos os tipos de conjunto de dados: sistemas de arquivos, volumes, clones e instantâneos.

As propriedades configuráveis estão listadas aqui e são descritas em Tabela 6–1.

A propriedade canmount

Se a propriedade canmount for definida como off, o sistema de arquivos não pode ser montando utilizando os comandos zfs mount ou zfs mount -a. Configurar essa propriedade para off é semelhante a configurar a propriedade mountpoint como nenhum, exceto que o conjunto de dados ainda apresenta uma propriedade mountpoint normal que pode ser herdada. Por exemplo, é possível definir essa propriedade como off, estabelecer propriedades herdáveis para os sistemas de arquivos descendentes, mas o sistema de arquivos pai em si nunca é montado nem pode ser acessado pelos usuários. Nesse caso, o sistema de arquivos pai serve como um recipiente, de modo que é possível definir propriedades no contêiner, mas o contêiner em si nunca está acessível.

No exemplo a seguir, userpool é criado e sua propriedade canmount é definida como desativadaoff. Os pontos de montagem dos sistemas de arquivos descendentes de usuário são definidos como um ponto de montagem comum, /export/home. As propriedades que estão definidas no sistema de arquivos pai são herdadas pelos sistemas de arquivos descendentes, mas o sistema de arquivos pai em si nunca é montado.


# zpool create userpool mirror c0t5d0 c1t6d0
# zfs set canmount=off userpool
# zfs set mountpoint=/export/home userpool
# zfs set compression=on userpool
# zfs create userpool/user1
# zfs create userpool/user2
# zfs mount
userpool/user1                  /export/home/user1
userpool/user2                  /export/home/user2

Se a propriedade canmount for definida como noauto, significa que o conjunto de dados pode ser montado apenas explicitamente, não automaticamente. Essa configuração é utilizada pelo software de atualização do Oracle Solaris de modo que somente os conjuntos de dados pertencentes ao ambiente de inicialização ativo são montados no momento da inicialização.

A propriedade recordsize

A propriedade recordsize especifica um tamanho de bloco sugerido para os arquivos no sistema de arquivos.

Esta propriedade é designada unicamente para uso com volumes de trabalho de banco de dados que acessam arquivos em registros de tamanho fixo. O ZFS ajusta automaticamente os tamanhos do bloco de acordo com os algoritmos internos otimizados para padrões de acesso típicos. Para bancos de dados que criam arquivos muito grandes, mas que acessam os arquivos em pequenos blocos aleatórios, esses algoritmos podem ser ideais. Especificar um valor recordsize maior ou igual ao tamanho do registro do banco de dados pode resultar em melhoras significativas no desempenho. A utilização dessa propriedade para sistemas de arquivos com fins gerais é totalmente desaconselhado e pode afetar negativamente o desempenho. O tamanho especificado deve ser uma potência de 2 maior ou igual a 512 bytes e menor ou igual a 128 KB. Alterar o valor recordsize do sistema de arquivos afeta somente os arquivos criados posteriormente. Os arquivos existentes não são afetados.

A abreviatura da propriedade é rcsize.

A propriedade volsize

A propriedade volsize especifica o tamanho lógico do volume. Por padrão, a criação de um volume estabelece uma reserva para a mesma quantidade. Quaisquer alterações do volsize se refletem em uma alteração equivalente na reserva. Estas verificações são usadas para evitar comportamentos inesperados para os usuários. Um volume que contém menos espaço do que ele exige pode resultar em um comportamento indefinido ou corrupção de dados, dependendo de como o volume é usado. Esses efeitos também podem ocorrer quando o tamanho do volume é alterado enquanto ele é utilizado, particularmente quando o espaço é diminuído. Tenha extremo cuidado ao ajustar o tamanho do volume.

Embora não seja recomendável, é possível criar um volume esparso especificando o sinalizador -s para zfs create -V ou alterando a reserva depois que o volume for criado. Um volume esparso é um volume em que a reserva não é igual ao tamanho do volume. Em um volume esparso, as alterações para volsize não se refletem na reserva.

Para obter mais informações sobre o uso de volumes, consulte Volumes ZFS.