Um espelho ZFS pode utilizar unidades com tamanhos de setor diferentes?

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

Pode, mas o vdev utiliza uma política de ashift e o requisito do setor físico maior deve prevalecer para evitar penalizações de leitura-modificação-escrita.

A decisão é importante quando um disco de substituição indica setores físicos de 4K, enquanto o membro sobrevivente do espelho foi criado com um alinhamento menor. Os dois estados concorrentes são geometria de vdev compatível e ashift fixo subótimo ou incompatibilidade de capacidade. Comece com uma configuração guardada e dados descartáveis, observe um ramo de cada vez e pare se o teste aumentar o risco de perda de dados, permissões ou disponibilidade.

Definir as condições subjacentes à decisão sobre um espelho ZFS com setores mistos

Registe o ambiente antes de alterar qualquer coisa: versões de software e firmware, identidades dos dispositivos, caminho de montagem ou de rede, espaço livre, permissões e sintoma observável. A linha de base deve preservar detalhes suficientes para reproduzir a situação em que um disco de substituição indica setores físicos de 4K, enquanto o membro sobrevivente do espelho foi criado com um alinhamento menor.

O primeiro candidato é uma geometria de vdev compatível. O segundo é um ashift fixo subótimo ou uma incompatibilidade de capacidade. A atual propriedade ashift do OpenZFS define o mecanismo ou limite de comando utilizado no teste; não substitui a observação deste servidor doméstico específico.

Escreva a condição de aceitação e a condição de paragem antes de executar o teste discriminador. Um resultado aprovado deve alterar as evidências previstas por um dos ramos, mantendo os serviços não relacionados inalterados; um resultado reprovado deve devolver o sistema ao estado guardado, em vez de desencadear uma cadeia de correções especulativas.

Testar a afirmação sem reduzir o requisito original

Utilize este teste discriminador: inspecione o ashift existente e os relatórios de setores lógicos/físicos dos discos e, em seguida, faça uma avaliação comparativa de escritas alinhadas num pool de réplica. Mantenha constantes a carga de trabalho, o cliente, o caminho, o conjunto de ficheiros e o tempo, para que o resultado possa ser atribuído à variável alterada.

Utilize o comportamento do zpool no FreeBSD para selecionar o campo que consegue realmente separar os ramos e capture o respetivo carimbo temporal, estado de saída, texto do erro, identidade do dispositivo ou instantâneo, latência, bytes transferidos, permissões e estado de recuperação. Uma saída limpa do comando não é suficiente quando a identidade, a durabilidade ou o estado da aplicação são a afirmação em teste.

Repita o teste uma vez após um reinício, uma reconexão, uma remontagem ou uma cache fria quando esse evento fizer parte da condição original. Se a primeira execução for destrutiva ou o ambiente não puder ser restaurado, pare e reproduza-a numa cópia descartável.

zpool get ashift pool
lsblk -o NAME,LOG-SEC,PHY-SEC,SIZE

Interpretar resultados aprovados, reprovados e excecionais

APROVADO: o disco de substituição é anexado, a resilverização é concluída e a latência das escritas alinhadas permanece aceitável. Registe a versão exata, a identidade e a carga de trabalho que foram aprovadas, para que a conclusão permaneça condicional em vez de se tornar uma afirmação universal.

REPROVADO: o ashift é demasiado pequeno, o disco de substituição é ligeiramente menor ou o desempenho degrada-se com escritas síncronas e aleatórias. Um resultado reprovado não prova automaticamente o ramo oposto quando a rede, a memória, as permissões ou a consistência da origem podem influenciar ambos; isole essas dependências partilhadas antes de avançar.

EXCEÇÃO OU RESULTADO AMBÍGUO: utilize um disco de substituição adequado ou recrie um pool novo corretamente alinhado, em vez de forçar um disco subdimensionado. Preserve os registos e não execute comandos de reparação, limpeza, destruição, reparticionamento ou alteração recursiva da propriedade até existir uma cópia recuperável.

Confirmar a decisão com a carga de trabalho original

Aplique a ação correspondente ao ramo observado e, em seguida, repita a condição original em vez de uma versão reduzida. A decisão só é válida quando o disco de substituição é anexado, a resilverização é concluída e a latência das escritas alinhadas permanece aceitável ao longo de dois ciclos ou da transição relevante de reinício, suspensão, interrupção ou carga.

Utilize os tamanhos de setor de espelhos ZFS para verificar o fluxo de trabalho dependente mais próximo, mas mantenha inalterado o gatilho original. Os conjuntos de dados, partilhas, contentores, utilizadores e pontos de recuperação não relacionados devem manter o acesso e o tempo de resposta anteriores.

O limite de paragem é explícito: se o ashift for demasiado pequeno, o disco de substituição for ligeiramente menor ou o desempenho se degradar com escritas síncronas e aleatórias, volte à última configuração verificada, preserve as evidências e avance para um teste mais aprofundado da plataforma ou do hardware apenas quando o ramo for repetível.

Depois de o resultado pretendido se manter, compare-o com a verificação de restauro, para garantir que a correção não transfere o risco para um serviço vizinho. Um teste do objetivo bem-sucedido com uma nova falha de cópia de segurança, identidade, tempo limite ou disponibilidade continua a ser uma alteração falhada.

FAQ

Para um espelho ZFS com setores mistos, as pesquisas restantes geralmente dizem respeito a saber se o ashift pode ser alterado depois da criação do vdev, se deve ser utilizado ashift=12 para discos 4K e se uma capacidade diferente é relevante. As respostas abaixo mantêm esses casos extremos separados da decisão principal.

O limite de aceitação não muda: o disco de substituição é anexado, a resilverização é concluída e a latência das escritas alinhadas permanece aceitável. Se uma condição posterior alterar o sistema de ficheiros, a identidade, o caminho de rede ou a versão da aplicação, repita apenas o teste discriminador afetado por essa alteração.

Pare de alargar a experiência quando o ashift for demasiado pequeno, o disco de substituição for ligeiramente menor ou o desempenho se degradar com escritas síncronas e aleatórias. Nesse ponto, utilize um disco de substituição adequado ou recrie um pool novo corretamente alinhado, em vez de forçar um disco subdimensionado; preserve as evidências antes de encaminhar o caso para o responsável pela plataforma, pelo armazenamento ou pelo hardware.

É possível alterar o ashift depois da criação do vdev?

Não no local para um vdev existente; a recriação ou criação de um vdev novo é normalmente a correção.

Deve ser utilizado ashift=12 para discos 4K?

Representa normalmente um alinhamento de 4K, mas valide o comportamento do dispositivo e as orientações atuais do OpenZFS.

Uma capacidade diferente é relevante?

Um espelho é limitado pelo seu membro mais pequeno e um disco de substituição nominal pode ser ligeiramente menor.

Para um espelho ZFS com setores mistos, a resposta prática continua a ser condicional: o disco de substituição é anexado, a resilverização é concluída e a latência das escritas alinhadas permanece aceitável. Quando o ashift é demasiado pequeno, o disco de substituição é ligeiramente menor ou o desempenho se degrada com escritas síncronas e aleatórias, utilize um disco de substituição adequado ou recrie um pool novo corretamente alinhado, em vez de forçar um disco subdimensionado; um sucesso parcial que não consegue suportar a carga de trabalho original não é compatibilidade.

Suporte e Dicas

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.