Perguntas sobre 'io'

I / O refere-se a "Input / Output" geralmente sendo um sinônimo para Write / Read em termos de um arquivo.
1
resposta

O IO prioriza pela própria natureza de renunciar a uma tarefa?

O escalonador CFQ IO suporta as prioridades, embora eu não tenha certeza de que o Deadline faz (eu acredito que não). A premissa é que, quando eu renovo uma tarefa, ela fica com uma parcela maior de CPU no Completely Fair Scheduler. Como essa ta...
23.03.2011 / 14:47
3
respostas

O tamanho do arquivo de 60.0 PB está incorreto. Pode excluí-lo causar perda de dados?

Durante o backup de alguns dados (um diretório pessoal de 200 GB) com rsync , recebi um erro de E / S para um arquivo específico, após o qual rsync continuou "normalmente" com seu backup . O arquivo de origem do problema mostrou ter um taman...
02.07.2012 / 21:37
3
respostas

IO pobre devido ao ordenamento de LUKS / Software RAID / LVM? ______ qstntxt ___

Estou tentando determinar se devo reorganizar minha matriz RAID devido ao desempenho ruim do IO. Primeiro, o sistema:

  • i7 920
  • 4 unidades verdes WD 5400 de 4 TB
  • CentOS 6.3 host

Em segundo lugar, a configuração do disco:

  • / dev / sda2, b2, c2, d2 são criptografados individualmente pelo LUKS
  • / dev / mapper / a2, b2, c2, d2 fazem parte de um software RAID5 / dev / md1
  • / dev / md1 tem LVM além disso
  • O LVM é usado para separar /, / storage e swap

Eu escolhi essa estrutura para permitir várias instâncias do kcryptd, pensando que, ao fazer isso, eu obteria suporte multithread na criptografia, já que uma instância está sendo executada por unidade. No entanto, estou começando a me perguntar se foi uma boa ideia.

Por exemplo, se eu executar uma rotina de descompressão pesada em um arquivo RAR de dados aleatórios, meu IO Wait aumenta para cerca de 25% e diminui o sistema geral. Eu estou querendo saber se todos os conjuntos de instruções estão recebendo backup de alguma forma devido a todos os processos do kcryptd.

Por isso, estou pensando em mudar para:

  • / dev / sda2, b2, c2, d2 são colocados em / dev / md1
  • / dev / md1 é criptografado e mapeado para / dev / mapper / 1
  • LVM em cima de / dev / mapper / 1

Isso cairia em um único processo kcrpytd, que poderia ser um gargalo por si só também. Alguém acha que isso ajudará no meu problema de IO?

    
______ azszpr114452 ___

Suas camadas são abaixo do ideal porque colocar o RAID 5 em cima da criptografia significa aumentar em 25% o número de operações de criptografia / descriptografia, pois 4 * 4 TB são criptografados.

Ao colocar a criptografia na parte superior da invasão 5, apenas 3 * 4 TB são criptografados.

O raciocínio por trás disso é: você não precisa criptografar dados de paridade (que ocupam 4 TB em seu exemplo) de dados criptografados porque isso não aumenta sua segurança.

Sua presunção sobre vários processos kcrypt é apenas isso. Ao basear as decisões nele, é uma otimização prematura que pode ter o efeito oposto. Seu i7 é bastante robusto, provavelmente incluindo algumas instruções especiais que ajudam a acelerar o AES - e o kernel do Linux inclui várias variantes otimizadas de primitivas criptográficas que são automaticamente selecionadas durante a inicialização.

Você pode verificar se as rotinas otimizadas para sua CPU são usadas via %code% (por exemplo, sinalizador %code% ), %code% , %code% (a menos que os módulos aes sejam compilados no kernel) e log do kernel.

Você deve comparar o throughput do kryptd sem envolver nenhum disco lento para ver qual é o limite superior (isto é, em um disco RAM usando o iozone).

Para diagnosticar possíveis problemas de desempenho mais tarde, também é útil fazer um benchmark de sua configuração de escolha de RAID sem qualquer criptografia para obter um limite superior nesse ponto.

Além do tópico de criptografia, o RAID 5 envolve mais IO-Operations do que o RAID 1 ou 10. Como o armazenamento é meio barato, talvez seja uma opção para comprar mais discos rígidos e usar outro nível de RAID.

    
______ azszpr114404 ___

Eu Raid 1 + 0 [a2, b2] + [c2, d2], depois LVM sobre LUKS.

Exemplo

%pre%

OBSERVAÇÃO: Estruturar desta forma criará uma faixa de espelhos permitindo que um máximo de 2 discos falhe (um em cada espelho max) e lhe dará um espaço total / 2 em oposição a raid5 que é total * ~ 0,75.

