Ao usar o provisionamento thin com o ZFS, como garantir que você não fique sem espaço em disco físico?

7

Perdoe-me se isso parecer uma questão fundamental, mas não consegui encontrar nada de concreto no Google e não sou administrador de sistemas por profissão.

Estamos configurando uma SAN em nosso escritório usando o NexentaStor com uma configuração RAID Z3 de 8 discos (8 unidades de 1,36 TB) e estamos no processo de configurar tudo.

Neste momento, em termos de espaço total em disco, temos cerca de 10,8 TB de armazenamento "real" na SAN, todos alocados em um único zpool / zvol. Eu estava considerando provisionar thin o zvol com (digamos, para fins de argumentação) 100 TB de espaço para explicar o crescimento futuro.

Parece bastante simples em teoria: quando estamos quase sem espaço em disco, apenas adicionamos algumas unidades novas e isso "simplesmente funcionará": nenhum redimensionamento do sistema de arquivos ou tempo de inatividade para se preocupar.

No entanto, como podemos saber quando precisamos adicionar mais capacidade, a menos de fazer login na SAN a cada poucas horas e ter certeza de que ainda temos espaço livre?

Por exemplo, isso é normalmente tratado pela configuração de um cron job ou o NexentaStor (ou o próprio ZFS) fornece avisos quando você está próximo da capacidade ou espera-se que você "saiba" quanto espaço você deixou a qualquer momento e tem que manter o controle de si mesmo?

Se isso ajudar, o zvol de 10,8 TB será usado como armazenamento de apoio (sobre iSCSI) para nossos servidores virtuais e máquinas virtuais de teste (que também são thin-provisioned), então parte do problema que vejo é que poderia ser É fácil ficar sem espaço em disco se estivermos constantemente criando / fazendo snapshot / restaurando VMs (o que fazemos muito ao testar diferentes configurações de máquinas e ambientes de software).

    
por Mike Spross 07.10.2011 / 07:52

3 respostas

8

No lado do Nexenta, há um script volume-check configurado para ser executado por hora por padrão. Será: Check volume health and capacity, clear correctable device errors, validate mountpoints.
Ele também envia um relatório de resumo semanal por e-mail.

No entanto, há algumas coisas que você deve considerar ao planejar uma solução de armazenamento da Nexenta para as finalidades listadas.

  • Você pode considerar ter vários pools para flexibilidade. Um único pool funciona, mas às vezes é necessário mover os dados ou apenas ter a opção de um segundo pool no armazenamento local.
  • ZFS zvols pode ser expandido / contratado na hora. Por exemplo, se você alocar 20 TB para um zvol com provisionamento thin, poderá alterá-lo para 30 TB ou 100 TB com muita facilidade. Você não precisa provisionar 100 TB para o futuro se não o tiver no momento.
  • Com zvols com aprovisionamento dinâmico, quando o espaço é usado, não é possível recuperá-lo. Se você provisionar um zvol de 2TB em um pool de 10TB, preencha o zvol e exclua as VMs nesse zvol, seu pool ainda mostrará apenas 8 TB livre. Esse 2TB vai permanecer.
  • Você usará compactação ou desduplicação do ZFS ou ambos? Uma situação em que faz sentido provisionar demais é se você estiver usando compactação inline e dados altamente compactáveis. O mesmo para dados deduzidos. No meu caso, os conjuntos de dados que eu trabalho com compress 60% -80%, então eu apresento zvols maiores do que a quantidade de armazenamento que eu realmente tenho.
  • O uso de espelhos versus o raidz1 / 2/3 facilita a expansão do armazenamento subjacente. Você pode adicionar pares de discos espelhados a um zpool, mas não pode expandir o raidz1 / 2/3 a menos que adicione outro vdev (grupo de discos raidz (x)). Você também deseja reequilibrar os dados para redistribuir pelos discos.
  • Qual tecnologia de virtualização você usará? Se VMWare, você pode thin-provision. Você verá avisos de armazenamento de dados perto de 80% de utilização, acredito. A VMware também reclama se você estiver em uma situação perigosa com o crescimento do tamanho do instantâneo.
  • Se você está fazendo muitos testes de VMs ou tem VMs que flutuam em tamanho, sugiro usar iSCSI e zvols para VMs relativamente estáticas e NFS para as VMs de teste (se essa for uma opção para sua solução de virtualização preferida) ). Com o NFS, você pode fazer uso mais eficiente de seu espaço de armazenamento, já que vê o tamanho total disponível do zpool e não tem limite de tamanho para se preocupar.

Em suma ... eu não aprovaria demais para dar conta do crescimento futuro. Não é necessário. Há cheques de hora em hora na Nexenta para alertar para a utilização do espaço. Pense também se você usará compactação ou não (a desduplicação exige um pouco mais de planejamento). testar as coisas e ver como será a pegada da VM antes de entrar em produção. Será mais difícil mudar depois.

    
por 07.10.2011 / 12:14
6

Se você tiver algum sistema de monitoramento como o Nagios, você pode facilmente escrever um cheque avaliando a saída de zpool list e verificando-o em relação a limites dentro de sua zona de conforto.

Se você não tiver um sistema de monitoramento, deve usar essa oportunidade para instalar um - uma SAN é uma peça essencial de um equipamento de infraestrutura que precisa de monitoramento constante se você não quiser acabar com interrupções ou perda de dados devido a discos defeituosos, condições de falta de espaço, falhas de hardware ou problemas de conectividade.

    
por 07.10.2011 / 09:07
0

Só para ser mencionado, se você for com RAID-Z, você pode não "adicionar mais algumas unidades" para qualquer RAID-Z.

    
por 28.02.2014 / 13:37