El rendimiento del disco puede ser más lento de lo esperado cuando se usan varios discos

En este artículo se describe una resolución de un problema en el que el rendimiento del disco puede ser más lento de lo esperado. Este problema puede producirse cuando se usa un RAID basado en hardware o software.

Se aplica a: Windows Server 2012 R2, Windows 10, todas las ediciones
Número de KB original: 929491

Síntomas

El rendimiento del disco puede ser más lento de lo esperado cuando se usan varios discos en Windows. Por ejemplo, el rendimiento puede ralentizarse cuando se usa una matriz redundante basada en hardware de discos independientes (RAID) o una RAID basada en software.

Causa

Este problema puede producirse si la ubicación inicial de la partición no está alineada con un límite de unidad de franja en la partición de disco que se crea en RAID.

Se puede crear un clúster de volúmenes sobre un límite de unidad de franja en lugar de junto al límite de unidad de franja. Esto se debe a que Windows usa un factor de 512 bytes para crear clústeres de volumen. Este comportamiento provoca una partición desalineada. Se accede a dos grupos de discos cuando se actualiza un único clúster de volumen en una partición mal alineada.

Windows crea particiones basadas en un número predefinido de sectores. La ubicación inicial de una partición de disco en Windows es el sector 32 o 64, en función de la información que el controlador de almacenamiento masivo presenta al sistema operativo.

Nota:

Las particiones de disco siempre reservan el primer sector de la partición para el código y para la información de partición, como el número de sectores y el sector inicial. La parte de datos real de la partición comienza desde el segundo sector de la partición.

Solución

Para resolver este problema, use la herramienta Diskpart.exe para crear la partición de disco y especificar un desplazamiento inicial de 2048 sectores (1 megabyte). Un desplazamiento inicial de 2.048 sectores abarca la mayoría de los escenarios de tamaño de unidad de franja.

Nota:

Windows Server 2003 Service Pack 1 introdujo la capacidad de Diskpart para ajustar la alineación de la partición. Si no tiene acceso a una versión actualizada de Diskpart, diskpar (tenga en cuenta que no hay ninguna "t" final en el nombre de esta utilidad) está disponible.

Para comprobar que una partición existente está alineada, realice el cálculo que se describe en la sección "Más información".

Para alinear una partición de disco en un RAID con un desplazamiento de 2048 sectores, siga estos pasos:

  1. En un símbolo del sistema, escriba diskpart y presione ENTRAR.

  2. Escriba los siguientes comandos en el símbolo del sistema DISKPART y presione ENTRAR:

    list disk
    

    Recibirá una salida similar a la siguiente:

    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
    

    El list disk comando proporciona información de resumen sobre cada disco instalado en el equipo. El disco que tiene la marca de asterisco (*) tiene el foco actual. Solo se muestran discos fijos y discos extraíbles. Los discos fijos incluyen dispositivos electrónicos integrados [IDE] y discos SCSI. Los discos extraíbles incluyen 1394 y discos USB.

    select disk
    

    Use el comando seleccionar disco para establecer el foco en el disco que tiene el número de disco especificado. Si no especifica un número de disco, el comando muestra el disco actual que está en el foco.

    create partition primary align=1024
    

    Nota:

    • Al escribir este comando, puede recibir un mensaje similar al siguiente: DiskPart ha creado correctamente la partición especificada.
    • El parámetro align= number se usa normalmente junto con los números de unidad lógica (LUN) RAID de hardware para mejorar el rendimiento cuando las unidades lógicas no están alineadas con cilindros. Este parámetro alinea una partición principal que no está alineada con el cilindro al principio de un disco y, a continuación, redondea el desplazamiento al límite de alineación más cercano.
    • number es el número de kilobytes (KB) desde el principio del disco hasta el límite de alineación más cercano. Se produce un error en el comando si la partición principal no está al principio del disco. Si usa el comando junto con la opción offset = number , el desplazamiento se encuentra dentro del primer cilindro utilizable en el disco.
    exit
    
  3. Haga clic en Inicio, en Ejecutar, escriba diskmgmt.msc y, a continuación, haga clic en Aceptar.

  4. En el complemento Administración de discos de Microsoft Management Console (MMC), busque la partición recién creada y asígnele una letra de unidad.

  5. Use el sistema de archivos NTFS para dar formato a la nueva partición y, a continuación, asignar un tamaño de clúster.

    Nota:

    Este procedimiento de ejemplo es para una sola partición por grupo RAID.

Más información

Para comprobar que una partición existente está alineada, divida el tamaño de la unidad de franja por el desplazamiento inicial del grupo de discos RAID. Utilice la siguiente sintaxis:
((Desplazamiento de partición) * (tamaño del sector del disco)) / (Tamaño de unidad de franja)

Nota:

El tamaño del sector del disco y el tamaño de la unidad de franja deben estar en bytes o en kilobytes (KB).

Ejemplo de cálculos de alineación en bytes para un tamaño de unidad de franja 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

Ejemplo de cálculos de alineación en kilobytes para un tamaño de unidad de franja 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

En estos ejemplos se muestra que la partición no está alineada correctamente para un tamaño de unidad de franja de 256 KB hasta que la partición se crea mediante un desplazamiento de 512 sectores (512 bytes por sector).

Nota:

El número de discos del grupo de matrices no afecta a la alineación de la partición. Los factores que afectan a la alineación de la partición son el tamaño de la unidad de franja y el desplazamiento inicial de la partición.

Para buscar el desplazamiento inicial de una partición determinada, siga estos pasos:

  1. Haga clic en Inicio y en Ejecutar, escriba cmd y, por último, haga clic en Aceptar.

  2. Escriba el siguiente comando y, a continuación, presione Entrar:

    wmic partition get BlockSize, StartingOffset, Name, Index
    

    Después de ejecutar el comando, recibirá una salida similar a la siguiente:

    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 el valor de BlockSize y de StartingOffset para cada partición determinada. El valor index que devuelve este comando indica si una partición es la primera partición, la segunda partición u otras particiones de una unidad de disco determinada. Por ejemplo, un índice de partición de 0 es la primera partición de un disco determinado.

  4. Para determinar cuántos sectores de disco comienza una partición determinada desde el principio del disco, divida el valor de StartingOffset por el valor de BlockSize. En el ejemplo del paso 2, el cálculo siguiente produce el desplazamiento inicial de partición en sectores:

    32256 / 512 = 63