AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1149216
Accepted
mikem
mikem
Asked: 2023-12-06 15:02:39 +0800 CST2023-12-06 15:02:39 +0800 CST 2023-12-06 15:02:39 +0800 CST

nível de replicação incompatível do zpool

  • 772

Adicionei acidentalmente um raidz1 incompatível a um pool existente. Sim, especifiquei o '-f' para fazer isso, mas esperava usar o '-f' por um motivo diferente e não estava prestando atenção.

Enfim... quão ruim é isso? Eu realmente só precisava de espaço extra na piscina e queria que esse espaço fosse redundante. A piscina fica assim:

   NAME                       STATE      READ WRITE CKSUM
    pool_02c                   ONLINE        0     0     0
      raidz1-0                 ONLINE        0     0     0
        c0t5000C500B4AA5681d0  ONLINE        0     0     0
        c0t5000C500B4AA6A51d0  ONLINE        0     0     0
        c0t5000C500B4AABF20d0  ONLINE        0     0     0
        c0t5000C500B4AAA933d0  ONLINE        0     0     0
      raidz1-1                 ONLINE        0     0     0
        c0t5000C500B0889E5Bd0  ONLINE        0     0     0
        c0t5000C500B0BCFB13d0  ONLINE        0     0     0
        c0t5000C500B09F0C54d0  ONLINE        0     0     0

Eu li outra pergunta sobre esse tipo de cenário e afirmava que "tanto o desempenho quanto a eficiência do espaço (ou seja: por meio de preenchimento não ideal) serão afetados", mas isso é um pouco vago e espero que alguém possa dar um pouco mais detalhe.

Do ponto de vista do uso do pool, os dados colocados nos discos no vdev raidz1-0 não são redundantes nesse vdev e os dados colocados no raidz1-1 são redundantes nesse vdev? E, se for esse o caso, o desempenho não estaria relacionado ao vdev específico?

Onde o preenchimento entra em jogo aqui e como isso afetaria a capacidade de armazenamento? ou seja. Isso faria com que mais espaço fosse alocado, como para cada 1 milhão que escrevo, uso 1,2 milhões?

Não estou muito preocupado com o desempenho deste pool, mas como essa configuração afeta as velocidades de leitura/gravação? Eu esperaria que cada vdev funcionasse na velocidade de seus respectivos dispositivos. Então, como uma diferença de replicação do vdev afeta isso?

Para sua informação, isso está em um sistema Solaris 11.4. Eu tentei remover o vdev usando:

zpool remove pool_02c raidz1-1

mas recebo o erro:

 cannot remove device(s): not enough space to migrate data

O que parece estranho, já que literalmente acabei de adicioná-lo e não escrevi nada no pool.

Estou bem convivendo com isso, pois parece ter me dado o espaço que eu esperava, mas só quero entender melhor o diabo com quem estarei convivendo.

zfs
  • 1 1 respostas
  • 33 Views

1 respostas

  • Voted
  1. Best Answer
    shodanshok
    2023-12-07T03:28:56+08:002023-12-07T03:28:56+08:00

    Resposta curta: embora um pouco abaixo do ideal, o layout do seu pool não deixa a desejar - é uma configuração legítima.

    Resposta longa: RAIDZ vdev é atípico na forma como armazena dados em comparação com uma matriz RAID tradicional. Em um RAIDZ vdev, algum espaço pode ser perdido devido a a) preenchimento e b) largura de faixa dinâmica. Sugiro que você leia (várias vezes, se necessário) este artigo muito útil . De qualquer forma, as duas lições são:

    • a alocação acontece na ashift * (redundancy+1)granularidade (ou seja: para um ashift=12vdev RAIDZ, a granularidade de alocação será de blocos de 4K * (1 + 1). A alocação de 1, 3 ou 5 blocos não é possível; em vez disso, 2, 4 ou 6 serão alocados. Isso é interessante interação com recordsize: como exemplo, para o caso extremo de todas as gravações de bloco de 4K, RAIDZ1 tem a mesma eficiência de espaço de vdevs espelhados (ou seja: 1 dado + 1 bloco de paridade)

    • o tamanho da faixa é dinâmico, o que significa que para um único recordsizebloco de dados haverá pelo menos, e possivelmente muitos (dependendo do vdev com), bloco de paridade. Isso significa que a interseção entre o tamanho máximo da faixa dinâmica ( recordsize / ashift), o tamanho do arquivo e a largura do vdev fará com que uma quantidade variável de blocos de paridade diferentes sejam gravados

    Devido ao ponto 2 acima, larguras de vdev desiguais podem levar a diferentes eficiências de espaço para os dois vdevs.

    No entanto, você deve evitar colocar muito peso neste tipo de cálculo: habilitar a compactação alterará o tamanho efetivo da alocação física de uma maneira que quase sempre superará os pontos ideais de eficiência de espaço, conforme descrito pelas regras acima.

    Portanto, se você tivesse 3 (e apenas 3) discos para adicionar a um vdev RAIDZ, você fez a coisa certa. Dito isto, tenha cuidado ao usar-f

    Sobre a remoção do vdev, não posso comentar porque não sei como o Solaris consegue isso.

    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve