Hasarlı sabit sürücüler neden tüm sistemi donduruyor?


128

Kötü bloklara sahip olduğu bilinen bir sabit disk neden (HDTune ve HDDScan'da doğrulandı) tüm sistemimi donduruyor?

OS sürücüsü değil; başka bir SATA bağlantı noktasına takılı ve dosyaları başka bir sağlıklı sürücüye kopyalamaya çalışıyorum.

Bu sorunu neredeyse her zarar görmüş sabit sürücü ve her Windows PC'de yaşadım.

Yalnızca dosyaları kopyalamak için kullandığım programın donmasını görmeyi beklerdim (Windows Gezgini, vb.), Ancak bunun yerine tüm bilgisayarım sarsıntılı olur ve dosyaları hasarlı sürücüden kopyalarken web'e göz atamam ya da film izleyemiyorum.

Uzun hikaye.

Elektrikle ilgili sorunların olduğu kırsal bir bölgede yaşıyorum (elektrik kesintileri, vb.). Ben kendim bir UPS kullanıyorum ve kendi sabit disklerim gayet iyi. Ancak komşularım genellikle bilgisayar sorunları hakkında yardım istiyor ve çoğunlukla elektrik sorunları nedeniyle sabit sürücülerinin zarar gördüğünü düşünüyorum. Tabii ki, hasarlı sürücüyü değiştirdikten sonra komşularımın bir UPS almasını öneriyorum.

Her zaman merak etmişimdir, neden hasarlı disklerden veri alırken bilgisayarım neden tamamen donuyor. Bu bir donanım sorunu mu? İşletim sisteminin veri okuma biçiminden mi kaynaklanıyor? Windows'a özgü bir şey mi ve * nix'te deneyimlemeyeceğim mi?

Her neyse, bundan böyle, Windows Gezgini yerine bazı özel yazılımlar (Roadkil'in Durdurulamaz Fotokopi Makinesi gibi) kullanacağım, ancak bunun bilgisayarın tamamen dondurulmadan farklı şekilde çalışacağından emin değilim.

Yardım talebi değil, eğitim amaçlı daha fazla, bu yüzden işlerin neden böyle yürüdüğünü biliyorum.


11
Arızalı diski sistem SATA denetleyicinize bağladığınız için harici bir USB muhafazasının kullanılması yardımcı olacaktır (ayrıca, ana kartınızla hatalı disk arasına fazladan bir feda edilebilir donanım katmanı eklemek her zaman iyi bir fikirdir).
Matteo Italia

3
SATA'ya özgü değil, IDE sürücüler de bunu yaptı. Ayrıca sadece diskin hasarlı olması, özellikle diskin bir elektrik arızası olması durumunda denetleyicinin olmadığı anlamına gelmez.
Chris H,

Kabul edilen cevap müthiş ve ne söyleyeceğimi ve çok daha fazlasını içeriyor. Temel olarak, çok önemli bir sistem cihazı olan SATA denetleyicinizi panikliyorsunuz ve bu da Windows'u panikliyor. BIOS'ta AHCI / "hot-swap" etkinliğinin durumu iyileştirip iyileştirmeyeceğini merak ediyorum.
Arthur Kay

Yanıtlar:


170

Bu SATA'nın yetersiz olduğu alanlardan biridir. Sorun, depolama aygıtı bağlantı protokol düzeyindedir ve bu nedenle hangi yazılımı kullandığınızla ilgili değildir. Başka bir dosya fotokopi makinesi veya başka bir işletim sistemi kullanmak, sihirli bir şekilde işleri daha iyi hale getirmez, ancak sorunun etkisini azaltmak için farklı zaman aşımı değerleri ayarlamaya çalışabilir (donanıma ve bellenime bağlı olarak mümkün olabilir veya olmayabilir); ).

Burada birkaç önemli nokta var:

  1. SATA ile, sürücü yanıt vermeyi keserse, bu, yalnızca sorun yaşayan sürücüyü değil tüm depolama sistemini bağlar. Kesinlikle tüm kontrol cihazını bağlama potansiyeline sahiptir ve çoğu tüketici sistemi sadece tek bir disk kontrol cihazına (ana kart üzerine entegre) sahip olduğundan, bu tüm depolama anlamına gelir. Sürücü standart olmayan ve / veya beklenmeyen bir şekilde başarısız olursa, sürücü marjinal ise kesinlikle gerçekleşmesi daha da kötüdür. İlginizi çekebilir Bir donanım SATA RAID-10 dizisindeki tek bir disk tüm diziyi bir çığlık durağına nasıl getirebilir? Sunucu Arızasında.
  2. Tüketici SATA sürücülerinin çoğu, uzun varsayılan zaman aşımı sürelerine (dakika sırası ile) sahiptir ve birçok tüketici SATA sürücüsü, yapılandırılabilir hata kurtarma denetiminden yoksundur . "NAS" olarak adlandırılan sürücüler genellikle yapılandırılabilir ERC'ye sahiptir ve üst düzey sürücüler neredeyse her zaman yapar; Bu tür sürücüler ayrıca daha kısa varsayılan zaman aşımına sahip olabilir (7 saniye ortak bir değerdir). Sürücü maalesef tüketici sistemlerinde yaygın olan verilerin yalnızca bir kopyasını tutarsa ​​uzun zaman aşımı süreleri avantajlıdır; yedekli bir yapılandırmada veya daha fazla bozulmadan önce sürücüden mümkün olduğunca çok şey almak istediğiniz bir dezavantaj.
  3. Bir sürücü zaman aşımı eşiğine ulaşana veya ana bilgisayar tarafından iptal edilene kadar kötü bir sektörü okumaya devam edecek . SATA veri yolu, okuma işleminin bitmesi için bekleyerek bağlanabildiğinden, işletim sisteminin depolama düzeyinde bir komutu iptal ettiğini bildirmesi mümkün olmayabilir ve aşırı durumlarda sürücüler bir SATA veri yolu sıfırlama işlemine bile iyi yanıt vermeyebilir böyle bir durumda.

Nokta 1, sunuculardaki SAS için ana satış noktalarından biridir ; SAS, SATA'dan çok daha iyi hata işleme sahiptir. Nokta # 2 bir sürücü yazılımı sınırlamasıdır ve # 3 gerçekten sadece # 2 nedeniyle bir problem haline gelir.

Öyleyse , işletim sistemi diske "sektörleri oku" komutunu veriyor ve belirli sektörler bir şekilde zarar görmüş. Bu nedenle, disk, verileri plakalardan ayırmaya çalışmak için yeniden deneme moduna girer, diskin kendi hata düzeltmesinin ( FEC ) kalan hataları düzeltebileceği kadar iyi veri elde edinceye kadar tekrar tekrar okumayı dener . Eğer şanssızsanız, bu asla olmayabilir, ancak sürücü bu okumanın başarılı olmayacağına karar vermeden önce oldukça uzun bir süre boyunca denemeye devam edecektir.

İşletim sistemi okumayı beklediğinden, bu işlem kopyalama işlemini en azından yavaşlatır ve tam işletim sistemi mimarisine bağlı olarak işletim sisteminin sarsılmasına ve hatta donmasına neden olabilir. Bu noktada, disk orijinal okuma ile meşgul ve şu anda yürütülen (bitene kadar başarılı bir şekilde başarısız olana kadar) daha fazla okuma komutuna cevap vermiyor ve diğer yazılımlar genellikle işletim sisteminden daha iyi olmayacak çalışıyor.

Bu nedenle, başka bir yerde bir okumayı tetikleyen herhangi bir şeyin ( ideal olarak , sadece hasarlı sürücüde), hasarlı sürücünün söz konusu sektörü başarıyla okuyana veya okunamadığını belirleyene kadar sırada beklemesi gerekecektir. SATA'nın yanıt vermeyen sürücüleri en iyi şekilde kullanmasından daha az olması nedeniyle, bu, yalnızca kopyaladığınız sürücünün G / Ç'yi geciktireceği anlamına gelmez. Bu, işletim sistemi başa çıksa bile, farklı bir G / Ç isteğinin bitmesini beklediğinden, diğer yazılımların da yavaş veya tepkisizleşmesine neden olabilir.

Burada, diskteki hiçbir dosyaya açıkça erişmeseniz bile, disk G / Ç işlemlerinin yapılabileceğini not etmek önemlidir. Bunun için iki ana neden, isteğe bağlı yüklenebilir çalıştırılabilir kod ve takas olacaktır. Takas bazen sistem bellek baskısı altında olmasa bile kullanıldığından ve isteğe bağlı yükleme yürütülebilir kodu modern sistemlerde ve modern yürütülebilir dosya formatlarında yaygın olduğundan, normal kullanım sırasında istenmeyen disk okuma etkinliği çok gerçek bir olasılıktır.

Matteo Italia'nın sorusuna yaptığı yorumda belirtildiği gibi , hafifletici bir strateji, "diski bir USB kasasına koyma" demenin karmaşık bir yolu olan farklı bir depolama bağlantısı kullanmaktır. USB yığın depolama protokolü üzerinden soyutlayarak , bu problemli SATA bölümünü sisteminizin geri kalanından ayırır, yani teoride , yalnızca belirli bir diskteki G / Ç'nin o diskteki G / Ç sorunlarından etkilenmesi gerektiği anlamına gelir .

Bir yana, SATA'nın (özellikle sürücü düzeyinde ERC'siz SATA) genellikle RAID için önerilmemesi (özellikle standartların arasında RAID 0 dışında olan fazlalıklı RAID seviyeleri ); uzun zaman aşımı süreleri ve zayıf hata yönetimi, tek bir hatalı sektör için tüm cihazın dizilimden atılmasına neden olabilir; artıklık varsa ve RAID denetleyicisi bunun sorun olduğunu bilirse, RAID denetleyicisinin para cezasını kaldırabilir. SAS, büyük depolama dizileri için tasarlanmıştır ve bu nedenle, zaman zaman çeşitli disklerde sorun yaşanması beklentisi ile, tek bir sorunlu sürücünün veya G / Ç isteğinin incelikle ele alınması için tasarlanmasına neden olmuştur.sürücü olmasa bile. Sorunlu diskler, tüketici sistemlerinde pek yaygın değildir, çünkü bunlar çok fazla disk kurulu olma eğiliminde değildir ve kurulmuş olanların neredeyse hiçbir zaman fazlalığı yoktur; SATA, SCSI değil PATA / IDE'nin yerini almayı hedeflediğinden (ikincisi amaçlanan niş SAS'dır), hata işleme özelliklerinin ve taleplerinin (veya garantilerinin) kullanım amacı için yeterli olduğu düşünülmektedir.


