Die Datenträgerleistung ist möglicherweise langsamer als erwartet, wenn Sie mehrere Datenträger verwenden

In diesem Artikel wird eine Lösung für ein Problem beschrieben, bei dem die Datenträgerleistung möglicherweise langsamer als erwartet ist. Dieses Problem kann auftreten, wenn Sie ein Hardware- oder softwarebasiertes RAID verwenden.

Ursprüngliche KB-Nummer: 929491

Symptome

Die Datenträgerleistung ist möglicherweise langsamer als erwartet, wenn Sie mehrere Datenträger in Windows verwenden. Die Leistung kann sich beispielsweise verlangsamen, wenn Sie ein hardwarebasiertes redundantes Array von unabhängigen Datenträgern (RAID) oder einem softwarebasierten RAID verwenden.

Ursache

Dieses Problem kann auftreten, wenn der Startspeicherort der Partition nicht an einer Stripeeinheitsgrenze in der Datenträgerpartition ausgerichtet ist, die auf dem RAID erstellt wird.

Ein Volumecluster kann über eine Streifeneinheitsgrenze anstelle der Streifeneinheitsgrenze erstellt werden. Dies liegt daran, dass Windows einen Faktor von 512 Byte zum Erstellen von Volumeclustern verwendet. Dieses Verhalten verursacht eine falsch ausgerichtete Partition. Auf zwei Datenträgergruppen wird zugegriffen, wenn ein einzelner Volumecluster auf einer falsch ausgerichteten Partition aktualisiert wird.

Windows erstellt Partitionen, die auf einer vordefinierten Anzahl von Sektoren basieren. Der Startspeicherort für eine Datenträgerpartition in Windows ist entweder der 32. oder der 64. Sektor, abhängig von den Informationen, die dem Betriebssystem vom Massenspeichercontroller angezeigt werden.

Notiz

Datenträgerpartitionen reservieren immer den ersten Sektor der Partition für Code und für Partitionsinformationen, z. B. die Anzahl der Sektoren und den Startsektor. Der tatsächliche Datenteil der Partition beginnt mit dem zweiten Sektor der Partition.

Lösung

Verwenden Sie zum Beheben dieses Problems das Diskpart.exe Tool, um die Datenträgerpartition zu erstellen und einen Anfangsoffset von 2.048 Sektoren (1 Mb) anzugeben. Ein Anfangsoffset von 2.048 Sektoren deckt die meisten Streifeneinheitsgrößenszenarien ab.

Notiz

Windows Server 2003 Service Pack 1 hat die Möglichkeit für Diskpart eingeführt, die Partitionsausrichtung anzupassen. Wenn Sie keinen Zugriff auf eine aktualisierte Version von Diskpart haben, ist diskpar (Beachten Sie, dass kein endgültiges "t" für den Namen dieses Dienstprogramms verfügbar ist).

Um zu überprüfen, ob eine vorhandene Partition ausgerichtet ist, führen Sie die Im Abschnitt "Weitere Informationen" beschriebene Berechnung aus.

Führen Sie die folgenden Schritte aus, um eine Datenträgerpartition auf einem RAID mit einem Offset von 2.048 Sektoren auszurichten:

  1. Geben Sie an einer Eingabeaufforderung diskpart ein, und drücken Sie dann die EINGABETASTE.

  2. Geben Sie an der DISKPART-Eingabeaufforderung die folgenden Befehle ein, und drücken Sie dann die EINGABETASTE:

    list disk
    

    Sie erhalten eine Ausgabe, die etwa wie folgt aussieht:

    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
    

    Der list disk Befehl enthält zusammenfassende Informationen zu jedem Datenträger, der auf dem Computer installiert ist. Der Datenträger mit dem Sternchen (*) weist den aktuellen Fokus auf. Es werden nur Feste Datenträger und Wechseldatenträger aufgeführt. Feste Datenträger umfassen integrierte Geräteelektronik [IDE] und SCSI-Datenträger. Wechseldatenträger umfassen 1394- und USB-Datenträger.

    select disk
    

    Verwenden Sie den Befehl "Datenträger auswählen", um den Fokus auf den Datenträger festzulegen, der die angegebene Datenträgernummer aufweist. Wenn Sie keine Datenträgernummer angeben, zeigt der Befehl den aktuellen Datenträger an, der sich im Fokus befindet.

    create partition primary align=1024
    

    Notiz

    • Wenn Sie diesen Befehl eingeben, erhalten Sie möglicherweise eine Meldung, die etwa wie folgt aussieht:DiskPart konnte die angegebene Partition erstellt haben.
    • Der Align= -Zahlenparameter wird in der Regel zusammen mit hardware-RAID Logical Unit Numbers (LUNs) verwendet, um die Leistung zu verbessern, wenn die logischen Einheiten nicht zylinderbündig ausgerichtet sind. Dieser Parameter richtet eine primäre Partition aus, die nicht am Anfang eines Datenträgers ausgerichtet ist, und rundet dann den Offset auf die nächstgelegene Ausrichtungsgrenze ab.
    • Die Zahl ist die Anzahl der Kilobytes (KB) vom Anfang des Datenträgers bis zur nächstgelegenen Ausrichtungsgrenze. Der Befehl schlägt fehl, wenn sich die primäre Partition nicht am Anfang des Datenträgers befindet. Wenn Sie den Befehl zusammen mit der Option offset = Zahl verwenden, befindet sich der Offset innerhalb des ersten verwendbaren Zylinders auf dem Datenträger.
    exit
    
  3. Klicken Sie auf "Start", klicken Sie auf "Ausführen", geben Sie "diskmgmt.msc" ein, und klicken Sie dann auf "OK".

  4. Suchen Sie im MmC-Snap-In (Disk Management Microsoft Management Console) die neu erstellte Partition, und weisen Sie sie dann einem Laufwerkbuchstaben zu.

  5. Verwenden Sie das NTFS-Dateisystem, um die neue Partition zu formatieren und dann eine Clustergröße zuzuweisen.

    Notiz

    Dieses Beispielverfahren gilt für eine einzelne Partition pro RAID-Gruppe.

