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.

Aplica-se a: Windows Server 2012 R2, Windows 10 - todas as edições
Número de KB original: 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 baseada em hardware de discos independentes (RAID) ou um RAID baseado em software.

Motivo

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

Um cluster de volume pode ser criado em um limite de unidade de listras, em vez de ao lado do limite da unidade de listras. 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 disco 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 código e para informações de partição, como o número de setores e o setor inicial. A parte de dados real da partição começa a partir do segundo setor da partição.

Resolução

Para resolve 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 da unidade de listras.

Observação

O Windows Server 2003 Service Pack 1 introduziu a capacidade do Diskpart de ajustar o alinhamento de partição. Se você não tiver acesso a uma versão atualizada do Diskpart, o diskpar (observe que não há nenhum "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 uma parte de disco e pressione ENTER.

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

    list disk
    

    Você recebe uma saída que se assemelha ao 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 de resumo 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 estão listados. Os discos fixos incluem discos eletrônicos de dispositivo integrados [IDE] e SCSI. Os discos removíveis incluem discos 1394 e USB.

    select disk
    

    Use o comando selecionar disco 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 que se assemelha ao seguinte:DiskPart conseguiu criar a partição especificada.
    • O parâmetro align= number normalmente é usado junto com LUNs (números de unidade lógica) 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 é alinhada ao cilindro no início de um disco e, em seguida, arredonda o deslocamento para o limite de alinhamento mais próximo.
    • número é o número de quilobytes (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 deslocamento = número , 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 Console de Gerenciamento de Disco da Microsoft (MMC), localize a partição recém-criada e, em seguida, atribua-lhe uma letra de unidade.

  5. Use o sistema de arquivos NTFS para formatar a nova partição e, em seguida, atribuir um tamanho de cluster.

    Observação

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

Mais informações

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

Observação

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

Exemplo de cálculos de alinhamento em bytes para um tamanho de unidade de listra 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 quilobytes para um tamanho de unidade de listras de 256 KB:
(63 *.5) / 256 = 0,123046875
(64 *.5) / 256 = 0,125
(128 *.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 listras 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 matriz não afeta o alinhamento de partição. Os fatores que afetam o alinhamento de partição são o tamanho da unidade de listras 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 comando a seguir e pressione Enter.

    wmic partition get BlockSize, StartingOffset, Name, Index
    

    Depois de executar o comando, você receberá 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 determinada. O valor index que é retornado por este comando indica se uma partição é a primeira partição, 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 desde o início do disco, divida o valor de StartingOffset pelo valor de BlockSize. No exemplo na etapa 2, o seguinte cálculo gera o deslocamento inicial da partição em setores:

    32256 / 512 = 63