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 / user-238378

quixotrykd's questions

Martin Hope
quixotrykd
Asked: 2024-07-08 08:49:59 +0800 CST

O RAID sempre lê/grava um pedaço inteiro?

  • 6

Muitos recursos na Internet contêm informações conflitantes sobre a lógica de leitura/gravação de blocos RAID.

Esta resposta contém as seguintes informações (aparentemente conflitantes):

Um tamanho de bloco de 512 KB não exige que o sistema grave, por exemplo, 512 KB para cada gravação de 4 KB ou leia 512 KB da superfície do dispositivo para uma leitura de aplicativo de 4 KB.

[Ao ler um bloco de 16 KiB do RAID com um tamanho de bloco de 64 KiB] o RAID executará uma operação de leitura/modificação/gravação ao gravar esse arquivo de 4 KiB/bloco de 16 KiB porque a menor unidade de armazenamento do RAID é 64 -KiB.

Por outro lado, este recurso contém as seguintes informações:

Por exemplo, se você tiver um arquivo de texto de 10 KB e o tamanho do bloco for 256 KB, esses 10 KB de dados serão armazenados em um bloco de 256 KB, deixando o restante do bloco vazio. Por outro lado, com blocos de 16 KB, há muito menos desperdício de espaço ao armazenar esse arquivo de 10 KB.

Em particular, tenho as seguintes perguntas:

  1. Ao ler/gravar alguma unidade de dados menor que o tamanho do bloco RAID usando um esquema sem paridade, isso requer uma operação de leitura/modificação/gravação para todo o bloco ou apenas a parte do bloco que é modificada?
  2. Ao usar um esquema RAID com paridade, isso muda alguma coisa na resposta à pergunta 1?
  3. Conforme mencionado na segunda referência, escrever uma unidade de dados menor que o bloco RAID de alguma forma deixa o restante do bloco RAID vazio? Isso me parece incorreto, mas gostaria de esclarecer, pois este recurso afirma isso de forma bastante inequívoca.
  4. Alguma dessas respostas muda dependendo da implementação do RAID (kernel Linux, RAID de hardware, etc.)?

Se possível, fornecer algum tipo de referência oficial (alguma especificação de RAID, código-fonte, etc.) seria incrível.

Desde já, obrigado!

raid
  • 1 respostas
  • 88 Views
Martin Hope
quixotrykd
Asked: 2024-07-04 13:40:57 +0800 CST

Casos de falha do Raid 0+1 VS. Ataque 1+0

  • 8

Ouvi dizer que o RAID 1+0 é mais dependente de falhas do que o RAID 0+1, porque é mais provável que uma falha na unidade secundária cause perda de dados no RAID 0+1 do que no RAID 1+0.

Exemplo de RAID 0+1

Na imagem acima, se o “Disco 1” falhar, quais outras falhas de disco causarão perda de dados? O que li parece indicar que a perda de qualquer unidade no "Grupo 2" causará perda de dados, mas o raciocínio por trás disso não está claro para mim. Se perdermos o “Disco 5”, por que isso causaria perda de dados? Parece-me que há informações suficientes para recuperar o estado completo dos dados - combinar "Disco 4" + "Disco 2" + "Disco 3", por exemplo, deve ter todas as informações necessárias para continuar funcionando corretamente sem dados perda.

Nesse caso, por que a perda do “Disco 1” e do “Disco 5” causaria perda de dados?

Desde já, obrigado!

hard-disk
  • 1 respostas
  • 437 Views
Martin Hope
quixotrykd
Asked: 2019-07-28 02:03:04 +0800 CST

Por que o número da unidade/partição ainda é usado?

  • 15

Muitas vezes, especialmente ao mexer com carregadores de inicialização, vejo números numéricos de unidade e partição usados. Por exemplo, no meu /boot/grub/grub.cfgI see set root='hd0,gpt2', minhas entradas de inicialização UEFI geralmente fazem referência a números de unidade/partição e parece surgir em quase qualquer contexto em que os carregadores de inicialização estejam envolvidos.

