ti-enxame.com

Qual é a melhor maneira de explicar problemas de armazenamento para desenvolvedores e outros usuários

Quando o armazenamento do servidor obtém os baixos desenvolvedores, todos começam a gemer ", eu posso obter um 1 TB dirigir no Walmart por 100 dólares, qual é o problema".

Como as complexidades de armazenamento podem ser explicadas aos desenvolvedores para que eles entendam por que um 1 TB Drive do Walmart simplesmente não funcionará.

p.S. Eu sou um desenvolvedor e quero saber também :)

40
John Dyer

Algumas verdades em casa sobre o armazenamento, ou por que o armazenamento empresarial é tão caro?

Os discos rígidos do consumidor oferecem grandes volumes de espaço para que até mesmo o usuário mais exigente de * tosse * streaming mídia * tosse * pode comprar o suficiente para armazenar uma coleção de vários terabytes. Na verdade, a capacidade do disco tem crescido mais rápido do que o transistor conta com silício por algumas décadas agora.

O armazenamento 'Enterprise' é uma questão um pouco mais complexa, pois os dados têm requisitos de desempenho e integridade que ditam uma abordagem um pouco mais pesado. Os dados devem ter alguma garantia de disponibilidade no caso de falhas de hardware e pode ter que ser compartilhada com um grande número de usuários, que gerará muito mais solicitações de leitura/gravação do que um único usuário.

As soluções técnicas para esse problema podem ser muitas, muitas vezes mais cara por gigabyte do que as soluções de armazenamento do consumidor. Eles também exigem manutenção física; Os backups devem ser tomados e muitas vezes armazenados fora do local para que um incêndio não destrua os dados. Este processo adiciona custos contínuos.

desempenho

No seu consumidor 1TB ou até mesmo empreendimento, você tem apenas uma cabeça. O disco gira a 7200 RPM ou 120 revoluções por segundo. Isso significa que você pode obter no máximo 120 operações de E/S de acesso aleatório por segundo em teoria * e um pouco menos na prática. Assim, copiar um arquivo grande em um único volume 1TB é relativamente lento.

Em uma matriz de disco com 14x 72GB discos, você tem 14 cabeças sobre discos em (digamos) 15.000 rpm ou aproximadamente 250 revoluções por segundo. Isso lhe dá um máximo teórico de 3.500 operações de E/S aleatórias por segundo * (novamente, um pouco menos na prática). Todas as outras coisas sendo iguais a uma cópia de arquivo serão muitas vezes mais rápidas.

* Você pode obter mais de um acesso aleatório por revolução do disco se a geometria das leituras permitiu que a unidade mova as cabeças e leia um setor que veio disponível dentro de uma revolução do disco. Se os acessos do disco foram amplamente dispersos, você provavelmente será menor que um. Onde uma matriz de disco formatada em um layout listrado (veja abaixo) você terá um máximo de uma listra lida por revolução do disco na maioria das circunstâncias e (dependendo do controlador RAID) possivelmente menos de uma em média.

A unidade de 7200 RPM 1TB provavelmente será razoavelmente rápida na E/S sequencial. Matrizes de disco formatadas em um esquema listrado (RAID-0, RAID-5, RAID-10, etc.) podem ser ler no máximo uma listra por revolução do disco. Com uma listra de 64K, podemos ler 64KX250 = 16MB ou mais de dados por segundo de um disco de 15.000 RPM. Isso fornece um rendimento seqüencial de cerca de 220MB por segundo em uma matriz de 14 discos, o que não é muito mais rápido no papel do que o 150MB/SEC ou tão citado para um disco de SATA moderno 1TB.

Para streaming de vídeo (por exemplo), uma matriz de 4 discos SATA em um RAID-0 com um tamanho grande de listra (alguns controladores RAID apoiarão os tamanhos de tarja até 1MB) ter um monte de rendimento seqüencial. Este exemplo poderia teoricamente fluir cerca de 480MB/seg, que é confortavelmente o suficiente para fazer edição de vídeo HD não compactada em tempo real. Assim, os proprietários de profissionais MAC e hardware similar podem fazer tarefas de composição de vídeo em HD que teriam exigido uma máquina com uma matriz de fibra direta há apenas alguns anos.

O benefício real de uma matriz de disco está no trabalho do banco de dados que é caracterizado por um grande número de pequenas solicitações de E/S dispersas. Neste tipo de desempenho de carga de trabalho é restrito pela latência física de pedaços de metal no disco rondando e volta e para trás. Esta métrica é conhecida como IOPS (operações de E/S por segundo). Os discos mais físicos que você tiver - independentemente da capacidade - quanto mais o IOPS você pode fazer teoricamente. Mais IOPS significa mais transações por segundo.

integridade de dados

Além disso, a maioria das configurações RAID fornecem algumas redundância de dados - o que requer mais de um disco físico por definição. A combinação de um esquema de armazenamento com tal redundância e um número maior de unidades fornecem um sistema a capacidade de servir de forma confiável uma grande carga de trabalho transacional.

