Instalação para iniciantes do ZFS com unidades de tamanho diferente

24

Desculpe pelas perguntas noobie, eu tenho pesquisado no Google todo o tipo de orientações para criar meu ataque ao ZFS, mas não consigo encontrar os links corretos para as respostas que estou procurando.

Esta é minha primeira tentativa de um RAID e, pelo que li, parece que o zfs é o melhor caminho a percorrer.

  1. O que acontece se eu precisar alterar o hardware subjacente por trás do pool zfs? Como o mobo / processador, o que acontece se isso morrer em mim em um ano ou dois; posso portar meu pool zfs de alguma forma?
  2. Eu tenho bastante o conjunto de unidades de tamanhos diferentes e estou tentando obter o máximo de espaço de armazenamento com redundância. Qual é a melhor configuração para essa configuração e quanto espaço perderei usando essas unidades de tamanhos diferentes. Não estou criando isso para nenhum requisito de velocidade, só quero um servidor de arquivos para vários HTPCs. Minhas unidades atualmente disponíveis para isso são:
    • 1x Unidade 'híbrida' de 500 GB
    • 1x unidade de 1 TB
    • 1x unidade de 3 TB
    • Unidade de 1x4 TB (será adicionada ao pool posteriormente, atualmente mantendo todos os dados das unidades listadas acima)
  3. Adicionar a unidade de 4 TB à piscina mais tarde será um problema de qualquer tipo?
  4. Alguma recomendação em um sistema operacional Linux para executar tudo isso e devo usar uma unidade separada para o sistema operacional? Eu estou familiarizado com o Ubuntu, RHEL e OpenSUSE / SLES.

Qualquer ajuda é muito apreciada, continuo a ler sobre isso, muito o que captar de uma só vez, todos os links por onde começar também seriam muito úteis.

ivandov
fonte

Respostas:

20

O que acontece se eu precisar alterar o hardware subjacente por trás do pool zfs? Como o mobo / processador, o que acontece se isso morrer em mim em um ano ou dois; posso portar meu pool zfs de alguma forma?

Um pool do ZFS não depende do hardware. Apenas verifique se o seu HBA (Host Bus Adapter) não está fazendo algo como criptografar seus dados no nível do hardware. O ZFS funciona melhor com um HBA como um LSI 9211-8i ou um IBM m1015 com flash cruzado para usar o firmware 9211-8i, não uma placa RAID de "hardware" de sopro total.

Eu tenho bastante o conjunto de unidades de tamanhos diferentes e estou tentando obter o máximo de espaço de armazenamento com redundância. Qual é a melhor configuração para essa configuração e quanto espaço perderei usando essas unidades de tamanhos diferentes. Não estou criando isso para nenhum requisito de velocidade, só quero um servidor de arquivos para vários HTPCs. Minhas unidades atualmente disponíveis para isso são: 1x Unidade 'híbrida' de 500 GB 1x Unidade de 1 TB 1x Unidade de 3 TB 1x Unidade de 4 TB (será adicionada ao pool posteriormente, atualmente mantendo todos os dados das unidades listadas acima)

Se eu fosse você, venderia as unidades menores e colocaria o dinheiro em unidades maiores do mesmo tamanho. Isso tornará sua vida muito mais fácil. Além disso, você não pode simplesmente adicionar unidades a um pool do ZFS. Existem restrições. Leia aqui .

Adicionar a unidade de 4 TB à piscina mais tarde será um problema de qualquer tipo?

Possivelmente. Estou em uma posição semelhante. Em algum momento no futuro, terei que aumentar minha capacidade de armazenamento. Naquela época, pretendo comprar um segundo HBA e uma nova matriz de unidades maiores. Transferirei todos os dados das minhas unidades existentes para as minhas novas unidades e depois venderei minhas unidades existentes. Pode haver outras maneiras (mais baratas) de contornar isso, mas dessa maneira:

  1. Mantém todas as minhas unidades do mesmo tamanho
  2. Só tem o custo adicional de um HBA extra, o que não é algo ruim de se ter
  3. Não requer que eu substitua minhas unidades uma por vez, prateando novamente após cada substituição.

Alguma recomendação em um sistema operacional Linux para executar tudo isso e devo usar uma unidade separada para o sistema operacional? Eu estou familiarizado com o Ubuntu, RHEL e OpenSUSE / SLES.

Não use Linux, ele não possui suporte ZFS nativo. O suporte ao Linux do ZFS vem do ZFS no Linux e no zfs-fuse . O estado atual do ZFS está em fluxo, à medida que a Oracle tenta arruiná-lo. O ZFS provavelmente se ramificará na versão 28 em um futuro próximo, portanto, não faça seu pool do ZFS com nenhuma versão maior que 28, a menos que você esteja 100% certo de que deseja usar uma solução Oracle. Atualmente, o FreeBSD e seus spinoffs suportam a versão 28 do ZFS.

Como você é um autodeclarado ZFS noob, eu recomendaria o FreeNAS . Eu tenho usado por um tempo agora e estou muito feliz com isso. Definitivamente permitirá a configuração mais direta para você.

Pensamentos adicionais:

Certifique-se de escolher o nível correto de paridade para seu caso de uso específico. Especificamente, certifique-se de planejar o URE . Basicamente, você não deseja usar o RAID 5 (RAID Z1) se estiver usando algo maior que unidades de 2 TB. Existem outros fatores a serem considerados que podem solicitar que você também aumente seu nível de dados de paridade. Aqui está um bom artigo sobre o assunto.

Atualizar:

