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 / 1168340
Accepted
Brian
Brian
Asked: 2024-12-01 02:46:14 +0800 CST2024-12-01 02:46:14 +0800 CST 2024-12-01 02:46:14 +0800 CST

mdadm força todas as unidades a serem usadas em uma [re-]sincronização

  • 772

Tenho um array MD raid1 de 2 discos. Um dos drives é lento, então quero substituí-lo. Mas por paranoia[1] e segurança, quero adicionar o novo (3º) drive e sincronizá-lo antes de remover o drive lento, já que, bem, ele é apenas lento, mas de outra forma está funcionando e tem dados válidos nele e quero evitar degradar o array antes que eu tenha que fazer isso.

Então adicionei o terceiro disco e ele começou a sincronizar, então está tudo bem até agora. Mas ele está usando apenas 1 das 2 unidades existentes como fonte da sincronização, e você não sabe que de acordo com o que eu chamo de regra 50/50/90[2], ele está usando o disco lento como a (única) fonte da sincronização. Posso ver que ele está usando (apenas) o disco lento usando sar :

01:21:55 PM       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util DEV
01:22:00 PM     91.60      0.00  45147.30      0.00    492.87      0.14      1.48     11.26 sdb
01:22:00 PM      0.40      0.00      1.70      0.00      4.25      0.13    314.00     48.08 sde
01:22:00 PM     91.60  45145.60      1.70      0.00    492.87      3.41     37.26     88.30 sdd
01:22:00 PM      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 md0

sddé o disco lento. Se MD estivesse lendo em sdevez disso, a velocidade seria cerca de 4x isso:

# dd if=/dev/sde of=/dev/null bs=1M count=5000
5000+0 records in
5000+0 records out
5242880000 bytes (5.2 GB, 4.9 GiB) copied, 23.1946 s, 226 MB/s

Francamente, estou surpreso que o MD esteja sendo tão simplista e que ele não leia todos os discos durante a reconstrução, exatamente por esse tipo de motivo/caso.

Então, há alguma maneira de forçar o uso de sdenesta sincronização, além sddou em vez dela?

PS A velocidade de sincronização não está sendo limitada por dev.raid.speed_limit_max:

# sysctl -n dev.raid.speed_limit_max
20000000

[1] Podem me chamar de paranóico, mas você sabe que o momento em que seu array estiver reduzido a um único disco é quando esse único disco irá falhar.

[2] Se você tem 50% de chance de algo acontecer de uma forma ou de outra, 90% das vezes será do jeito que você não queria.

mdadm
  • 1 1 respostas
  • 25 Views

1 respostas

  • Voted
  1. Best Answer
    Mike Andrews
    2024-12-02T01:31:26+08:002024-12-02T01:31:26+08:00

    Use a opção contraintuitivamente chamada "Write Mostly". Isso diz ao MD que ele deve evitar usar o dispositivo para leituras. Substitua md123 abaixo pelo dispositivo para seu array MD:

    echo writemostly > /sys/block/md123/md/dev-sdd/state
    

    Verifique novamente se o estado foi aplicado:

    cat /sys/block/md123/md/dev-sdd/state
    in_sync,write_mostly
    
    • 1

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