Ajuste de desempenho do servidor de arquivos do Windows

Ajuste de desempenho do servidor de arquivos do Windows

Busco sua opinião e dicas/sugestões para otimizar o desempenho de um novo servidor de arquivos Windows que estou construindo. Herdei um servidor de armazenamento Dell NF500 (basicamente Dell 2950 com sistema operacional Windows 2k3 Storage Server). Possui um PERC 6i com cache BBU de 256 MB e 6 unidades SATA de 750 GB e memória de sistema de 4 GB. Acho que vou usar o RAID6, pois temo perder uma segunda unidade durante uma longa reconstrução, caso o volume do RAID6 estrague. O volume RAID6 usará unidades 5x com unidade 1x como hot spare também, sim, somos super paranóicos, mas também estamos seguindo nosso padrão de que todos os servidores têm hot parts.

Dito isso, busco a sua opinião sobre outras dicas e sugestões para otimizar o desempenho. Ele servirá como servidor de arquivos (R/W aleatório e tamanhos de arquivo geralmente são pequenos, mas existem alguns grandes) para clientes Windows, Macs e Linux via SMB/CIFS/NFS.

  • Alguma configuração específica no lado do controlador RAID? Atualmente elemento de distribuição definido para 256kb (pode ir até 512k e talvez 1mb), política de leitura antecipada adaptável e write-back de cache graças ao BBU. Devo aumentar o tamanho do elemento de faixa?

  • Algum ajuste no nível de particionamento/sistema de arquivos? Lembro-me vagamente de ter lido algo sobre alinhamento de início de partições de disco, número de unidades, construção de sistema de arquivos com o tamanho de bloco correto, etc. Qualquer informação, incluindo links, que você possa enviar para que eu possa revisar seria muito apreciada.

  • Algum ajuste no nível do sistema operacional? Como é um volume RAID único, faz diferença se eu coloco o sistema operacional e o armazenamento de dados em uma partição ou devo particionar? Pretendo também usar o VSS. Deveria ser outra partição separada? Pode estar na mesma partição?

  • Outras práticas recomendadas?

Desde já, obrigado. Eu sou um cara de roteador/switch/fw, então tudo isso é um pouco novo para mim. C.

Responder1

Subsistema de disco: Aqui está um artigo da Microsoft sobre alinhamento de partição no SQL Server 2008:http://msdn.microsoft.com/en-us/library/dd758814.aspx

A teoria explicada no artigo é o motivo pelo qual estou fornecendo o link, e não porque acho que você executará o SQL Server. A carga de trabalho de um servidor de arquivos é menos propensa a ser tão delicada quanto ao alinhamento de partições quanto o SQL Server, mas cada pequena parte ajuda.

NTFS:

Você pode desativar o carimbo de data/hora do último acesso em NTFS com:

fsutil behavior set disablelastaccess 1

Você pode desativar a criação de nomes de arquivo curtos (se não tiver aplicativos que precisem dele) com:

fsutil behavior set disable8dot3 1

Pense no melhor tamanho de cluster NTFS para os tipos de arquivos que você colocará na caixa. Em geral, você deseja ter um tamanho de cluster tão grande quanto possível, equilibrando isso com o espaço desperdiçado para arquivos de tamanho de subcluster. Você também deseja tentar combinar o tamanho do cluster com o tamanho da faixa RAID (e, como foi dito acima, alinhar as faixas aos clusters).

Existe uma teoria de que a maioria das leituras é sequencial, portanto o tamanho da faixa (que normalmente é a leitura mínima do controlador RAID) deve ser um múltiplo do tamanho do cluster. Isso depende da carga de trabalho específica do servidor e você precisa medi-la para ter certeza. Eu os manteria iguais.

Se você tiver um grande número de arquivos pequenos, poderá começar com uma reserva maior para a tabela de arquivos mestre (MFT) NTFS para evitar fragmentação futura da MFT. Além de falar sobre o comando fsutil acima, este documento descreve a configuração da "zona MFT":http://technet.microsoft.com/en-us/library/cc785435(WS.10).aspx Basicamente, você deseja reservar tanto espaço em disco para o MFT quanto achar necessário, com base em um número previsto de arquivos que você terá no volume, para tentar evitar a fragmentação do MFT.

Um guia geral da Microsoft sobre otimização de desempenho NTFS está disponível aqui:http://technet.microsoft.com/en-us/library/cc767961.aspx É umvelhodocumento, mas mesmo assim fornece uma base decente. Não tente necessariamente nenhuma das "coisas tecnológicas" que ele diz, mas tire conceitos disso.

