Risco de FreeNAS como servidor de arquivos virtual

2

Há muito debate sobre se o FreeNAS pode ser executado como uma máquina virtual.

A posição oficial é que sim, mas há configuração adicional necessária .

Se eu não posso garantir que posso seguir estas recomendações, estou mais vulnerável a falhas - especialmente falhas catastróficas - do que se eu executasse um sistema Linux simples com EXT4 / XFS ou FreeBSD com UFS?

Especificamente, suponha que eu não consiga fazer a passagem PCI nem posso desativar o cache de gravação. Além disso, só terei um vDisk para armazenamento (um VMDK apoiado por hardware RAID), portanto, não RAIDZ. Obviamente, haverá backups.

EDIT : Para esclarecer porque eu quero fazer isso - eu preciso de um servidor de arquivos, e esta é a infra-estrutura com a qual tenho que trabalhar. Se eu precisar, eu poderia obter os vDisks extras para configurar o RAIDZ, mas por outro lado é isso. Eu estava procurando por uma boa solução de servidor de arquivos, e o FreeNAS parecia se encaixar na conta. Exceto que houve todos esses avisos terríveis sobre a virtualização do ZFS e como você pode perder todos os seus dados e corromper seus backups.

Eu percebo que a implantação do FreeNAS nessa infraestrutura é arriscada. Minha pergunta é: é mais arriscado do que as alternativas?

EDIT2 : parece que estou tendo problemas para comunicar minha intenção. O FreeNAS com o ZFS é uma plataforma NAS sólida. No entanto, pelo que eu tenho lido , parece que os recursos que tornam o ZFS mais confiável como um servidor de arquivos bare metal podem trabalhar contra você se você executá-lo em uma configuração de VM padrão. Em caso afirmativo, usar um sistema de arquivos diferente é uma opção melhor nas configurações padrão da VM (ou seja, nenhum E / S direto, cache de gravação ativado). Esta é uma avaliação correta?

    
por Rahs 10.10.2016 / 22:36

3 respostas

6

Resposta geral

If I cannot guarantee that I can follow these recommendations, am I more vulnerable to failure - especially catastrophic failure - than if I run a vanilla Linux system with EXT4/XFS, or FreeBSD with UFS?

Os riscos são diferentes e não diretamente comparáveis.

  • Eu sempre preferiria um sistema ZFS, mesmo sem vdevs redundantes, mesmo que apenas pelo conhecimento da integridade dos dados (mesmo que eu precise restaurar do backup, gosto de saber que < Eu tenho que restaurar a partir do backup, em vez de corrupção silenciosa eu nem tenho consciência de). Também recursos como send/recv ou instantâneos facilitam muito a sua vida e não têm nada a ver com integridade.
  • Falando em falha catastrófica , apenas os backups impedirão você e você precisará deles, mesmo se o seu sistema normal for altamente confiável, portanto, faz sentido começar com os backups (como você já fez) para tirar isso do caminho e depois pensar em que outra qualidade de serviço você precisa e com quais desvantagens você pode viver.
  • Teoricamente, sistemas mais complexos são mais propensos a erros, mas como todos os sistemas de arquivos mencionados têm mais de 10 anos de uso ativo e mantido, eu diria que a maioria dos bugs já foi resolvida (o que não significa não sobraram, é claro).
  • Alguém pode argumentar que os sistemas de arquivos copy-on-write são inerentemente mais seguros porque eles nunca sobrescrevem dados ativos e, portanto, não podem corrompê-los. Eu assumo que esse risco é mais teórico e muito mais influenciado por outras coisas, como a implementação real e o tratamento dos metadados.

Específico para o seu caso

Se você observar as recomendações mencionadas e dissecá-las, perceberá algumas coisas:

  1. If you are not using PCI passthrough (more on that below), then you must disable the scrub tasks in ZFS. The hardware can “lie” to ZFS so a scrub can do more damage than good, possibly even permanently destroying your zpool.

