Sabit diskteki bozuk kesimleri biçimlendirmeden işaretleyin


22

Ev Ubuntu sunucumda bir sürücünün sadece bir sebepten dolayı okunduğunu fark ettim. Kazma Sabit sürücülerde hata olduğunda bunun olabileceğini öğrendim. Hataları kontrol etmek için kilit blokları kullandım ve gerçekten bazı hasarlı sektörlerim var.

Çoğu durumda, tek mantıklı eylem yolu, verileri yedeklemeye çalışmak, HDD'yi çıkarmak ve yeni bir tane satın almaktır. Ancak, bu sunucu zaten birden fazla yerde yedeklememiş olduğum hiçbir şeye sahip değil ve ölene kadar kullanmak istiyorum. Müzik akışı yapmak ve bazı basit komut dosyalarını çalıştırmak için kullanıyorum. Her durumda, her şeyi yeniden yükleyerek büyük bir karışıklık olurdu.

Bu hatalı blokları hdd formatlamadan işaretlemenin bir yolu var mı?

Yanıtlar:


29

Bozuk dosya sistemleri hakkında değil, diskteki fiziksel kötü bloklardan bahsettiğinizi farz ediyorum.

Diskinizin fiziksel durumunu kontrol etmek için kurulumu en iyisi smartmontools

sudo apt-get install smartmontools

Bu, tüm modern disklerin SMART adlı bir sistem kullanarak sağlık durumlarını kaydettiği için işe yarıyor

smartctrlBu durumu okumak için komutu kullanın . Örneğin, ilk disk çağrısından tüm özellikleri okumak için

sudo smartctl --all /dev/sda

Genel sağlık durumu hakkında konuşurken bir çizgiye dikkat edin. Bu bir hatayı gösterdiğinde, diskin yakında başarısız olması muhtemeldir.

SMART overall-health self-assessment test result: PASSED

Kontrol etmek istediğiniz diğer satırlar Bekleyen Sektör Sayısı ve Yeniden Tahsis Edilen Sektörlerdir.

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       48
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       2

Tahsis edilen listeler genellikle ham alanda, diskin yedek parçalar için takas ettiği kötü sektörlerin sayısını gösterir. Bekleyen, bir sonraki yazmanın başarısız olması durumunda yeniden tahsis edilebilecek sektörlerdir.

Modeliniz tarafından desteklendiğinde diskin kendi kendini sınamalarını bile tetikleyebilirsiniz

sudo smartctl -t long /dev/sda

Tüm sektörlerin kontrolünü zorlamak için badblocksverilerin yazıldığı bir modda kullanın . Genel olarak çalıştırılması güvenli olsa da, disklerinize fazladan yük getirerek bunların bozulmasına neden olabileceğine dikkat edin. Daima verilerinizin yedeğini alın.

sudo badblocks -svvn -c 262144 /dev/sda

Diski bu şekilde tam olarak işlemişseniz, disk denetleyicisi tüm kötü blokları çalışanlarla değiştirmiş olmalı ve yeniden tahsis edilen sayım SMART günlüğünde arttırılacaktır.


2
-cBir kerede veya başka bir deyişle test edilen blokların etkisi veya sayısı, 64'ün varsayılan değerine kıyasla neden bu kadar büyük bir değere sahipsiniz?
greole

4
bir seferde 64 bloğun varsayılanı ile çarpılan 1024 baytlık varsayılan blok boyutu, her istekte yalnızca 64k işlem görür. 150 MiB / s'ye kadar çıkabilen modern disklerde bu, kendimi rahat hissettiğimden daha fazla yüklüyor. Sürücüye veri yolu üzerinde beklemeden verileri en verimli şekilde işleme fırsatını vermek istiyorum.
user228505

Diyor ki: / dev / sda görünüşe göre sistem tarafından kullanılıyor; badblocks çalıştırmak güvenli değil!
ölçülü yük

1
@Dims Size aktif olarak monte edilmiş bir disk üzerinde çalıştırmamanızı söyler. Önce diski çıkarın. Sizin durumunuzda sistem sürücünüz olabilir. Bu yüzden ilk önce bir kurtarma sistemine önyükleme yapın.
user228505

2
@Dims Yine de çalıştırmak istiyorsanız -force seçeneği var. yani sudo badblocks -svvn -c 262144 / dev / sda -force
ADR
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.