Storage Architecture

6

Relacionado a esta pergunta: Ao criar uma rede de área de armazenamento, os administradores de armazenamento geralmente criam as matrizes de disco físico com base no tipo de E / S (acesso sequencial versus aleatório) e provisionam LUN's desses arrays para hosts que precisam desse tipo específico de E / S?

    
por joeqwerty 02.10.2012 / 19:55

4 respostas

5

Tento corresponder as demandas de E / S esperadas à arquitetura. Para quase tudo o que fiz, a abordagem SAN de se você lança discos o suficiente, o total de I / Ops excede todas as cargas de trabalho especializadas, acaba funcionando muito bem. Se eu tiver 96 fusos em uso, o total de I / Ops que tenho à minha disposição é suficiente para manter os arquivos de log SQL-sever alimentados, mesmo com um servidor Exchange em execução nos mesmos discos.

Onde a teoria (separação de E / S é a melhor prática) é a forma como algumas dessas grandes matrizes de SAN são projetadas. Enquanto o sequencial I / Ops de quatro discos de 15K RPM é bastante alto, muitos desses arrays intencionalmente randomizam o layout de bloco para que você não obtenha esse desempenho mesmo se criar um disco de 4 discos Grupo dedicado exclusivamente para um volume de log do SQL. Eles provavelmente terão alguns benefícios sequenciais, já que o tamanho do bloco é geralmente maior que o 4K usado pelos próprios discos, mas não será o demônio que você espera de uma carga sequencial pura.

Onde isso acontece é se estou construindo um armazenamento dedicado para um banco de dados. Isso pressupõe que as necessidades de E / S deste serviço são tão grandes, ou o SLA de E / S é rigoroso o suficiente, que ter garantias de desempenho é uma obrigação. Nesse caso, vou criar grupos de discos discretos para coisas como Log, TempDb e volumes de banco de dados. Esse tipo de design não acontece com muita frequência, muito raramente, de fato.

    
por 02.10.2012 / 21:03
5

Depende ™. Para suas VMs de baixo uso padrão, geralmente lanço a maioria delas em alguns RAID 6s e deixo o cache e a hierarquização lidar com as rajadas. Para coisas como um servidor de banco de dados do Exchange ou o SQL Server, eles geralmente têm LUNs dedicados que são projetados para suas necessidades.

Isso realmente depende da sua arquitetura de armazenamento.

    
por 02.10.2012 / 20:13
3

Eu adoraria dizer "sim" para isso, pois isso me faria parecer super profissional, mas para ser honesta, 99% das vezes eu compro qualquer tipo de array que eu precise (passando por uma grande fase 3Par no momento, mas eu já passei pela maioria deles ao longo dos anos) e comprei tantas prateleiras quantas as que tenho espaço, depois preencha-as com a quantidade e velocidade certas e, em seguida, crie LUNs que correspondam aos requisitos de desempenho e nível de RAID. embora eu geralmente não leve em consideração se o desempenho é aleatório ou seqüencial. Eu costumo assumir tudo, mas os backups serão aleatórios IO, então baseei minhas suposições nisso, pelo menos dessa forma, se eu conseguir algum caching ou benefícios sequenciais, então isso é apenas 'gravy'. Eu sei que isso soa um pouco preguiçoso, mas eu cuido de muitas matrizes e, a menos que você tenha um conjunto muito fixo de requisitos, sempre haverá alguma 'sala de manobra' envolvida no carregamento de matrizes, você nunca direito pela primeira vez.

Dito isso para o DAS local, eu costumo ser bem mais específico, já que é mais difícil de mudar, mas geralmente não uso muito disso.

    
por 02.10.2012 / 20:16
2

Não, porque a maioria dos volumes em uma SAN terá vários tipos de IO feitos para eles. Se houver uma parte do seu ambiente que você pode prever (como um servidor de banco de dados é 80% de leitura aleatória ou um servidor de backup com 90% de gravação sequencial), separá-lo potencialmente beneficia você se você (a) não tiver distribuição ampla e ainda estão colocando volumes em invasões específicas e (b) possuem um controlador obsoleto o suficiente para que você ganhe uma quantidade significativa de desempenho usando o RAID-10.

editar: depois de clicar, separar os registros e dados do banco de dados é uma boa ideia por mais motivos do que o tipo RAID. Mesmo se você usar o mesmo tipo de RAID, você deseja separá-los para que o controlador possa usar os diferentes algoritmos de otimização de cache para cada volume.

Se você tiver pools, os benefícios de separar essas cargas de trabalho em seu próprio conjunto de discos geralmente não valem o custo de desempenho. Com algumas exceções, a prática recomendada é colocar todos os volumes para todos os tipos de sistema operacional em um único pool grande contendo todos os recursos.

    
por 02.10.2012 / 22:16