Para que tipo de desktop Linux a distribuição de LVM vale a pena?

2

Eu executo várias máquinas Linux em casa e no trabalho. A maioria da minha computação é limitada por E / S, por exemplo, grandes pacotes de regressão de compiladores e similares. Em casa eu também tenho uma máquina que captura vídeo de alta definição de uma antena terrestre. Um evento esportivo entra em um único arquivo com cerca de 30 GB; Tenho mais de 4 TB de armazenamento dedicados ao vídeo HD.

A minha pergunta é em que circunstâncias devo segmentar ? Minha configuração atual para meu diretório pessoal e sistema de arquivos raiz é distribuir o XFS por duas unidades usando o LVM. Exemplo de saída de lvdisplay -m :

Logical extent 0 to 117247:
  Type                striped
  Stripes             2
  Stripe size         64 KB
  Stripe 0:
    Physical volume   /dev/sdb2
    Physical extents  0 to 58623
  Stripe 1:
    Physical volume   /dev/sda2
    Physical extents  0 to 58623

No entanto, acabei de ler artigos com títulos como RAID: Não é uma idéia tão inteligente para o seu PC em casa , Há duas unidades melhores que uma? e um artigo do storagereview.com - todos dizem que o striping com o RAID- 0 é um desperdício de dinheiro e esforço para uma máquina desktop de usuário único. Mas

  • Esses estudos usam o Windows, não o Linux

  • Eles usam RAID de hardware, não LVM

  • Eles não estão lidando com arquivos de vídeo de 30 GB

Gostaria da experiência de outras pessoas na questão para quais tipos de configurações, se houver, a distribuição de LVM em dois discos melhora a experiência de desktop Linux para um usuário?

    
por Norman Ramsey 26.07.2009 / 19:13

9 respostas

3

My question is under what circumstances should I stripe?

Se você estiver falando sobre uma faixa "espelhada", poderá usá-la para migrar dados de uma unidade para outra. Você não o usaria como uma forma de RAID-1, pois não é tão eficiente quanto o driver md regular.

Se você está falando sobre uma faixa que amplia o espaço em disco, bem, é para isso que ela é usada: quando você fica sem espaço.

Caso contrário, eu não me incomodaria com as opções de faixa do LVM.

I'd like other people's experience on the question for what sorts of configurations, if any, does LVM striping across two disks improve the single-user Linux desktop experience?

Bem, eu ativei o espelhamento do LVM para um servidor ocupado, com duas unidades em um gabinete eSATA. O comportamento que observei foi que ele "rebentaria" as gravações de espelhamento para a outra unidade e, em geral, ficaria atrás da unidade principal em um segundo ou dois. Isso me deixou muito nervosa, pois poderia haver possíveis problemas de consistência durante uma falha na unidade principal. O desempenho também foi abismal sob cargas pesadas de gravação, e o desempenho de leitura não melhorou porque não utilizou a outra unidade para leitura. Eu desmontei essa configuração e a mudei para um RAID-1 através do driver md e o aumento de velocidade ficou imediatamente visível, sem nenhum comportamento "rajada".

Algumas recomendações:

  • Se você tem quatro unidades do mesmo tamanho e todos os seus dados caberiam em duas unidades, eu recomendaria facilmente um RAID-10 em um RAID-5 qualquer dia. Sim, você perde 2 drives, mas ganha um pouco mais de redundância do que o RAID-5 e seus tempos de acesso são "uniformes".
  • Se você tiver apenas duas unidades e elas puderem acomodar todos os seus dados, eu recomendaria um espelho (RAID-1).
  • Se você tem unidades de tamanhos muito diferentes e está tentando economizar, você pode usar o LVM para estender o volume para a segunda unidade, desde que esteja ciente dos riscos envolvidos. Uma única falha na unidade significa que você perderia o que você tinha.

However, I've just read articles with titles like RAID: Not Such a Clever Idea for Your Home PC, Are two drives better than one?, and a piece from storagereview.com — all of which say that striping with RAID-0 is a waste of money and effort for a single-user desktop machine.

A distribuição RAID-0 existe por um motivo: você está sem capacidade de armazenamento e precisa aumentá-la temporariamente. A palavra chave aqui é "temporariamente", a idéia é que você logo irá remediar o problema com uma correção permanente.

Se você está falando sobre uma caixa de jogos que pode ser apagada e reinstalada, então é uma perda de tempo.

Se você está falando de uma caixa que lida com seu sustento, e a única maneira de fazer as coisas funcionarem é estender o volume para outra unidade, então essa é uma história diferente. Você precisa fazer o que precisa fazer.

    
por 27.07.2009 / 08:13
2

Considerando que a transmissão HD usa uma taxa de bits máxima de 19,4 Mbps. Isso é menos que 2,5MB / s. Você pode gravar de 4 a 5 transmissões em HD de uma vez e um único disco rígido será capaz de acompanhar. Então, eu diria que os riscos superam quaisquer benefícios neste caso.