Disposição:

Você terá discussões religiosas com pessoas sobre: ​​separar o sistema operacional e os dados. Para esta aplicação específica, provavelmente empilharia tudo em uma partição. Alguém virá e lhe dirá que estou errado. Você pode decidir sozinho. Não vejo nenhuma razão lógica para "fazer trabalho" no futuro, quando a partição do sistema operacional ficar cheia. Como não são volumes RAID separados, não há benefício de desempenho em separar o sistema operacional e os dados em partições. (Seria uma história diferente se fossem fusos diferentes...)

Cópias de sombra:

Os instantâneos de cópia de sombra podem ser armazenados no mesmo volume ou em outro volume. Não tenho muito conhecimento sobre as preocupações de desempenho associadas às cópias de sombra, então vou parar por aí antes de dizer algo idiota.

Responder2

O WSS já faz um monte de coisas sugeridas por padrão: VejaBlog do Servidor de Armazenamento do Windows

"Otimizações de desempenho do servidor de arquivos Existem algumas configurações no Windows Server 2003 que aceleram o tráfego de rede e as operações NAS, como remover aliases do sistema de arquivos, desativar a criação de nomes 8.3 e definir a frequência TCP ACK para utilizar melhor o tamanho do quadro da rede e Consulte o white paper de ajuste de desempenho para obter mais informações. Os OEMs também podem melhorar seu desempenho definindo a afinidade de interrupção das placas NIC e certificando-se de que o alinhamento adequado do disco seja considerado ao configurar a matriz RAID. desses tópicos ".

Observe que o alinhamento do disco deveria ter sido feito na fábrica.

Responder3

O RAID 6 degradará bastante o Read IO em comparação com outras opções de RAID nesta configuração e será muito difícil em termos de Write IO. A menos que você precise absolutamente de todo o espaço, sugiro que você considere o RAID 10. Você perderá 750 GB em comparação com o RAID 6 no seu sistema, mas a diferença de desempenho fará com que todos os outros ajustes de desempenho que você tentar se tornem insignificantes. O alinhamento das partições, a correspondência dos tamanhos das faixas com o tamanho do bloco do sistema de arquivos e a alteração de coisas como o horário do último acesso sugerido por Evan são sugestões excelentes que melhorarão o rendimento em 30% ou mais no total. O RAID 10 será pelo menos 100% mais rápido para leitura e gravação e seu tempo de reconstrução será uma fração do RAID 5 ou 6.

RAID 10 - 4 unidades com 2 unidades de reposição. Capacidade efetiva 1500GB. A leitura aleatória sustentada será aproximadamente 4x o IOPS da sua unidade básica. A gravação aleatória sustentada será (até) 2x o IOPS de gravação da sua unidade básica. Tempo de reconstrução - 4-6 horas em um sistema como o seu quando ocioso, talvez o dobro sob carga média.

RAID 5 - 5 unidades com 1 hot spare. Capacidade efetiva 3000GB. A leitura aleatória sustentada será aproximadamente 4x o IOPS da sua unidade básica. A gravação aleatória sustentada será aproximadamente 1x o IOPS de gravação de uma única unidade básica (assumindo que 2 leituras e 2 gravações são necessárias para cada E/S de gravação). Tempo de reconstrução - Um dia ou mais quando ocioso, dias sob carga típica.

RAID 6 - 5 unidades com 1 hot spare. Capacidade efetiva 2250GB. A leitura aleatória sustentada será de aproximadamente 3x a unidade básica. A gravação aleatória sustentada será de cerca de 66% do IOPS de gravação de uma única unidade básica (3 leituras e 3 gravações necessárias para cada E/S de gravação). Tempo de reconstrução - Dias em que o sistema está relativamente ocioso, levando uma semana quando está sob carga normal.

É claro que sua milhagem pode variar, se você não tiver muita E/S aleatória sustentada, a maior parte disso ficará oculta pelo cache, mas o desempenho sustentado atingido com o RAID 6 é bastante severo, especialmente quando implementado com relativamente poucas unidades no array.

Responder4

Evan e Helvick estão certos, então vou apenas adicionar um recurso adicional. ODiretrizes de ajuste de desempenho para Windows Server 2003O documento cobre muitas das considerações e ajustes ocultos, embora, como Jim menciona, o Storage Server venha pré-ajustado para otimizar a carga de trabalho de compartilhamento de arquivos.

informação relacionada