Aracılığıyla paylaş


Veri bozulması ve disk hataları sorunlarını giderme kılavuzu

Veri bozulması ve disk hataları sürücüye erişme sorunları, sürücü bozulması ve yavaş performans gibi farklı alanları kapsar.

Aşağıdaki Olay Kimlikleri veri bozulması veya disk hatası olduğunu gösterir:

  • Olay Kimliği 153

    Disk 2 için mantıksal blok adresi 123456 GÇ işlemi yeniden denendi.

  • Olay Kimliği 129

    \Device\RaidPort1 cihazına sıfırlandı.

  • Olay Kimliği 157

    Disk 2 sürpriz bir şekilde kaldırıldı.

  • Olay Kimliği 55

    Disk üzerindeki dosya sistemi yapısı bozuk ve kullanılamıyor. Lütfen birim üzerinde chkdsk yardımcı programını çalıştırın.

  • Olay Kimliği 98

    C Birimi: (\Device\HarddiskVolume3), Tam Chkdsk gerçekleştirmek için çevrimdışına alınmalıdır. Lütfen komut satırı aracılığıyla "CHKDSK /F" komutunu yerel olarak çalıştırın veya PowerShell aracılığıyla "REPAIR-VOLUME <drive:>" komutunu yerel olarak veya uzaktan çalıştırın.

Sorun giderme denetim listesi

Not

Bu makalede, yükseltilmiş bir komut isteminde çalıştırılması gereken komutlar açıklanmaktadır.

  • Sistem olay günlüğünde Yeni Teknoloji Dosya Sistemi (NTFS) ve diskle ilgili uyarılar ve hatalar için arama yapın. Örneğin, Olay Kimliği 55, 153 veya 98.

  • chkdsk /scan komutunu çalıştırın ve sonucu denetleyin.

    Not

    Komut chkdsk /scan salt okunurdur.

  • Aşağıdaki komutu çalıştırarak bir sürücüyü NTFS'ye özgü birim bilgileri için sorgulayın:

    fsutil fsinfo ntfsinfo <rootpath>:

    Not

    Yer tutucu <kök yolu> , kök sürücünün sürücü harfini temsil eder.

  • Birimin kirli olup olmadığını denetlemek için fsutil dirty query <volumepath>: komutunu çalıştırın.

    Not

    Yer tutucu <birim yolu> , sürücü harfini temsil eder.

    • Dosya sistemi NTFS olan bir birim için, birim kirliyse chkdsk /f /r komutunu çalıştırın. Disk erişilebilir olmayacağından chkdsk /F /R komutunun kapalı kalması gerekir.

    • Dosya sistemi Dayanıklı Dosya Sistemi (ReFS) olan bir birim için disk bozulması otomatik olarak onarılır.

  • "chkdsk" yardımcı programı disk hatalarını düzeltmezse bir yedeklemeden geri yükleme gerçekleştirin.

  • Depolamayla ilgili hatalar olup olmadığını görmek için bir depolama doğrulaması çalıştırın.

  • Diskleri kümeden kaldırın ve işletim sistemi düzeyini denetleyin.

  • Olayın günlüğe kaydedildiği tüm birimlerde chkdsk /f komutunu çalıştırın.

  • Üçüncü taraf depolama sürücülerini veya üretici yazılımlarını güncelleştirin.

Sorun devam ederse aşağıdaki yöntemleri göz önünde bulundurun:

  • Tüm üçüncü taraf disk yönetim yazılımlarını (ör. Diskeeper) kaldırın.

  • Filtre sürücülerini kaldırın veya güncelleştirin.

  • Donanım sorunlarının oluşma olasılığını ortadan kaldırmak için donanım satıcısıyla iletişime geçin ve donanım tanılaması çalıştırın.

  • Çoklu yol oluşturma yapılandırmasını denetlemek için depolama satıcısıyla iletişime geçin.

  • SCSI bağlantı noktasını veya RAID denetleyicisi sürücülerini güncelleştirin.

  • Farklı sürücü türlerine geçiş yapma. Örneğin, RAID denetleyicisi sürücüleri veya monolitik sürücüler.

  • Host Bud Adaptörü (HBA) sürücülerini güncelleştirin.

  • Cihaza özgü modüllerin (DSM) çoklu yol oluşturma sürücülerini güncelleştirin.

  • HBA üretici yazılımını güncelleştirin.

Olay Kimliği 153 Sorunlarını Giderme