19
Neler olduğunu açıklayan mantıklı bir cevap gönderdiğiniz için teşekkür ederiz. Bu, genellikle "sistem sürücüyü beklediğinden" veya "bu şekilde tasarlandığından" gibi belirsiz yanıtları gördüğüm bir soru.
Mehrdad,

4
@ kasperd: Çok fazla. Bunun bir parçası da Windows '"hatası" olsa da, çoklu kontrol cihazlarında olduğu gibi kolayca gerçekleşebilir. IMO'nun bu cevabı, kurumsal SAS denetleyicilerinin de bu konuya karşı bağışıklığı olmadığını görerek, kasten belirsiz görünüyor . Gerçekten sadece bazı engelleme giriş / çıkış isteklerine kaynar. Bazı sabit sürücü işlemlerinde Y işleminden önce X işleminin bitmesi garanti edilir ve eğer X asla bitmezse, Y asla başlamaz - ve Y de sıkışıp kaldıktan sonra, sürücünün, denetleyicinin, sürücünün veya işletim sisteminin çalışıp çalışmadığını kontrol edin arıza.
qasdfdsaq

2
@JustAMartin Aslında, zaten hepsi asenkrondir - bugünlerde DMA'yı destekleyen herhangi bir çevre birimi asenkronizedir; çekirdek yalnızca istekleri zamanlar ve isteğin yapıldığını bildiren kesintileri gerçekleştirir. Sorun bazen olmasıdır gerekir ve bu süreçte, önemli bir şeyi engelleyebilirsiniz - işlemin tamamlanmasını bekleyin. User20574'ün belirttiği gibi, sanal bellek bunlardan biri, ancak bazı garantiler gerektiren birçok şey var. Çekirdeğin bazı kısımları eşzamansız değildir ve elbette bazı sürücüler / aygıtlar basitçe emer.
Luaan

