Cenário Fixo:
Tenho na minha caixa Solaris o HD do sistema operacional – IDE 8GB -, dois HDs IDE de 2GB e dois HDs SCSI também de 2GB, identificados através do comando format:
Vou ignorar o primeiro disco, pois o mesmo já está alocado para o pool padrão do sistema operacional, chamado syspool.
Aqui entra o primeiro conceito sobre ZFS: O sistema de arquivos não vai ser escrito diretamente no disco (block device). Ao invés disso ele será escrito em “pools”, que nada mais são do que devices virtuais que contém discos. Algo parecido com utilizar ext3 em cima de LVM ao invés do disco.
Para listar os pools existentes:
Vamos agora brincar um pouco com as possibilidades que ZFS nos dá.
Cenário 1 – Todos os discos como um único filesystem.
Perceba que não precisei montar o filesystem, nem editar fstab. Apenas o comando “zpool create” foi o suficiente para criar o pool, formatar os discos, criar uma entrada no zfs e montar o filesystem.
Mas vamos apagar isso e continuar brincando:
🙂
Cenário 2 – Espelhos
Vou criar agora um novo pool, mas desta vez espelhando os dois discos SCSI:
Cenário 3 – Adicionando discos ao pool
Esse pool de 2GB não dá para nada? Precisa adicionar mais discos para criar espaço no seu filesystem? No hay problema:
Perceba o detalhe importante: Se você criou o pool como mirror, não dá pra acrescentar somente um disco a mais. Pelo menos dois são necessários.
Mas vamos limpar isso.
Cenário 3 – Exportando ZFS via iSCSI
Foi aqui que eu comecei, na verdade. Estou trabalhando num projeto piloto que, quando em produção, vai utilizar SAN. Infelizmente não tenho uma SAN para laboratório, então decidi usar iSCSI para simular o comportamento da SAN.
Começamos criando o pool:
Mas para podermos exportar é necessário também criar um volume. Um volume é uma fatia do pool, falando simplificadamente.
Este volume pode ser exportado via iSCSI e a própria hierarquia do ZFS vai se encarregar de criar as LUNs:
É bem provável que o iscsi não esteja rodando no seu Solaris por padrão, então habilite-o:
E agora seu volume já deve estar disponível:
Vamos até o Linux ali do lado para ver se conseguimos utilizar este volume:
UIA! Vamos usar então:
Divertido, né? Temos agora ext3 encapsulado em ZFS exportado via iSCSI. Isso pode ser útil em cenários como o abaixo.
Cenário 4 – Fazendo backup.
Então esse meu diretório /linuxman contém dados do meu projeto. Mas como ainda é laboratório, vira e mexe eu estrago alguma coisa.
Vou facilitar minha vida com o ZFS então.
No Linux:
No Solaris:
Volto no Linux e estrago meu árduou trabalho:
Mas para recuperar é fácil:
No Linux:
No Solaris:
E finalmente, no Linux:
E ai estão todos os arquivos de volta.
OBSERVAÇÃO: Aparentemente a formatação no blog perdeu algumas partes dos textos pré-formatados, mas nada significativo. Viva com isso. Olhe pelo feed que está legal.