Já se passaram 1,5 anos desde que publiquei esta resposta e, nesse período, dei ao ZFS no Linux (servidor Ubuntu especificamente) outra chance. Já percorreu um longo caminho desde que tentei pela primeira vez e estou muito feliz até agora. Meu motivo para alternar foram as restrições de instalação no FreeNAS e no sistema de prisão. Eu queria usar meu servidor para mais do que apenas um servidor NAS, e o FreeNAS dificulta isso. O sistema de prisão é bom e muito seguro, mas eu realmente não precisava desse nível de segurança em minha casa e não queria lidar com o login em uma prisão sempre que quisesse descompactar um arquivo. Eu acho que o FreeNAS ainda é uma boa opção se você está apenas começando o ZFS (por causa da interface da web) ou se deseja apenas um dispositivo NAS (ou seja, nenhuma outra funcionalidade do servidor é necessária).

ubiquibacon
fonte
Obrigado pela sua resposta detalhada. A recomendação do seu sistema operacional é algo que definitivamente vou precisar aprofundar. Quanto à criação de uma nova matriz com unidades maiores, pelo que li, é possível substituir as unidades existentes em uma matriz por unidades maiores para aumentar sua capacidade. Acho que estou entendendo isso corretamente, isso é algo que você está considerando?
ivandov
Sim, isso é possível, mas acho que você deve fazer todos eles. Leia os comentários aqui postados por um cara que fez exatamente isso. Também atualizei minha resposta com um pensamento adicional.
Ubiquibacon
4

1: não há problema em mudar nada. O pool deve ser importável, independentemente da CPU, placa principal ou qualquer coisa semelhante.

2: O ZFS funciona melhor com dispositivos do mesmo tamanho. Além disso, como você deseja redundância, dispositivos maiores que o menor teriam seu tamanho extra desperdiçado. Finalmente, você não pode adicionar um dispositivo (por exemplo: o disco de 4 TB) a um RAIDZ. Se você deseja apenas redundância de metadados (o que duvido), é possível criar uma faixa com todos os seus discos e adicionar o disco de 4 TB posteriormente ao pool.

Como alternativa, você pode primeiro criar um pool de 500 GB contendo um espelho com o disco 1 e o disco 2 e manter o disco 3 para mais tarde, depois adicionar um segundo espelho quando tiver o disco de 4 TB disponível no disco 3 e no disco 4 criando um pool de 3,5 TB .

3: sim, veja # 2

4: Nenhuma recomendação.

jlliagre
fonte
1

Se você deseja criar um ataque com zfs usando diferentes tamanhos de disco, use "zpool create (nome do seu pool) raidz1 -f sdb sdc sdd" o arquivamento -f força o zfs a usar tamanhos diferentes, exemplo 500gb 1tb 250gb hd

Juan Sanchez
fonte
1

Acontece que você não pode criar com ashift = 12 no zfs-fuse:

# zpool create -n -o ashift=12 test /dev/disk/by-id/scsi-SATA_......
property 'ashift' is not a valid pool property

Mas ele funciona com o do github zfs + spl 0.6.5.x:

# dd if=/dev/zero of=/tmp/testfile bs=1M count=64
# zpool create -o ashift=12 test /tmp/testfile
# dd if=/dev/zero of=/tmp/testfile8 bs=1M count=64
# zpool create -o version=8 test8 /tmp/testfile8
informação adicional
fonte
0

A resposta de ubiquibacon cobre todas as suas perguntas diretas, mas achei que teria algum tipo de "experiência em primeira mão".

O ZFS no FreeBSD é minha principal área de experiência, embora a maioria das implementações do ZFS seja semelhante o suficiente para que os recursos possam ser análogos. Eu escolhi o FreeBSD para a minha instalação, porque ele me oferece um sistema operacional de uso geral que eu posso usar para quaisquer propósitos desonestos que eu escolher, em oposição a uma solução mais amigável, mas especial, como o FreeNAS. O ZFS, configurado corretamente, pode ser um ótimo sistema. O ZFS configurado incorretamente pode ser uma dor total. É um sistema de arquivos relativamente novo e não é tão bem entendido como sistemas de arquivos mais antigos e bem estabelecidos (como UFS2 no FreeBSD ou ext2 / 3/4 no Linux. As listas de discussão são bastante ativase provavelmente vale a pena examiná-los pelo menos para entender o que será esperado de você, caso encontre algum problema. As pessoas nelas são geralmente amigáveis ​​e muito úteis, desde que você esteja disposto a ajudar a descobrir o que está acontecendo. Para essa "novidade" geral, você obtém recursos interessantes, como a compactação, que pode ser ativada em muitas circunstâncias com poucas perdas, e recursos perigosos, como a desduplicação , que pode exigir muitos recursos , é impossível desativar sem copiar todos os seus dados desativados e podem tornar seu computador não inicializável (como o meu fez, um dia feliz).

É um ótimo sistema de arquivos se algum dos benefícios supera as vantagens e desvantagens. Eu fiquei feliz com o meu em geral.

Steven Schlansker
fonte
@Stevan Você pode colocar alguma luz sobre "problemas de desempenho devido a vários pools nos mesmos discos físicos"?
Satch_boogie 25/10/19
0

Uma solução ad-hoc para isso é particionar os discos em conjuntos de partições de tamanho igual e criar vários pools usando conjuntos de partições de tamanho igual.

Pode haver alguns problemas de desempenho devido à existência de vários pools nos mesmos discos físicos, mas você usa a maior parte do espaço em seus discos.

Gianni Fiumetta
fonte