2
@ MichaelKjörling "İşletim sistemi okumayı beklediğinden, bu işlem kopyalama işlemini en azından yavaşlatır ve işletim sisteminin mimarisine bağlı olarak işletim sisteminin sarsılmasına ve hatta donmasına neden olabilir." - İkincil (sistem dışı) bir sürücüden okuma durumunda işletim sistemi neden tam olarak sarsıntılı hale geliyor? SATA denetleyicisinin hata işleme davranışından dolayı sorun tamamen çözülemez. Bu cevabın, Windows'un disk alt sistemindeki hataları nasıl ele aldığına dair bilgilerden fayda sağlayabileceğini düşünüyorum.
Jordan Rieger

1
@ MichaelKjörling Fuarı yeterince. Bu sorunun cevabı çok fazla bilgi içeriyor, ancak OP'nin özel senaryosunu tam olarak açıklamadığını düşünüyorum. Farklı bir açıdan gelmek için, 1 no'lu noktanızı yedeklemek için herhangi bir referanstan bahsedebilir misiniz: "SATA ile, eğer sürücü yanıt vermeyi keserse, bu yalnızca tüm sorunlara neden olan sürücüyü değil tüm depolama sistemini bağlayabilir “Kesinlikle tüm denetleyiciyi bağlama potansiyeline sahip.” ? Bu korkunç bir tasarıma benziyor. OS disk alt sistemi daha muhtemel değil mi? Yani denetleyici eşzamansızdır, ancak işletim sistemi sürücüsü bazen gereksiz yere engelleme yapar.
Jordan Rieger

