muitas partições em um único grupo de arquivos? ______ qstntxt ___

Estou criando uma solução de datawarehouse e sou novato em problemas de configuração de disco, deixe-me explicar-lhe.

Nosso armazenamento está distribuído em 6 enlosures de armazenamento, tendo cada um deles 5 arrays de disco raid-1 e tendo 2 LUNS definidos para cada matriz de disco, o que perfaz um total de 48 LUNS (seguindo as recomendações rápidas da Microsoft para arquiteturas de datawarehouse) .

Eu gostaria de particionar meus dados, em outros projetos que já trabalhei antes, sempre seguimos uma regra de grupo de arquivos de 1 partição - 1. Recomendações sobre o fast track microsoft são aconselhadas a criar um grupo de arquivos e então para aquele grupo de arquivos um arquivo de dados para cada lun ... mas eu pretendo ter um particionamento de nível de semana ... se eu aplicar essa regra eu acho que obtenha muitos arquivos e um layout complexo.

Estou pensando em criar apenas um grupo de arquivos (com 48 arquivos de dados lun), mas ainda criar as partições, pois quero manter os benefícios das partições como a troca de partições ... Esse cenário não é recomendado? O que você sugeriria?

    
______ azszpr234559 ___

Responder a isso requer mergulhar no Storage Geek. Peço desculpas antecipadamente.

A razão pela qual a Microsoft parece sugerir 48 partições separadas é por um motivo: para maximizar a paralelização dentro do sistema operacional para E / Ss. Com 48 LUNs, o sistema operacional precisa manter 48 filas de E / S separadas, e essas filas podem, em teoria, ser atendidas em paralelo. Se um LUN for particularmente lento (está fazendo gravações aleatórias pesadas), ele não reterá o acesso a outros LUNs.

No hardware moderno, esse é um ganho de porcentagem percentual para muita dor de cabeça de armazenamento. A menos que você saiba que estará pressionando seu data warehouse para o limite superior absoluto, não vale a pena. Cartões RAID modernos são rápidos o suficiente para que eles possam lidar com isso para você. Ter 4 LUNs pode gerar ganhos. 48 pode realmente doer.

O armazenamento atualmente é geralmente caracterizado pela métrica de desempenho de operações de E / S por segundo (operações de E / S). Cada unidade tem seu próprio limite superior para E / S aleatória (intervalos entre 90-180 por unidade, dependendo dos RPMs e algumas outras coisas). Quando você gangue dirige junto, como em um conjunto RAID10, essa contagem de I / O Ops é aditiva . Um conjunto de 12 discos RAID10 terá a mesma capacidade de I / O Ops que 6 pares Raid1 e não o forçará a criar seis arquivos DB separados. Ao criar um único conjunto grande de RAID10, você pode criar um único arquivo de banco de dados grande, capaz de lidar com grandes quantidades de carga.

Voltando ao que eu disse no segundo parágrafo sobre um LUN lento não impedindo o acesso a outros LUNs, é por isso que a maximização de I / O Ops para um LUN faz sentido. É muito menos provável que bloqueie se tiver sobrecarga de I / O Op suficiente. Ao criar um array RAID10 grande, a paralelização é colocada na placa RAID, não no sistema operacional, o que deixa o SO livre para fazer outras coisas. Você ainda obterá a vantagem da paralelização e aproveitará o hardware dedicado para isso.

Para servidores de banco de dados, é aconselhável manter E / S de arquivos de dados e de arquivos de registro em diferentes eixos. A porcentagem exata da qual eu irei deixar para os especialistas do SQL Server (não sou um) e provavelmente se baseia em sua configuração e padrões de uso exatos. Como é um data-warehouse, você precisará de muito espaço de log para lidar com as cargas em massa. Log I / O é significativamente sequencial, onde a entrada / saída de dados é significativamente aleatória, então o melhor desempenho de logging é melhor colocando os logs em eixos diferentes dos arquivos de dados.

No seu caso, você pode conseguir usar duas LUNs. Um conjunto grande de RAID10 para seus arquivos de dados e um conjunto RAID10 menor para seus arquivos de registro.

    
___

