Compartilhar via


O desempenho do disco pode ser mais lento do que o esperado quando você usa vários discos

Este artigo descreve uma resolução para um problema no qual o desempenho do disco pode ser mais lento do que o esperado. Esse problema pode ocorrer quando você usa um RAID baseado em hardware ou software.

Número original do KB: 929491

Sintomas

O desempenho do disco pode ser mais lento do que o esperado quando você usa vários discos no Windows. Por exemplo, o desempenho pode diminuir quando você usa uma matriz redundante de discos independentes (RAID) baseada em hardware ou um RAID baseado em software.

Motivo

Esse problema pode ocorrer se o local inicial da partição não estiver alinhado com um limite de unidade de distribuição na partição de disco criada no RAID.

Um cluster de volume pode ser criado sobre um limite de unidade de distribuição em vez de próximo ao limite da unidade de distribuição. Isso ocorre porque o Windows usa um fator de 512 bytes para criar clusters de volume. Esse comportamento causa uma partição desalinhada. Dois grupos de discos são acessados quando um único cluster de volume é atualizado em uma partição desalinhada.

O Windows cria partições baseadas em um número predefinido de setores. O local inicial de uma partição de disco no Windows é o 32º ou o 64º setor, dependendo das informações apresentadas ao sistema operacional pelo controlador de armazenamento em massa.

Observação

As partições de disco sempre reservam o primeiro setor da partição para o código e para as informações da partição, como o número de setores e o setor inicial. A parte de dados real da partição começa no segundo setor da partição.

Resolução

Para resolver esse problema, use a ferramenta Diskpart.exe para criar a partição de disco e especificar um deslocamento inicial de 2.048 setores (1 megabyte). Um deslocamento inicial de 2.048 setores abrange a maioria dos cenários de tamanho de unidade de distribuição.

Observação

O Windows Server 2003 Service Pack 1 introduziu a capacidade do Diskpart de ajustar o alinhamento da partição. Se você não tiver acesso a uma versão atualizada do Diskpart, o diskpar (observe que não há um "t" final no nome desse utilitário) estará disponível.

Para verificar se uma partição existente está alinhada, execute o cálculo descrito na seção "Mais informações".

Para alinhar uma partição de disco em um RAID que tenha um deslocamento de 2.048 setores, siga estas etapas:

  1. Em um prompt de comando, digite diskpart e pressione ENTER.

  2. Digite os seguintes comandos no prompt DISKPART e pressione ENTER:

    list disk
    

    Você recebe uma saída semelhante à seguinte:

    Disk ### Status Size Free Dyn Gpt  
    -------- ---------- ------- ------- --- ---  
    Disk 0 Online 37 GB 8033 KB  
    Disk 1 Online 17 GB 8033 KB
    Disk 2 Online 17 GB 0 B  
    Disk 3 Online 17 GB 148 MB *  
    Disk 4 Online 17 GB 8 MB *  
    Disk 5 Online 17 GB 8 MB *  
    Disk 6 Online 17 GB 8 MB *  
    Disk 7 Online 17 GB 8 MB *  
    Disk 8 Online 17 GB 435 KB *  
    Disk 9 Online 17 GB 8 MB *  
    Disk 10 Online 17 GB 8033 KB
    

    O list disk comando fornece informações resumidas sobre cada disco instalado no computador. O disco que tem a marca de asterisco (*) tem o foco atual. Somente discos fixos e discos removíveis são listados. Os discos fixos incluem IDE (Integrated Device Electronics) e discos SCSI. Os discos removíveis incluem discos 1394 e USB.

    select disk
    

    Use o comando select disk para definir o foco para o disco que tem o número de disco especificado. Se você não especificar um número de disco, o comando exibirá o disco atual que está em foco.

    create partition primary align=1024
    

    Observação

    • Ao digitar esse comando, você pode receber uma mensagem semelhante à seguinte:DiskPart foi bem-sucedido na criação da partição especificada.
    • O parâmetro align= number é normalmente usado junto com os números de unidade lógica (LUNs) RAID de hardware para melhorar o desempenho quando as unidades lógicas não estão alinhadas ao cilindro. Esse parâmetro alinha uma partição primária que não está alinhada ao cilindro no início de um disco e, em seguida, arredonda o deslocamento para o limite de alinhamento mais próximo.
    • number é o número de kilobytes (KB) desde o início do disco até o limite de alinhamento mais próximo. O comando falhará se a partição primária não estiver no início do disco. Se você usar o comando junto com a opção offset = number , o deslocamento estará dentro do primeiro cilindro utilizável no disco.
    exit
    
  3. Clique em Iniciar, clique em Executar, digite diskmgmt.msc e clique em OK.

  4. No snap-in do MMC (Console de Gerenciamento Microsoft) de Gerenciamento de Disco, localize a partição recém-criada e atribua a ela uma letra de unidade.

  5. Use o sistema de arquivos NTFS para formatar a nova partição e atribua um tamanho de cluster.

    Observação

    Este procedimento de exemplo é para uma única partição por grupo de RAID.

