Birden çok disk kullandığınızda disk performansı beklenenden daha yavaş olabilir

Bu makalede, disk performansının beklenenden daha yavaş olabileceği bir sorunun çözümü açıklanmaktadır. Donanım veya yazılım tabanlı RAID kullandığınızda bu sorun oluşabilir.

Şunlar için geçerlidir: Windows Server 2012 R2, Windows 10 - tüm sürümler
Özgün KB numarası: 929491

Belirtiler

Windows'ta birden çok disk kullandığınızda disk performansı beklenenden daha yavaş olabilir. Örneğin, bağımsız disklerden oluşan donanım tabanlı yedekli bir dizi (RAID) veya yazılım tabanlı RAID kullandığınızda performans yavaş olabilir.

Neden

Bu sorun, bölümün başlangıç konumu RAID'de oluşturulan disk bölümündeki bir şerit birimi sınırıyla hizalanmamışsa oluşabilir.

Birim kümesi, şerit birim sınırının yanında değil, şerit birim sınırı üzerinden oluşturulabilir. Bunun nedeni Windows'un birim kümeleri oluşturmak için 512 baytlık bir faktör kullanmasıdır. Bu davranış yanlış hizalanmış bir bölüme neden olur. Tek bir birim kümesi yanlış hizalanmış bir bölümde güncelleştirildiğinde iki disk grubuna erişilir.

Windows, önceden tanımlanmış sayıda kesimi temel alan bölümler oluşturur. Windows'ta disk bölümünün başlangıç konumu, yığın depolama denetleyicisi tarafından işletim sistemine sunulan bilgilere bağlı olarak 32. veya 64. kesimdir.

Not

Disk bölümleri, bölümün ilk kesimini her zaman kod için ve bölüm sayısı ve başlangıç kesimi gibi bölüm bilgileri için ayırır. Bölümün gerçek veri bölümü, bölümün ikinci kesiminden başlar.

Çözüm

Bu sorunu çözmek için Diskpart.exe aracını kullanarak disk bölümünü oluşturun ve 2.048 kesim (1 megabayt) başlangıç uzaklığını belirtin. 2.048 kesimden oluşan başlangıç uzaklığı çoğu şeritli birim boyutu senaryolarını kapsar.

Not

Windows Server 2003 Service Pack 1, Diskpart'ın bölüm hizalamasını ayarlama özelliğini kullanıma sunar. Diskpart'ın güncelleştirilmiş bir sürümüne erişiminiz yoksa diskpar (bu yardımcı programın adında son "t" olmadığına dikkat edin) kullanılabilir.

Mevcut bir bölümün hizalandığını doğrulamak için "Daha Fazla Bilgi" bölümünde açıklanan hesaplamayı yapın.

Disk bölümünü 2.048 kesimli uzaklığı olan bir RAID'e hizalamak için şu adımları izleyin:

  1. Komut isteminde diskpart yazın ve ENTER tuşuna basın.

  2. DISKPART istemine aşağıdaki komutları yazın ve ENTER tuşuna basın:

    list disk
    

    Aşağıdakine benzer bir çıkış alırsınız:

    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
    

    komutu list disk , bilgisayarda yüklü olan her disk hakkında özet bilgiler sağlar. Yıldız (*) işareti olan disk geçerli odaktadır. Yalnızca sabit diskler ve çıkarılabilir diskler listelenir. Sabit diskler tümleşik cihaz elektroniği [IDE] ve SCSI disklerini içerir. Çıkarılabilir diskler 1394 ve USB diskleri içerir.

    select disk
    

    Odağı belirtilen disk numarasına sahip diske ayarlamak için disk seçme komutunu kullanın. Disk numarası belirtmezseniz, komut odaktaki geçerli diski görüntüler.

    create partition primary align=1024
    

    Not

    • Bu komutu yazdığınızda, aşağıdakine benzer bir ileti alabilirsiniz:DiskPart belirtilen bölümü oluşturmada başarılı oldu.
    • align= number parametresi genellikle mantıksal birimler silindirle hizalanmadığında performansı artırmak için donanım RAID Mantıksal Birim Numaraları (LUN) ile birlikte kullanılır. Bu parametre, silindir olmayan bir birincil bölümü diskin başına hizalar ve sonra uzaklığı en yakın hizalama sınırına yuvarlar.
    • sayı , diskin başından en yakın hizalama sınırına kadar olan kilobayt (KB) sayısıdır. Birincil bölüm diskin başında değilse komut başarısız olur. komutunu offset = number seçeneğiyle birlikte kullanırsanız, uzaklık disk üzerindeki ilk kullanılabilir silindirin içindedir.
    exit
    
  3. Başlat'a tıklayın, Çalıştır'a tıklayın, diskmgmt.msc yazın ve tamam'a tıklayın.

  4. Disk Yönetimi Microsoft Yönetim Konsolu (MMC) ek bileşeninde yeni oluşturulan bölümü bulun ve bir sürücü harfi atayın.

  5. Ntfs dosya sistemini kullanarak yeni bölümü biçimlendirin ve ardından bir küme boyutu atayın.

    Not

    Bu örnek yordam, RAID grubu başına tek bir bölüm içindir.