2

Estou criando uma solução de datawarehouse e sou novato em problemas de configuração de disco, deixe-me explicar-lhe.

Nosso armazenamento está distribuído em 6 enlosures de armazenamento, tendo cada um deles 5 arrays de disco raid-1 e tendo 2 LUNS definidos para cada matriz de disco, o que perfaz um total de 48 LUNS (seguindo as recomendações rápidas da Microsoft para arquiteturas de datawarehouse) .

Eu gostaria de particionar meus dados, em outros projetos que já trabalhei antes, sempre seguimos uma regra de grupo de arquivos de 1 partição - 1. Recomendações sobre o fast track microsoft são aconselhadas a criar um grupo de arquivos e então para aquele grupo de arquivos um arquivo de dados para cada lun ... mas eu pretendo ter um particionamento de nível de semana ... se eu aplicar essa regra eu acho que obtenha muitos arquivos e um layout complexo.

Estou pensando em criar apenas um grupo de arquivos (com 48 arquivos de dados lun), mas ainda criar as partições, pois quero manter os benefícios das partições como a troca de partições ... Esse cenário não é recomendado? O que você sugeriria?

    
por river0 11.02.2011 / 21:09

1 resposta

3

Responder a isso requer mergulhar no Storage Geek. Peço desculpas antecipadamente.

A razão pela qual a Microsoft parece sugerir 48 partições separadas é por um motivo: para maximizar a paralelização dentro do sistema operacional para E / Ss. Com 48 LUNs, o sistema operacional precisa manter 48 filas de E / S separadas, e essas filas podem, em teoria, ser atendidas em paralelo. Se um LUN for particularmente lento (está fazendo gravações aleatórias pesadas), ele não reterá o acesso a outros LUNs.

No hardware moderno, esse é um ganho de porcentagem percentual para muita dor de cabeça de armazenamento. A menos que você saiba que estará pressionando seu data warehouse para o limite superior absoluto, não vale a pena. Cartões RAID modernos são rápidos o suficiente para que eles possam lidar com isso para você. Ter 4 LUNs pode gerar ganhos. 48 pode realmente doer.

O armazenamento atualmente é geralmente caracterizado pela métrica de desempenho de operações de E / S por segundo (operações de E / S). Cada unidade tem seu próprio limite superior para E / S aleatória (intervalos entre 90-180 por unidade, dependendo dos RPMs e algumas outras coisas). Quando você gangue dirige junto, como em um conjunto RAID10, essa contagem de I / O Ops é aditiva . Um conjunto de 12 discos RAID10 terá a mesma capacidade de I / O Ops que 6 pares Raid1 e não o forçará a criar seis arquivos DB separados. Ao criar um único conjunto grande de RAID10, você pode criar um único arquivo de banco de dados grande, capaz de lidar com grandes quantidades de carga.

Voltando ao que eu disse no segundo parágrafo sobre um LUN lento não impedindo o acesso a outros LUNs, é por isso que a maximização de I / O Ops para um LUN faz sentido. É muito menos provável que bloqueie se tiver sobrecarga de I / O Op suficiente. Ao criar um array RAID10 grande, a paralelização é colocada na placa RAID, não no sistema operacional, o que deixa o SO livre para fazer outras coisas. Você ainda obterá a vantagem da paralelização e aproveitará o hardware dedicado para isso.

Para servidores de banco de dados, é aconselhável manter E / S de arquivos de dados e de arquivos de registro em diferentes eixos. A porcentagem exata da qual eu irei deixar para os especialistas do SQL Server (não sou um) e provavelmente se baseia em sua configuração e padrões de uso exatos. Como é um data-warehouse, você precisará de muito espaço de log para lidar com as cargas em massa. Log I / O é significativamente sequencial, onde a entrada / saída de dados é significativamente aleatória, então o melhor desempenho de logging é melhor colocando os logs em eixos diferentes dos arquivos de dados.

No seu caso, você pode conseguir usar duas LUNs. Um conjunto grande de RAID10 para seus arquivos de dados e um conjunto RAID10 menor para seus arquivos de registro.

    
por 11.02.2011 / 22:27