Agora que temos UUID e PARTUUID, endereçar partições dessa maneira parece incrivelmente instável (afaik, não é garantido que as unidades sejam montadas sempre na mesma ordem, um usuário pode mover a ordem das unidades conectadas em sua mobo, etc.)

Minhas perguntas, portanto, são duas:

  1. Esse esquema de endereçamento é tão instável quanto descrevi acima? Estou faltando algo no padrão que significa que esse esquema é muito mais confiável do que eu esperava, ou esse esquema de endereçamento realmente tornará seu sistema não inicializável (até que você corrija suas entradas de inicialização pelo menos) como resultado de suas unidades simplesmente serem reconhecidas em um ordem diferente ou conectá-los em slots diferentes na sua placa-mãe?

  2. Se a resposta para a pergunta acima for sim, então por que esse esquema de endereçamento continua a ser usado? Usar UUID ou PARTUUID para tudo não seria muito mais estável e consistente?

partition grub2
  • 5 respostas
  • 2388 Views
Martin Hope
quixotrykd
Asked: 2019-07-28 00:37:31 +0800 CST

Como o bootloader do BIOS sabe qual disco usar?

  • 1

Pelo que entendi, o bootloader GRUB em um sistema BIOS (e a maioria dos outros bootloaders) são compostos de 3 partes. A primeira parte (estágio 1) é armazenada nos primeiros 448bytes, que é responsável por passar o controle para o chamado estágio 1.5, localizado um pouco mais adiante na memória. Este estágio finalmente carrega o estágio 2 da pasta /boot e transfere o controle para ele.

Como o estágio 1 sabe em qual estágio de disco 1.5 reside? Uma vez que o código no estágio 1 começa a ser executado, não há como ele saber de qual disco foi carregado (a menos que essa informação seja de alguma forma passada para o estágio 1 ou o próprio BIOS também carregue o estágio 1.5 na memória?)

Do estágio 1.5 ao estágio 2, novamente, como o estágio 1.5 sabe em qual disco (e em qual partição) o diretório /boot reside?

grub uefi
  • 2 respostas
  • 971 Views
Martin Hope
quixotrykd
Asked: 2019-07-26 21:09:14 +0800 CST

Esclarecimento do Trabalho Subshell

  • 0

Eu executo o comando (Xorg & sleep 3; xeyes) &para testar o Xorg e o agrupo em um único trabalho em segundo plano de subshell para facilitar o gerenciamento. Isso funciona corretamente e abre xeyes na nova sessão do Xorg após 3 segundos.

Ao executar o comando, obterei uma saída como a seguinte:

[1] 635

Depois de executar ps -efpara verificar novos processos, obterei uma saída como a seguinte:

root    635    361    0    4:52    tty1    00:00:00    -bash
root    636    365    0    4:52    tty2    00:00:00    /usr/lib/Xorg
root    639    365    0    4:52    tty1    00:00:00    xeyes

Esta parece ser uma saída bastante padrão e como esperado. Depois de verificar que meu servidor X funciona conforme o esperado, tento matar este grupo com kill %1. Ao executar isso, meus processos agora ficam assim:

root    636    1    0    4:52    tty2    00:00:00    /usr/lib/Xorg

Por que o Xorg não conseguiu sair? Por que o subshell saiu com sucesso, fechando o xeyes corretamente, mas não trouxe o Xorg junto com ele? Por que o processo pai do Xorg agora mudou para 1 em vez do subshell? O subshell não deveria enviar um sinal de kill para todos os seus processos filhos ao sair?

Além disso, se eu matar o grupo com kill 635, que muitos recursos dizem que deve ser equivalente a kill %1, meu estado de processo é ainda mais bizarro:

root    636    1    0    4:52    tty2    00:00:00    /usr/lib/Xorg
root    639    1    0    4:52    tty1    00:00:00    xeyes

O que??? Por que ambos os processos falharam ao sair agora e agora são filhos do PID 1? O que está acontecendo aqui, e o que estou fazendo de errado?

Uma explicação detalhada do que exatamente está acontecendo aqui seria apreciada, além de apenas me dizer o que fazer.

xorg job-control
  • 1 respostas
  • 104 Views

Sidebar

Stats

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

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk 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