Olay Kimliği 153, depolama alt sisteminde bir hata olduğunu gösterir. Olay Kimliği 153, Olay Kimliği 129'a benzer ancak aradaki fark, Olay Kimliği 129'un Storport sürücüsü diske yapılan bir isteği zaman aşımına uğrattığında ve Olay Kimliği 153'ün Storport miniport sürücüsü bir isteği zaman aşımına uğrattığında günlüğe kaydedilmesidir. Miniport sürücüsü, genellikle donanım satıcısı tarafından yazılan bir bağdaştırıcı sürücüsü veya HBA sürücüsü olarak da ifade edilebilir.

Olay Kimliği 153 veya Olay Kimliği 129 günlüğe kaydedildiyse, depolama denetleyicisi yükü işleyemediğinden disk G/Ç zaman aşımı yaygın nedendir. Bu durumda G/Ç işlemi zaman aşımına ular ve miniport sürücüsü (satıcıdan) iletileri Storport sürücüsüne (yığındaki son Microsoft depolama sürücüsü) geri gönderir. Ardından Storport sürücüsü bilgileri çevirir ve olayı Olay Görüntüleyicisi günlüğe kaydeder.

Miniport sürücüsü istek yürütme ortamı hakkında yeterli bilgiye sahip olduğundan, bazı miniport sürücüleri Storport sürücüsünün istek zamanlamasını işlemesine izin vermek yerine isteği kendileri zamanlar. Miniport sürücüsü tek bir isteği durdurup hata döndürebilirken, Storport sürücüsü zaman aşımından sonra sürücüyü sıfırlar. Sürücünün sıfırlanması G/Ç alt sistemine zarar verebilir ve yalnızca bir istek zaman aşımına uğradıysa gerekli olmayabilir. Miniport sürücüsü, Olay Kimliği 153'i günlüğe kaydeden ve isteği yeniden denenen sınıf sürücüsüne hatayı döndürür.

Olay Kimliği 153'e bir örnek aşağıda verilmişti:

Log Name: System
Source: disk
Event ID: 153
Level: Warning
Description: The IO operation at logical block address 123456 for Disk 2 was retried.

Bu olay, bir isteğin başarısız olduğunu ve sınıf sürücüsü tarafından yeniden denendiğini gösterir. Storport sürücüsü isteği zaman aşımına uğradı olmadığından bu durumda hiçbir hata iletisi günlüğe kaydedilmedi. Hatanın kanıtı olmadığından, disk hatalarını giderirken ileti eksikliği kafa karışıklığına neden oldu.

Olay günlüğünün Ayrıntılar sekmesinde, ayrıntılı bilgiler yeniden denemeye neden olan hatayı ve isteğin okuma veya yazma isteği olup olmadığını gösterir. Örneğin:

0000: 0004010F 002C0003 00000000 80040099
0010: 00000000 00000000 00000000 00000000
0020: 00000000 00000000 28090000

in bytes

0000: 0F 01 04 00 03 00 2C 00 ......,.
0008: 00 00 00 00 99 00 04 80 ......
0010: 00 00 00 00 00 00 00 00 ........
0018: 00 00 00 00 00 00 00 00 ........
0020: 00 00 00 00 00 00 00 00 ........
0028: 00 00 09 28             ...*