Weitere Informationen

Um zu überprüfen, ob eine vorhandene Partition ausgerichtet ist, dividieren Sie die Größe der Stripeeinheit durch den Startoffset der RAID-Datenträgergruppe. Verwenden Sie die folgende Syntax:
((Partitionsoffset) * (Größe des Datenträgersektors)) / (Stripe unit size)

Notiz

Die Größe des Datenträgersektors und die Größe der Stripeeinheit müssen in Bytes oder in Kilobyte (KB) angegeben sein.

Beispiel für Ausrichtungsberechnungen in Byte für eine 256-KB-Streifeneinheitsgröße:
(63 * 512) / 262144 = 0,123046875
(64 * 512) / 262144 = 0,125
(128 * 512) / 262144 = 0,25
(256 * 512) / 262144 = 0,5
(512 * 512) / 262144 = 1

Beispiel für Ausrichtungsberechnungen in Kilobyte für eine 256-KB-Streifeneinheitsgröße:
(63 *.5) / 256 = 0,123046875
(64 *.5) / 256 = 0,125
(128 *.5) / 256 = 0,25
(256 *.5) / 256 = 0,5
(512 *.5) / 256 = 1

Diese Beispiele zeigen, dass die Partition für eine 256-KB-Streifeneinheitsgröße nicht ordnungsgemäß ausgerichtet ist, bis die Partition mithilfe eines Offsets von 512 Sektoren (512 Byte pro Sektor) erstellt wird.

Notiz

Die Anzahl der Datenträger in der Arraygruppe wirkt sich nicht auf die Partitionsausrichtung aus. Die Faktoren, die sich auf die Partitionsausrichtung auswirken, sind stripe unit size and partition starting offset.

Führen Sie die folgenden Schritte aus, um den Startoffset für eine bestimmte Partition zu finden:

  1. Klicken Sie auf Start und auf Ausführen, geben Sie „cmd“ ein, und klicken Sie dann auf OK.

  2. Geben Sie folgenden Befehl ein, und drücken Sie die EINGABETASTE:

    wmic partition get BlockSize, StartingOffset, Name, Index
    

    Nachdem Sie den Befehl ausgeführt haben, erhalten Sie eine Ausgabe, die wie folgt aussieht:

    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. Beachten Sie den Wert von "BlockSize" und "StartingOffset" für jede angegebene Partition. Der Indexwert, der von diesem Befehl zurückgegeben wird, gibt an, ob eine Partition die erste Partition, die zweite Partition oder andere Partitionen für ein bestimmtes Laufwerk ist. Beispielsweise ist ein Partitionsindex von 0 die erste Partition auf einem bestimmten Datenträger.

  4. Um zu bestimmen, wie viele Datenträgersektoren eine bestimmte Partition vom Anfang des Datenträgers beginnt, dividieren Sie den Wert für "StartingOffset" durch den Wert von "BlockSize". Im Beispiel in Schritt 2 liefert die folgende Berechnung den Partitionsabsatz in Sektoren:

    32256 / 512 = 63