A infraestrutura para matrizes de disco (e sans no caso mais extremo) não é exatamente um item de mercado de massa. Além disso, é um dos bits que realmente, realmente não pode falhar. Esta combinação de padrão de construção e menores volumes de mercado não é barato.

custo total de armazenamento incluindo backup

Na prática, o maior custo para manter 1TB de dados é provável que seja backup e recuperação. Uma unidade de fita e 34 conjuntos de fitas SDLT ou Ultrium para um ciclo de avô completo de backup e recuperação provavelmente custarão mais do que uma matriz de disco 1TB fez. Adicione os custos do armazenamento fora do local e o salário de mesmo um único macaco-fita e de repente, seu 1TB de dados não é tão barato.

O custo dos discos é muitas vezes um longo caminho pela hierarquia dos custos de armazenamento dominantes. Em um banco, tive a oportunidade de trabalhar para SAN foi custada a £ 900/GB para um sistema de desenvolvimento e £ 5.000/GB para um disco em um servidor de produção. Mesmo nos preços do fornecedor da empresa, o custo físico dos discos era apenas uma pequena fração disso. Outro exemplo que estou ciente de ter um (relativamente) configurado modestamente configurado o tubarão da IBM SAN que custou a algum lugar superior a 1 milhão. Apenas o armazenamento físico sobre isso é cobrado em torno de £ 9/Gigabyte, ou cerca de £ 9.000 para o espaço equivalente ao seu HDD do consumidor de 1TB.

53
ConcernedOfTunbridgeWells

Apenas diga: "Sim, e eu posso obter um Java programador offshore por US $ 5/hora."

40
Portman

Talvez faça-lhes algumas perguntas sobre sua unidade Walmart:

  • qual é o seu tempo médio para o fracasso?
  • o que acontece se falhar catástropicamente?
  • quantas vezes é backup?
  • quanto armazenamento terá 12 meses de backups?
  • como pode ser feito backup do site?
  • como poderia ser restaurado? (no todo? Um único arquivo? Um par de diretórios?)
  • quanto custa armazenar os backups?
  • como ele garante que os backups sejam mantidos seguros? seguro?
  • que seguro ele tem para cobrir a perda de dados vitais?

... compare essas respostas com uma unidade que está sendo executada como parte de um array RAID 5 em um datacentre bem gerido.

(Divulgação: Eu também sou um desenvolvedor - estou apenas adivinhando!)

14
AJ.

Talvez você deve considerar o armazenamento diferenciado.

Seu dev pode precisar de mais espaço, mas talvez não seja "corporativo classe" drenespace ele é depois. Talvez ele só precise ter um lugar de armazenamento de .VHD e ISO é que o caso de uma falha de disco pode ser baixado novamente do MSDN. Talvez as corridas de teste exijam grandes requisitos de espaço transitórios que só precisam estar lá para a duração do teste. Para todos estes, uma unidade WallMart de $ 50 pode ser uma solução válida.

4
Peter Stuer

Depende de que tipo de servidores perguntando. Para um Dev ou Testing Server Servidor, uma tuberculose de WallMart provavelmente é boa o suficiente. Se você está lidando com um servidor high end que não usa os componentes da prateleira, pergunte se eles construíram um carro de corrida e comprar pneus de uma loja de autopeças para economizar alguns dólares.

2
Jared

A maneira como eu explico isso é isso. Se o seu chefe sairá na compra. Eu vou colocar um sinal no Wal-Mart Drive que afirma ..

"O anúncio do SYS foi instruído a colocar isso aqui contra sua vontade e intestino". E quando a unidade morre, vou entregar a unidade e notar para o dev e perguntar-lhes como fazer o meu trabalho desta vez ..

Eu concordo com o Portman ... Confie na equipe ou saia.

1
Thomas Denton

Uma simples resposta de uma linha: 1TB drives é geralmente SATA, mas seu servidor é SCSI. (Mesmo que o servidor não seja SCSI, isso pode parar a linha de inquérito ... por enquanto.)

Uma unidade SCSI de 300 GB é geralmente 4x o preço, em seguida, faz o backup dos dados existentes, obtendo o tempo de inatividade organizado, fazendo a instalação, algo pode dar errado, a hora extra, etc. etc. Todos em todos, uma atualização de armazenamento simples pode levar a todos tipos de dor - nenhuma das quais o dev é diretamente responsável. Dizendo que você pode comprar uma unidade off-the-prateleira que satisfaça a necessidade atual é irremediavelmente simplista.

Mas você sabe que deveria ter colocado drives maiores nos malditos servidores quando você os comprou e está chutando agora mesmo! Mas você queria que os servidores instalados e eles teriam somado ao custo inicial e poderia ter que ir uma rodada extra de aprovação ... Bem-vindo ao mundo da dor de Sysadmin ...

0
Cawflands