Mais informações

Para verificar se uma partição existente está alinhada, divida o tamanho da unidade de distribuição pelo deslocamento inicial do grupo de discos RAID. Use a seguinte sintaxe:
((Deslocamento da partição) * (Tamanho do setor do disco)) / (Tamanho da unidade de distribuição)

Observação

O tamanho do setor de disco e o tamanho da unidade de distribuição devem estar em bytes ou em quilobytes (KB).

Exemplo de cálculos de alinhamento em bytes para um tamanho de unidade de distribuição de 256 KB:
(63 * 512) / 262144 = 0,123046875
(64 * 512) / 262144 = 0,125
(128 * 512) / 262144 = 0,25
(256 * 512) / 262144 = 0,5
(512 * 512) / 262144 = 1

Exemplo de cálculos de alinhamento em kilobytes para um tamanho de unidade de distribuição de 256 KB:
(63 *.5) / 256 = 0,123046875
(64 *.5) / 256 = 0,125
(128 *0,5) / 256 = 0,25
(256 *.5) / 256 = 0,5
(512 *.5) / 256 = 1

Esses exemplos mostram que a partição não está alinhada corretamente para um tamanho de unidade de distribuição de 256 KB até que a partição seja criada usando um deslocamento de 512 setores (512 bytes por setor).

Observação

O número de discos no grupo de matrizes não afeta o alinhamento da partição. Os fatores que afetam o alinhamento da partição são o tamanho da unidade de distribuição e o deslocamento inicial da partição.

Para encontrar o deslocamento inicial de uma determinada partição, siga estas etapas:

  1. Clique em Iniciar e em Executar, digite cmd e clique em OK.

  2. Digite o seguinte comando e pressione Enter:

    wmic partition get BlockSize, StartingOffset, Name, Index
    

    Depois de executar o comando, você recebe uma saída semelhante à seguinte:

    BlockSize Index Name StartingOffset  
    512 0 Disk #1, Partition #0 32256  
    512 0 Disk #2, Partition #0 32256  
    512 0 Disk #3, Partition #0 32256  
    512 0 Disk #4, Partition #0 1048576  
    512 0 Disk #0, Partition #0 32256  
    512 1 Disk #0, Partition #1 41126400
    
  3. Observe o valor de BlockSize e de StartingOffset para cada partição fornecida. O valor Index retornado por esse comando indica se uma partição é a primeira, a segunda partição ou outras partições para uma determinada unidade de disco. Por exemplo, um índice de partição de 0 é a primeira partição em um determinado disco.

  4. Para determinar quantos setores de disco uma determinada partição inicia a partir do início do disco, divida o valor de StartingOffset pelo valor de BlockSize. No exemplo da etapa 2, o cálculo a seguir produz o deslocamento inicial da partição em setores:

    32256 / 512 = 63