Daha fazla bilgi

Mevcut bir bölümün hizalandığını doğrulamak için, şerit biriminin boyutunu RAID disk grubunun başlangıç uzaklığıyla bölün. Aşağıdaki sözdizimini kullanın:
((Bölüm uzaklığı) * (Disk kesim boyutu)) / (Şerit birimi boyutu)

Not

Disk kesim boyutu ve şerit birimi boyutu bayt veya kilobayt (KB) cinsinden olmalıdır.

256 KB şeritli birim boyutu için bayt cinsinden hizalama hesaplamaları örneği:
(63 * 512) / 262144 = 0,123046875
(64 * 512) / 262144 = 0,125
(128 * 512) / 262144 = 0,25
(256 * 512) / 262144 = 0,5
(512 * 512) / 262144 = 1

256 KB şeritli birim boyutu için kilobayt cinsinden hizalama hesaplamaları örneği:
(63 *.5) / 256 = 0,123046875
(64 *.5) / 256 = 0,125
(128 *.5) / 256 = 0,25
(256 *.5) / 256 = 0,5
(512 *.5) / 256 = 1

Bu örnekler, bölüm 512 kesim (kesim başına 512 bayt) uzaklığı kullanılarak oluşturulana kadar bölümün 256 KB şeritli birim boyutu için doğru hizalanmadığını gösterir.

Not

Dizi grubundaki disklerin sayısı bölüm hizalamasını etkilemez. Bölüm hizalamasını etkileyen faktörler şerit birim boyutu ve bölüm başlatma uzaklığıdır.

Belirli bir bölümün başlangıç uzaklığını bulmak için şu adımları izleyin:

  1. Başlat'a tıklayın, Çalıştır'a tıklayın, cmd yazın ve ardından Tamam'a tıklayın.

  2. Aşağıdaki komutu yazın ve Enter tuşuna basın:

    wmic partition get BlockSize, StartingOffset, Name, Index
    

    Komutu çalıştırdıktan sonra aşağıdakine benzer bir çıkış alırsınız:

    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. Verilen her bölüm için BlockSize ve StartingOffset değerine dikkat edin. Bu komut tarafından döndürülen Dizin değeri, bir bölümün belirli bir disk sürücüsü için birinci bölüm mü, ikinci bölüm mü yoksa diğer bölümler mi olduğunu gösterir. Örneğin, 0 bölüm dizini belirli bir disk üzerindeki ilk bölümdür.

  4. Belirli bir bölümün diskin başından başlayarak kaç disk kesimi başlatdığını belirlemek için, StartingOffset değerini BlockSize değerine bölün. 2. adımdaki örnekte, aşağıdaki hesaplama kesimlerde bölüm başlangıç uzaklığını verir:

    32256 / 512 = 63