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:
- 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).
- 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.
- 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.