3

Yukarıda belirtildiği gibi, hatalı bir sabit sürücü nedeniyle sistemin donmasıyla ilgili sorun, öncelikle sürücünün hatalı sektörlerden okunamayan verileri kurtarma konusundaki uzun denemelerinden kaynaklanmaktadır. Kurumsal dürtü satış noktalarından biri başarısız sektörler için çok kısa okuma zaman aşımı. Kurumsal bir sürücü kullanmak, sorunlarınızı bir dereceye kadar azaltabilir, ancak bunları çözemez.

En iyi cevap, ilerlemeye devam etmek için kurtarma işleminin gerekli olmaması için uygun yedeklemeleri sağlamaktır. Yazılımın zaman aşımı sorunu olduğu için kurtarma yazılımının değiştirilmesi bir fark yaratmaz.


2

Hasarlı sabit sürücüler neden tüm sistemi donduruyor?

(Genel olarak) zorunda değiller. Bu gerçekten bir disk arızasının nasıl giderileceği konusunda belirli bir dosya sistemine bağlı.

Bazı hata toleransları ile başa çıkmak için sıfırdan tasarlanan ZFS'yi düşünün. İşte koşu disklerini örs üzerinde bıraktıkları, bir kızak çekiçiyle sallayıp bir başka sürücüyü deldikleri bir demo videosu (ve daha fazlasını açıklayan bir video ). ZFS çalışmaya devam ederken.


2
Aslında, ZFS'nin başa çıkmadığı disk hataları var. Örneğin, G / Ç isteği zaman aşımına uğramadan önce, fazlalık veya fazlalık olmayan kurulumlarda son derece uzun okumalar. (ZFS'yi artık yedeklemeyecek şekilde kolayca kurabilirsiniz.) Bu, ZFS'deki dizilimden atılan sürücülerin kolayca çıkarılmasına neden olabilir; kullanılamaz hale gelmek. Failmode = wait ile ayarlanırsa, bu benzer sonuçları gösterebilir. Tümüyle tam disk arızası, herhangi bir depolama altsistemi için kolay durumdur; sorun yaratan marjinal sürücüler.
Bir CVn

Ve başka türlü düşünmeden önce, aslında ZFS'yi (neredeyse sadece) kendim çalıştırıyorum. Bu, büyük bir dosya sistemi ve harika bir birim yöneticisi var ise dikkatli ve ne yaptığınızı biliyorum. Bununla birlikte, yöneticilerin ne yaptıklarını bilmek için ödeme yaptığı kurumsal sınıf sistemler (üst seviye iş istasyonları ve sunucular) için tasarlanmıştır. RAM sorunları ve bir G / Ç isteğinden geri dönmesi çok uzun süren sürücüler de dahil olmak üzere, meta donanımında görülen bazı arıza modlarıyla iyi başa çıkmak için tasarlanmamıştır ve ev kullanıcıları veya kullanım kolaylığı için tasarlanmamıştır. ev kullanıcı kullanım durumları.
CVn

Video dışında, ZFS çalışmaya devam etmiyor. Sürücünün bağlantısını kestikten sonra tekrar çalışmaya başlar.
Christoffer Hammarström

-2

Karşılaştığınız problemin düşük seviyeli bir parçası olduğunu düşünüyorum, vazgeçmeden önce kötü blokları okumak için defalarca dener. Bu rutin, önyükleme veya diğer bağımsız işlemler sırasında gerekli olması durumunda düşük bir seviyede uygulanır ve bu nedenle tekrar katılımını sağlamak zordur. İşletim sistemi normal çalışma sırasında sürekli olarak sayfalanır ve rakip seviyelere öncelik vermek zordur çünkü düşük seviyeli sistem bir disk belleği talebine sahip olan sürecin önceliğini bilmeyecektir.


6
'Düşük seviye sistemi' , sayfa isteyen bir işlemin önceliğini biliyor; Bu tür bilgiler sayfa tablolarında tutulmaktadır , ancak uygulama önceliğin nasıl kullanıldığına bağlı olarak sisteme bağlıdır. Bu olsa da sorunun doğru cevabı değil - bu bir işletim sistemi sorunu değil, bir donanım konusudur.
Chris Cirefice,

1
Bence sorunun doğru cevabı hatalı bir sürücü kullanmayı reddetmektir. Ancak, anlaşılır bir şekilde mümkün olduğunca fazla veri kurtarmak isteyen kullanıcıları tatmin etmeyecektir.
jrrk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.