Também acredito que este esquema é significativamente mais rápido porque o RAID5 é conhecido por prejudicar o desempenho, mas você terá menos espaço disponível.

Você também pode verificar a cifra, embora eu ache que aes-cbc-essiv é o padrão e razoavelmente rápido, mas você poderia usar aes-xts-plain, que deveria ser mais rápido.

    
______ azszpr114424 ___

Sua configuração significa que mais dados precisam ser criptografados no total ao gravar (os dados de paridade). Se sua criptografia já estiver lenta, a propriedade de vários núcleos pode não ser suficiente para compensar isso. Ao ler, não deve fazer diferença (os dados de paridade normalmente não são lidos). Isso ainda não está considerando quaisquer efeitos colaterais com o tempo mdadm ou o que quer que seja.

Eu tomei uma abordagem diferente; em vez de fazer um grande RAID, particionei meus discos e criei vários discos menores (por exemplo, 8x 250G partições em um disco de 2TB). Isso significa 8 RAIDs em vez de 1, 8 contêineres LUKS e o LVM conecta tudo novamente em um grande VG.

Em seguida, contanto que você tenha processos trabalhando em diferentes áreas do disco, os vários contêineres e RAIDs do LUKS funcionariam independentemente um do outro. Não é verdadeira criptografia paralela (o kernel ainda não suporta isso sozinho?), Mas funcionou muito bem para mim.

Eu mantive essa configuração até mesmo em minha nova caixa Haswell, onde a criptografia não é um problema, graças ao AES-NI. Eu fiz isso porque há outros efeitos colaterais positivos. Por exemplo, um único setor defeituoso faria com que apenas uma parte de 250G de um disco caísse do RAID, enquanto o outro 1750G permanecesse redundante; ou se há um bug como o pânico do kernel RAID5 no 3.13.0, apenas um dos RAIDs precisa ser ressincronizado ao invés de todos eles.

Ao mesmo tempo, não notei nenhum problema de desempenho, diferente de outras soluções, como o bitmap com intenção de gravação, etc.

    
___

Estou tentando determinar se devo reorganizar minha matriz RAID devido ao desempenho ruim do IO. Primeiro, o sistema: i7 920 4 unidades verdes WD 5400 de 4 TB CentOS 6.3 host Em segundo lugar, a configuração do disco: / dev / sda2...
09.02.2014 / 18:03
2
respostas

Qual é a diferença entre o ioremap e a operação de arquivo mmap?

Atualmente estou trabalhando em um driver de dispositivo PCI para o Ubuntu. Eu tenho um código de exemplo sobre o driver PCI, mas tenho dificuldade em entender o ioremap e o file_operation.mmap. A descrição da operação do arquivo mmap: M...
28.10.2015 / 13:31
2
respostas

Por que demora tanto para inicializar?

# systemd-analyze blame 40.256s firewalld.service 38.154s initial-setup-graphical.service 26.161s dev-mapper-VolGroup\x2dlv_root.device 24.262s abrtd.service 24.118s systemd-udev-settle.service 20.907s s...
02.09.2016 / 11:09
1
resposta

Não é possível reformatar o cartão Micro SD

Eu preciso reformatar meu cartão micro SD, mas estou tendo alguns problemas com ele. Quando eu vou a placa no meu computador, ele exibe a seguinte mensagem: The folder contents could not be displayed Sorry, could not display all the conte...
27.12.2015 / 17:57
1
resposta

Qual é a maneira recomendada de configurar um planejador de E / S padrão no Linux?

Eu gostaria que o deadline fosse o agendador de IO padrão para o meu sistema e não quero perder essa configuração quando reinicializar. Qual é a maneira correta de fazer isso? (Estou usando o Debian) Algumas dicas: tem um script de ini...
05.03.2014 / 01:59
2
respostas

Como posso saber qual processo está vinculado a E / S?

Suponha que eu tenha um grande número de processos e um (ou mais) seja vinculado a E / S, óbvio por um alto valor wa em top . Como posso identificar qual processo é? Cada processo mostra quanta CPU está sendo usada, mas como posso saber qua...
09.06.2015 / 01:59
1
resposta

Acessando a memória E / S mapeada está lenta

Eu tenho um Terasic-SoCKIT (fpga & arm cortex a9) e tenho Linux rodando no HPS. Estou tentando acessar a memória mapeada I / O, escrevi um driver de caractere simples com funções "request_mem_region" e "ioremap". O IO mapeado na memória é um...
22.10.2015 / 00:43
1
resposta

fstrim e iostat

Eu tenho um novo samsung ssd no meu novo notebook. Eu ajustei tudo para evitar escritas no disco (perfis firefox e /var/log na memória), estou usando um ext4 fs com relatime e eu uso fstrim uma vez por dia para TRIM my ssd. Eu mon...
30.08.2013 / 01:03