As únicas situações reais que você pode notar a diferença é se você está copiando esses arquivos de 30GB para outro sistema que também teve um ataque de algum tipo sobre Gigabit ethernet ou possivelmente editar esses vídeos. Mas meu palpite é que estamos falando de uma caixa mythtv neste caso que provavelmente está sinalizando os comerciais também. Assim, a sinalização comercial pode ser um pouco mais rápida, mas o mythtv faz isso como um processo em segundo plano, uma vez que o fluxo foi capturado. Eu não vejo nenhuma melhora lá do ponto de vista do usuário final.

    
por 27.07.2009 / 03:08
2

A distribuição provavelmente não ajudará suas atividades diárias na área de trabalho. A distribuição é melhor usada quando você tem operações de E / S grandes e (relativamente) longas. Em uma área de trabalho comum, você geralmente tem muitas operações pequenas e aleatórias de E / S, que não se beneficiam da distribuição.

IMHO, o striping é melhor usado:

  1. Quando você tem arquivos grandes, precisa ler / escrever. Vários discos provavelmente irão executar um único disco.
  2. Você tem um bom suporte para RAID em seus volumes físicos. Como observado anteriormente, o striping duplica sua chance de perder dados.
  3. Ter controladores separados ajudará você a obter um desempenho ainda melhor, pois o trabalho será realmente dividido em vários canais
por 26.07.2009 / 19:56
1

Eu digo - sempre usa o LVM. Você nunca sabe quando você pode querer estender o LV que você está usando, então por que não ter a opção de fazer isso apenas adicionando outra unidade, ou colocando a coisa toda em um drive maior e adicionando um PV no vazio? espaço.

Sem mencionar a possibilidade de snapshots, e o resto dos recursos que o LVM fornece

E, quanto a esses artigos, o raid e o LVM são coisas diferentes e estão lá para alcançar diferentes propósitos. A invasão é principalmente para aumentar a robustez do armazenamento ou para melhorar sua velocidade. O LVM é sobre gerenciamento flexível de espaço e algumas vantagens extras, como instantâneos, o que só é possível em sistemas de armazenamento de ponta.

    
por 26.07.2009 / 19:17
1

A distribuição só é útil quando você corre o risco de perder os dados. Seu dispositivo de bloco terá metade da confiabilidade de uma única unidade. Se você puder viver com isso em troca de um desempenho extra, então o striping pode funcionar bem para você.

    
por 26.07.2009 / 19:30
1

O desempenho extra dependerá do resto do sistema. Existem gargalos entre os chips SATA e o restante do sistema? Você está realmente ligado a E / S, etc.

A única maneira fácil de ver se você vai ganhar alguma coisa é fazendo a experiência com a carga de trabalho que você deseja usar o sistema.

Como outros já disseram, sempre use o LVM por causa da flexibilidade que ele oferece. Eu não usaria listras não espelhadas em casa, a menos que fosse para espaço tmp.

    
por 26.07.2009 / 19:52
1

Em geral, os adaptadores "hardware RAID" em dispositivos de classe de estação de trabalho são lixo. Há uma riqueza de perguntas sobre o StackOverflow nesse tópico, então deixarei por aqui.

Qualquer que seja a rota, o striping (também conhecido como RAID-0) é uma boa técnica para melhorar o desempenho de aplicativos vinculados a E / S, o que você possui. O preço desse desempenho é um risco adicional maior e desconhecido de falha catastrófica.

Isso é um grande negócio? Para mim, não é - estou usando um Mac Pro com 4 unidades distribuídas, todas com backup do Time Machine. Eu posso viver com a falta de comissão por algumas horas enquanto eu restauro a partir do backup. Para você, eu recomendaria a utilização de uma estratégia de backup / restauração com a qual você possa conviver antes de prosseguir com o striping.

    
por 26.07.2009 / 20:25
1

IMO, você deve usar o striping sozinho quando não se importa com seus dados.

quando você distribui dados por várias unidades, aumenta o risco de perder tudo em todas as unidades porque a falha de qualquer unidade significa a perda total do volume inteiro ... e quanto mais unidades você faixa, quanto maior o risco.

de acordo com isso, IMO, a resposta para "quando devo distribuir?" é "nunca" ou "quando você está distribuindo volumes espelhados, como em RAID-10".

se os dados em si e o desempenho do IO for importante para você, então obtenha uma placa RAID SAS de hardware boa (por exemplo, um adaptec 3805 ou 5805 ou similar) com um cache de gravação grande suportado por bateria e faça um volume RAID-6. para obter 4 TB com RAID-6, você precisará de 6 unidades de 1 TB. mais um mais como sobressalente quente ou frio.