O Scrub apenas lê todos os blocos dos vdevs subjacentes e verifica seus checksums. Se o seu disco virtual não lidar com isso, é lixo e você deve se preocupar com isso, não com o ZFS. Por outro lado, se seus discos virtuais já tiverem sido verificados na SAN, o scrub adicional não fará nada, exceto causar E / S adicional (é inútil).

  1. The second precaution is to disable any write caching that is happening on the SAN, NAS, or RAID controller itself. A write cache can easily confuse ZFS about what has or has not been written to disk. This confusion can result in catastrophic pool failures.

Este é um bom conselho se você não confiar no hardware. A desvantagem é um desempenho consideravelmente menor, é claro. Você também pode não ter nenhum controle oferecendo as configurações de SAN, então você precisa tratá-lo como um disco barato que você comprou do ebay e bateu em seu sistema - tudo pode acontecer, pelo menos em teoria.

  1. Using a single disk leaves you vulnerable to pool metadata corruption which could cause the loss of the pool. To avoid this, you need a minimum of three vdevs, either striped or in a RAIDZ configuration. Since ZFS pool metadata is mirrored between three vdevs if they are available, using a minimum of three vdevs to build your pool is safer than a single vdev. Ideally vdevs that have their own redundancy are preferred.

Isto está bem como um conselho geral, mas um pouco de nitpick. Supondo que o seu SAN é ruim, isso irá ajudá-lo em certos casos (com muita sorte, pelo menos). Assumindo que sua SAN é boa, isso não faz nada e apenas lhe custa espaço e desempenho. É muito melhor, na minha opinião, certificar-se de que a cadeia de discos físicos para SAN para rede para host VM para convidado VM seja igualmente boa, para que você não precise fazer tudo novamente em cada camada.

FreeNAS vs outros

Uma palavra sobre as recomendações do FreeNAS - elas certamente estão bem como recomendações, isto é, diretrizes ou dicas para o público em geral. Se você segui-los, você não estará pior do que o contrário, e pode até ser melhor. Então, novamente, eles são austeros, como parece ser o tom usual na comunidade FreeNAS (a julgar pelo menos alguns cartazes do fórum). Eu acho que eles só querem estar no lado seguro com isso. Eu sempre preferi o Guia de Melhores Práticas do ZFS , porque ele é bem neutro e apenas apresenta fatos, deixando cabe a você decidir.

Também é interessante que, de acordo com os documentos e fóruns do FreeNAS, você morra de forma repulsiva se ousar executar um sistema ZFS para serviços de arquivos com menos de 4GB de RAM, enquanto nas listas de distribuição do OmniOS (ou SmartOS ou illumos ou Nexenta, não me lembro no momento) as pessoas testaram sistemas com 512MB de RAM e compartilharam suas sugestões de como configurá-los. Em suma, foi mais sobre o conhecimento dos detalhes e a escolha foi deixada para cada pessoa, em vez de estabelecer regras que você seguirá.

Com o tempo, esse problema também se tornará menos importante e as recomendações serão alteradas, à medida que mais e mais sistemas alternarem para o ZFS em edições normais de desktops e servidores. O Ubuntu já fez isso, e outros certamente seguirão. Se em dois ou três anos 80% das distribuições usarem ZFS ou btrfs, a maioria deles será executada virtualizada, por isso é um ponto discutível.

    
por 11.10.2016 / 09:12
2

Falando sobre alternativas, você pode tentar o StarWind Free. Ele tem cache de RAM e SSD, desduplicação opcional e usa replicação síncrona para obter alta disponibilidade.

Minha única reclamação é que não posso fazer o SMB Direct da VM, porque atualmente a implementação do RDMA que eu uso tem alguns problemas com o SR-IOV. Espero que a Mellanox disponibilize a correção em breve para seus drivers do Windows Server 2012r2 e 2016.

    
por 17.10.2016 / 22:36
0

Não tenho certeza do que você quer de nós aqui.

If I cannot guarantee that I can follow these recommendations, ...

Se você não pode garantir que você pode seguir as recomendações, então você tem um ambiente não suportado, não faça isso.

Se alguém disser "com certeza você vai ficar bem" e não é o que você espera receber desse conselho?

    
por 10.10.2016 / 22:45