Bu örnekte bayt uzaklığı 29 SCSI durumunu, bayt uzaklığı 30 yeniden denemeye neden olan SCSI istek bloğu (SRB) durumunu gösterir ve bayt uzaklığı 31 yeniden denenmekte olan SCSI komutunu gösterir. Bu durumda, SCSI durumu () olur 00 , SRB durumu ()SRB_STATUS_TIMEOUT olur 09 ve SCSI komutu (SCSIOP_READ olur 28 .SCSISTAT_GOOD

En yaygın SCSI komutları şunlardır:

SCSIOP_READ - 0x28
SCSIOP_WRITE - 0x2A

SCSI işlemlerinin ve durumlarının listesi için bkz . scsi.h .

En yaygın SRB durumları şunlardır:

SRB_STATUS_TIMEOUT - 0x09
SRB_STATUS_BUS_RESET - 0x0E
SRB_STATUS_COMMAND_TIMEOUT - 0x0B

SRB durumlarının listesi için bkz . srb.h .

Not

  • Zaman aşımı hataları (SRB_STATUS_TIMEOUT veya SRB_STATUS_COMMAND_TIMEOUT) bağdaştırıcıda bir isteğin zaman aşımına uğradıklarına işaret eder. Sürücüye bir istek gönderildi ve zaman aşımı süresi içinde yanıt verilmedi.

  • Veri yolu sıfırlama hatası (SRB_STATUS_BUS_RESET), bir sürücü sıfırlama aldığında tüm eksik istekler durdurulduğundan cihazın sıfırlandığını ve sıfırlama nedeniyle isteğin yeniden denendiğini gösterir.

Bir yöneticinin disk alt sisteminin durumunu doğrulaması gerekir. Zaman zaman zaman zaman bir zaman aşımı sistemin normal çalışmasının bir parçası olsa da, sık yeniden deneme istekleri depolamayla ilgili düzeltilmesi gereken bir performans sorunu olduğunu gösterir.

Daha Fazla Bilgi

Sorun normalde işletim sisteminin dışında olduğundan aşağıdaki yaygın nedenleri denetleyin:

  • G/Ç sınırlamaları gibi bir tür azaltma yapılandırılır. Bazen VMware'deki Depolama G/Ç Denetimi bu soruna neden olur.

  • Yüksek yüke sahip çok fazla sürücü aynı depolama denetleyicisindedir. Bu nedenle sürücülerin farklı denetleyiciler arasında bölünmesi gerekir.

  • Çok G/Ç (MPIO) yapılandırıldıysa, tek bir kablo veya hasarlı bir NIC iSCSI ile ilgili sorunlara neden olabilir.

Olay Kimliği 129 Sorunlarını Giderme

Olay Kimliği 129, kaynak olarak depolama bağdaştırıcısı (HBA) sürücüsünün adıyla günlüğe kaydedilir. Storport sürücüsü (Storport.sys) bir isteğin zaman aşımına uğrduğunu algıladığında bu olayı günlüğe kaydeder. HBA sürücüsünün adı olayda kullanılır çünkü Storport sürücüsüyle ilişkili miniport sürücüsüdür.

Olay Kimliği 129'a bir örnek aşağıda verilmişti:

Event Type:       Warning
Event Source:     <HBA_Name>
Event Category:   None
Event ID:         129
Computer:         <Computer_Name>
Description: Reset to device, \Device\RaidPort1, was issued.

Windows G/Ç yığını mimarisi hakkında bilgi

Windows G/Ç işlemi, cihaz sürücülerinin bir cihaz yığınında bulunduğu katmanlı bir mimari kullanır. Temel modelde yığının en üstü dosya sistemi. Sonraki, birim yöneticisi ve ardından disk sürücüsüdür. Bağlantı noktası ve miniport sürücüleri, cihaz yığınının en altındadır. G/Ç isteği dosya sistemine ulaştığında dosyanın blok numarasını alıyor ve bu numarayı birimdeki bir uzaklığa çeviriyor. Ardından birim yöneticisi birim uzaklığını disk üzerindeki bir blok numarasına çevirir ve isteği disk sürücüsüne geçirir. İstek disk sürücüsüne ulaştığında, bir komut tanımlayıcı bloğu (CDB) oluşturur ve SCSI cihazına gönderir. Disk sürücüsü CDB'yi SCSI_REQUEST_BLOCK (SRB) yapısına ekler. Bu SRB, G/Ç istek paketinin (IRP) bir parçası olarak bağlantı noktası sürücüsüne gönderiliyor.

İstek işleme çalışmasının büyük bölümünü bağlantı noktası sürücüsü gerçekleştiriyor. Mimariye bağlı olarak farklı bağlantı noktası sürücüleri var. Örneğin, ATA bağlantı noktası sürücüsü (Ataport.sys) ve SCSI bağlantı noktası sürücüsü (Storport.sys). Bağlantı noktası sürücüsünün bazı sorumlulukları şunlardır:

  • İstekler için zamanlama hizmetleri sağlama

  • Bir cihazın işleyebileceğinden daha fazla isteği olmadığından emin olmak için kuyruk derinliğini zorunlu tutma

  • Veri arabellekleri için "dağılım" ve "toplama" dizileri oluşturma

Bağlantı noktası sürücüsü miniport sürücüsüyle arabirimler ve miniport sürücüsü, donanım satıcısı tarafından belirli bir bağdaştırıcıyla çalışacak şekilde tasarlanmıştır. Bağlantı noktası sürücüsünden istekleri alıp hedef mantıksal birim numarasına (LUN) göndermekten sorumludur. Bağlantı noktası sürücüsü, miniport sürücüsüne istek göndermek için işlevini çağırır HwStorStartIo() ve miniport sürücüsü, fiziksel ortam (Fiber veya Ethernet) üzerinden LUN'a gönderilebilmeleri için istekleri HBA sürücüsüne gönderir. İstek tamamlandığında, miniport sürücüsü, değeri olarak ayarlanmış RequestCompleteparametresi ve NotificationType tamamlanmış SRB işaretçisi ile işlevini çağırırStorPortNotification().

Miniport sürücüsüne bir istek gönderildiğinde, Storport sürücüsü isteği bekleyen bir kuyruğa koyar ve zamanlanır. İstek tamamlandığında bu kuyruktan kaldırılır.

Zamanlama mekanizması basittir. Mantıksal birim başına bir zamanlayıcı vardır ve olarak başlatılır -1. İlk istek miniport sürücüsüne gönderildiğinde, zamanlayıcı SRB'deki zaman aşımı değerine ayarlanır. Disk zaman aşımı değeri, aşağıdaki kayıt defteri anahtarı altında bulunan ayarlanabilir bir parametredir:

HKLM\System\CurrentControlSet\Services\Disk\TimeOutValue

Bazı donanım satıcıları bu değeri donanımlarıyla en iyi şekilde eşleşecek şekilde ayarlar. Depolama satıcınızın yönergeleri olmadan bu değeri değiştirmeyin.

Zamanlayıcı saniyede bir azaltılır. İstek tamamlandığında zamanlayıcı bekleyen kuyruktaki baş isteğin zaman aşımı değeriyle yenilenir. Bu nedenle, istekler tamamlandıktan sonra zamanlayıcı hiçbir zaman sıfıra gitmez. Zamanlayıcı sıfıra giderse, cihazın yanıt vermeyi durdurduğu anlamına gelir. Örneğin, Storport sürücüsü Olay Kimliği 129'u günlüğe kaydeddiğinde, Storport sürücüsünün birimi sıfırlamaya çalışarak düzeltici işlem gerçekleştirmesi gerekir. Birim sıfırlandığında, tamamlanmamış tüm istekler bir hatayla tamamlanır ve yeniden denener. Bekleyen kuyruk temizlendiğinde, zamanlayıcı ilk değer olan olarak ayarlanır -1.

Her SRB'nin bir zamanlayıcı değeri ayarı vardır. İstekler tamamlandığında, kuyruk zamanlayıcısı listenin başındaki SRB'nin zaman aşımı değeriyle yenilenir.

Olay Kimliği 129'un en yaygın nedenleri yanıt vermeyen LUN'lar veya bırakılan isteklerdir. Bırakılan istekler, hatalı yönlendiricilerden veya depolama alanı ağındaki (SAN) diğer donanım sorunlarından kaynaklanabilir.

Olay Kimliği 157 Sorunlarını Giderme

Bu olay, Classpnp.sys sürücüsünün çıkarılamayan bir disk için tak çalıştır yöneticisinden (PNP) sürpriz bir kaldırma isteği aldığını gösterir.

Bu sorun genellikle sistemin bir diskle iletişimini bozan bir şey olduğunda (SAN dokusu hatası veya SCSI veri yolu sorunu gibi) oluşur. Hatalar, başarısız olan bir diskten veya sistem çalışırken kullanıcı bir diski çıkardığında da kaynaklanabilir. Bu durumda, bir yöneticinin disk alt sisteminin ısısını doğrulaması gerekir.

Olay Kimliği 55 ve 98 sorunlarını giderme

Olay Kimliği 55, 50, 140 ve 98 gibi NTFS olayları günlüğe kaydedilirse, "chkdsk" yardımcı programını çalıştırmanız gerekir.

NTFS, işlem günlüğüne veri yazamadığından, bu durum NTFS'nin işlem verilerinin yazılamadığı işlemleri durdurma veya geri alma yeteneğini etkileyebilir.

Olay Kimliği 55'e bir örnek aşağıda verilmişti:

Event Type: Error
Event Source: NTFS
Event ID: 55
Description: The file system structure on the disk is corrupt and unusable. Please run the chkdsk utility on the volume.

Genellikle, dosya sistemi bozulması oluştuğunda Olay Kimliği 55 günlüğe kaydedilir. Dosya sistemi bozulması, aşağıdaki sorunlardan biri veya daha fazlası oluştuğunda oluşur:

  • Diskin kesimleri bozuk.

  • Dosya sistemi tarafından disk alt sistemine teslim edilen G/Ç istekleri başarıyla tamamlanmamıştır.

Sorunların çoğu donanımla ilgilidir ve donanım beklenmedik bir şekilde bozulabilir. Sorunları çözmek için aşağıdaki yöntemleri deneyebilirsiniz:

  • SCSI bağlantı noktasını veya RAID denetleyicisi sürücülerini güncelleştirin.

  • Filtre sürücülerini kaldırın veya güncelleştirin.

  • Üçüncü taraf depolama sürücülerini veya üretici yazılımlarını güncelleştirin.

  • Farklı sürücü türlerine geçiş yapma. Örneğin, RAID denetleyicisi sürücüleri veya monolitik sürücüler.

  • Donanımı çeşitli kombinasyonlara göre yeniden düzenleyin.

Üçüncü taraf bilgileri hakkında yasal uyarı

Bu makalede adı geçen üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft, bu ürünlerin performansı veya güvenilirliği ile ilgili örtük veya başka türlü hiçbir garanti vermez.