Os controladores SAS suportam unidades SAS e SATA. os modelos mencionados acima suportam até 8 unidades diretamente, mas podem suportar mais através do uso de expansores SAS (ao custo de desempenho - mais unidades significam menos largura de banda IO por unidade, mas você provavelmente poderia expandir até 16 unidades ou mais sem perceber nenhum O 3Gbps por canal SATA dá a você talvez 250MB / s de IO, e unidades atuais não-SSD boas podem usar cerca de 100-120MB / s ou menos cada).

como alternativa, use o software RAID-10 (uma matriz distribuída de volumes espelhados). um array de 4 TB exigiria drives 8x1TB. por exemplo. 4 matrizes RAID-1 são distribuídas em conjunto com o RAID-0 (ou LVM) para um único volume de 4 TB.

você pode usar o LVM em cima desses arrays RAID para gerenciar o espaço. Se você está indo para a rota RAID-10, então o striping pode ser feito com LVM ao invés de RAID-0.

outra coisa a considerar é separar os aplicativos que consomem I / O para que eles não compitam por IO. por exemplo. mantenha seu sistema operacional em uma pequena unidade, digamos 80 GB (ou um par espelhado RAID-1), seu código-fonte para regressão de compilador em outra unidade ou par RAID-1 e seus dados de vídeo em RAID-10 ou RAID-6 .

e instale o máximo de memória possível na máquina, já que o linux usará tudo para o buffer de disco. As placas-mãe mais comuns suportam até 4 cartões de memória DDR-2 ou 6 DDR-3, portanto, com bastões de 2 GB mais baratos que os de 4 GB, você pode instalar no máximo 8 GB ou 12 GB a um preço razoável. Se você precisar de mais do que isso, é mais econômico substituir a placa-mãe por um servidor MB (da Tyan ou SuperMicro, etc.) com mais soquetes de memória RAM do que usar sticks de 4 GB.

Ah, e as baias hot swap são uma boa idéia - quando (não se, quando) uma unidade falhar, você precisa ser capaz de substituí-la o mais rápido possível. O RAID-6 pode lidar com quaisquer duas unidades que falham simultaneamente, então, quando uma unidade falhar, será necessário apenas mais uma unidade para levar tudo com ela. O RAID-10 pode lidar com mais unidades que falham (até metade das unidades pode falhar, contanto que 1 de cada par espelhado sobreviva).

e, finalmente, backup. O RAID, como foi mencionado muitas vezes antes por muitas pessoas, não é um substituto para o backup. A única mídia de fita atualmente capaz de fazer o backup da quantidade de dados que você tem em um tempo razoável sem passar dias trocando cartuchos é LTO-4. As unidades para isso são caras e os cartuchos de fita parecem caros (mas na verdade são mais baratos que os discos rígidos quando você calcula o custo por gigabyte). se o seu orçamento não se estender a isso, você poderá usar várias unidades extras (conectadas via e-sata, firewire, uma baia de troca a quente sobressalente ... ou até mesmo USB) para fazer backup para inserir unidade, executar backup, remover dirigir, armazenar na prateleira ou fora do local ... as capacidades de acionamento atuais são de até 2TB, e ficarão maiores e mais baratas com o tempo. BTW, a preços correntes (aproximadamente US $ 1500- $ 2000 para uma unidade LTO nua vs aproximadamente US $ 100 para um disco rígido de 1 TB - aprox. Preços atuais do dólar australiano), o custo de uma unidade LTO compraria 15 a 20 unidades de disco rígido para backup. e você poderia comprá-los conforme necessário, em vez de todos de uma vez, com os preços caindo notavelmente a cada vez.

    
por 27.07.2009 / 00:14
0

Pode ser porque a unidade na qual todos os meus jogos foram instalados é um pouco mais antiga que a unidade em que meu sistema principal / partições de trabalho estão, mas notei uma melhoria definitiva no carregamento e nos tempos entre níveis de alguns jogos quando adicionei uma segunda unidade (da mesma linhagem) e configurada como array RAID0. Não perto do teórico duas vezes o desempenho, mas o suficiente para ser bastante perceptível. Isto é obviamente bastante subjetivo: eu não fiz nenhum benchmark estatisticamente sólido.

Esses artigos são bastante antigos, e o storagereview fala especificamente sobre as limitações do barramento PCI (o que significa que seria o gargalo em termos de taxa de transferência em massa, não unidades modernas, limitando o desempenho em massa do RAID0). Mas se o seu controlador é baseado em PCI-E, então você terá um maior throughput para jogar.

Dito isso, eu só configuro o RAID0 na minha caixa de trabalho como um experimento para ver qual diferença ele realmente faria. Se eu fosse montar um novo PC desktop em casa com os novos e rápidos drives rápidos, não tenho certeza se faria o mesmo ou não. Para uso em desktop, geralmente, eu recomendaria usar um par de unidades como uma matriz RAID1 para obter a redundância em vez de usá-las em uma configuração RAID0 por motivos de desempenho.

    
por 26.07.2009 / 20:01