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 conjunto 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 as configurações espelhadas recomendadas, vá ao site:
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
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 conjunto idêntico. Para mais informações, consulte Criando um novo conjunto ao dividir um conjunto de armazenamento ZFS espelhado.
Não é possível remover completamente um dispositivo que não é um dispositivo de log ou cache de um conjunto de armazenamento espelhado. Uma RFE é preenchida para esse recurso.
É possível instalar e inicializar a partir de um sistema de arquivos ZFS. Consulte as seguintes informações de configuração do pool raiz:
Os discos usados para o pool raiz devem ter uma legenda VTOC (SMI) e o pool deve ser criado com faixas de disco.
O conjunto 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 conjunto raiz não pode possuir um dispositivo de log em separado.
Se tentar utilizar uma configuração não suportada para um conjunto 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 5Instalando e inicializando um sistema de arquivos raiz ZFS do Oracle Solaris.
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 conjunto. 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 # 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 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 conjunto 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.
Desanexação de um disco de uma configuração RAID-Z, exceto quando estiver desanexando um disco que foi substituído por um disco sobressalente.
Não é possível remover completamente um dispositivo que não é 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.
Por padrão, o ZIL é alocado dos blocos no pool principal. No entanto, pode ser possível obter melhor desempenho usando dispositivos separados de registro de intenção, como NVRAM ou um disco dedicado. Para obter mais informações sobre os dispositivos de log do ZFS, consulte Configurando dispositivos de log do ZFS separados.
É possível configurar um dispositivo de log ZFS quando o conjunto de armazenamento for criado ou depois da sua criação.
O exemplo a seguir mostra como criar um conjunto de armazenamento espelhado com dispositivos de log espelhados:
# zpool create datap mirror c1t1d0 c1t2d0 mirror c1t3d0 c1t4d0 log mirror c1t5d0 c1t8d0 # 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 c1t1d0 ONLINE 0 0 0 c1t2d0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c1t3d0 ONLINE 0 0 0 c1t4d0 ONLINE 0 0 0 logs mirror-2 ONLINE 0 0 0 c1t5d0 ONLINE 0 0 0 c1t8d0 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 11–2.
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 |
Considere os pontos a seguir ao determinar a criação de um conjunto de armazenamento ZFS com dispositivos de cache:
A utilização dos dispositivos de cache fornecem o maior aperfeiçoamento de desempenho para cargas de trabalho aleatórias de leitura de 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 conjunto é criado. Também podem ser adicionados e removidos depois da criação do conjunto. Para obter mais informações, consulte o Exemplo 4–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 conjunto 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.