Esta seção descreve os novos recursos do ZFS no Solaris Express Developer Edition versão 5/07.
Renomeação recursiva de instantâneos do ZFS – é possível renomear recursivamente todos os instantâneos descendentes do ZFS usando-se o comando zfs rename -r.
Por exemplo, faça o instantâneo de um conjunto de sistemas de arquivos do ZFS denominado users/home@today. No dia seguinte renomeie todos os instantâneos em um comando, como users/home/@yesterday .
Os instantâneos são o único conjunto de dados que pode ser renomeado recursivamente.
A compactação GZIP está disponível – é possível definir a compactação gzip em sistemas de arquivos do ZFS além da compactação lzjb. Você pode especificar a compactação como gzip , que é o padrão, ou como gzip-N, em que N é de 1 a 9. Por exemplo:
# zfs create -o compression=gzip users/home/snapshots # zfs get compression users/home/snapshots NAME PROPERTY VALUE SOURCE users/home/snapshots compression gzip local # zfs create -o compression=gzip-9 users/home/oldfiles # zfs get compression users/home/oldfiles NAME PROPERTY VALUE SOURCE users/home/oldfiles compression gzip-9 local |
Armazenamento de várias cópias de dados do usuário do ZFS – como um recurso de segurança, os metadados do sistema de arquivos do ZFS são armazenados automaticamente várias vezes em diferentes discos, se possível. Este recurso é conhecido como blocos idem.
A partir desta versão, é possível especificar que as cópias múltiplas dos dados do usuário também sejam armazenadas por sistema de arquivos usando-se o comando zfs set copies. Por exemplo:
# zfs set copies=2 users/home # zfs get copies users/home NAME PROPERTY VALUE SOURCE users/home copies 2 local |
Os valores disponíveis são 1, 2 ou 3. O valor padrão é 1. Essas cópias estão em acréscimo a qualquer redundância de nível de pool, tais como na configuração espelhada ou RAID-Z.
Os benefícios do armazenamento de cópias múltiplas dos dados do usuário do ZFS são os seguintes:
Melhora a retenção de dados, permitindo recuperações de falhas de leituras em blocos irrecuperáveis, como falhas de mídia (bit rot) em todas as configurações do ZFS.
Oferece proteção de dados, mesmo quando há somente um disco disponível.
Permite selecionar as políticas de proteção de dados por sistema de arquivos, além das capacidades do grupo de armazenamento.
Informações melhoradas sobre o pool de armazenamento ( zpool status) - é possível usar o comando zpool status - v para exibir uma lista de arquivos com erros persistentes. Anteriormente, era necessário usar o comando find -inum para identificar os nomes de arquivos na lista de inodes exibida.
Melhora do compartilhamento do sistema de arquivos do ZFS – o processo de compartilhamento de sistemas de arquivos foi melhorado. Embora a modificação de arquivos de configuração do sistema, como /etc/dfs/dfstab, não seja necessária para o compartilhamento de sistemas de arquivos do ZFS, é possível usar o comando sharemgr para gerenciar as propriedades de compartilhamento do ZFS. O comando sharemgr permite definir e gerenciar as propriedades de compartilhamento em grupos de compartilhamento. Os compartilhamentos do ZFS são designados automaticamente no grupo de compartilhamento zfs.
Assim como em versões anteriores, é possível definir a propriedade sharenfs do ZFS em um sistema de arquivos do ZFS para compartilhar tal sistema. Por exemplo:
# zfs set sharenfs=on tank/home |
Ou é possível usar o novo subcomando sharemgr add-share para compartilhar um sistema de arquivos do ZFS no grupo de compartilhamento zfs. Por exemplo:
# sharemgr add-share -s tank/data zfs # sharemgr show -vp zfs zfs nfs=() zfs/tank/data /tank/data /tank/data/1 /tank/data/2 /tank/data/3 |
Logo, é possível usar o comando sharemgr para gerenciar os compartilhamentos do ZFS. O exemplo abaixo mostra como usar sharemgr para definir a propriedade nosuid nos sistemas de arquivos do ZFS compartilhados. É necessário iniciar os caminhos de compartilhamento do ZFS com a designação /zfs.
# sharemgr set -P nfs -p nosuid=true zfs/tank/data # sharemgr show -vp zfs zfs nfs=() zfs/tank/data nfs=(nosuid="true") /tank/data /tank/data/1 /tank/data/2 /tank/data/3 |
Aprimoramentos no iSCSI do Solaris e ZFS – é possível criar um volume ZFS como um dispositivo de destino do iSCSI do Solaris definindo-se a propriedade shareiscsi no volume ZFS. Este método é uma forma conveniente de configurar rapidamente o destino iSCSI do Solaris. Por exemplo:
# zfs create -V 2g tank/volumes/v2 # zfs set shareiscsi=on tank/volumes/v2 # iscsitadm list target Target: tank/volumes/v2 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
Depois da criação do destino iSCSI, configure o iniciador iSCSI. Para obter informações sobre a configuração de iniciador iSCSI do Solaris, consulte o Capítulo 14, Configuring Solaris iSCSI Targets and Initiators (Tasks), no System Administration Guide: Devices and File Systems.
Para obter mais informações sobre o gerenciamento de um volume ZFS como destino iSCSI, consulte Solaris ZFS Administration Guide.
Aprimoramentos das propriedades do ZFS
Propriedade xattr ZFS – você pode usar a propriedade xattr para desabilitar ou habilitar os atributos estendidos para um sistema de arquivos ZFS específico. O valor padrão é ativado.
Propriedade canmount do ZFS – é possível usar a propriedade canmount para especificar se um conjunto de dados pode ser montado usando-se o comando zfs mount.
Propriedades de usuário do ZFS – o ZFS oferece suporte às propriedades de usuário, além das propriedades nativas padrão que podem exportar estatísticas internas ou controlar o comportamento do sistema de arquivos do ZFS. As propriedades de usuário não afetam o comportamento do ZFS, mas podem ser usadas para anotar conjuntos de dados com informações significativas no ambiente.
Definição de propriedades ao criar sistemas de arquivos do ZFS – é possível definir as propriedades ao criar um sistema de arquivos, além de definir as propriedades depois que o sistema de arquivos é criado.
Os exemplos abaixo ilustram a sintaxe equivalente:
# zfs create tank/home # zfs set mountpoint=/export/zfs tank/home # zfs set sharenfs=on tank/home # zfs set compression=on tank/home |
# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home |
Exibição de toda a informação do sistema de arquivos do ZFS – é possível usar vários formulários do comando zfs get para exibir informações sobre todos os conjuntos de dados se um conjunto de dados não for especificado. Em versões anteriores, as informações do conjunto de dados não eram recuperáveis com o comando zfs get. Por exemplo:
# zfs get -s local all tank/home atime off local tank/home/bonwick atime off local tank/home/marks quota 50G local |
Nova opção -F do zfs receive – é possível usar a nova opção -F no comando zfs receive para forçar uma reversão do sistema de arquivos ao instantâneo mais recente antes da realização do recebimento. O uso dessa opção pode ser necessário quando o sistema de arquivos é modificado entre o momento em que ocorre a reversão e o momento em que o recebimento é iniciado.
Instantâneos recursivos do ZFS – os instantâneos recursivos estão disponíveis. Ao usar o comando zfs snapshot para criar um instantâneo de sistema de arquivos, é possível usar a opção -r para criar instantâneos recursivamente para todos os sistemas de arquivos descendentes. Além disso, o uso da opção -r repetidamente destrói todos os instantâneos descendentes quando um instantâneo é destruído.
Para obter mais informações sobre estas melhorias, consulte o Solaris ZFS Administration Guide.