Disklerde Hata Taraması Gerçekleştirmek

Gerek Raspberry Pi’ın işletim sisteminin yüklü olduğu disk olan SD kart gerekse de harici olarak bağlanan USB depolama ortamları zaman zaman fiziksel hasara uğrayabilmekte ve bu hasar bir süre kendini göstermeden var olmaya devam edebilmektedir. Bir disk ortamının tamamının verileri sağlıklı saklayıp saklamadığı, yani yazılan verinin bozulmadan varlığını koruyup korumadığı basit bir yazma ve okuma denemesi neticesi kolaylıkla anlaşılabilir. Bu başlık altında her Linux işletim sisteminde bulunan dd aracını kullanarak diskte bir okuma taraması yapacak, daha amaca yönelik olan fakat diske yazma işlemi yaptığı için dikkatli kullanılması gereken badblocks aracını inceleyeceğiz. Ayrıca sabit diskin işletim sistemi olarak kabul edilen ve diskte enerji var olduğu sürece sürekli olarak çalışan S.M.A.R.T adlı firmware programının yapısını ve kullanılış amacını inceleyeceğiz. Özellikle mekanik disklerde SMART verileri dafa fazla öneme sahiptir.

dd aracı ile okuma sınaması gerçekleştirmek

Diskteki fiziksel hasarlar ise sadece basit bir okuma yapılarak anlaşılabilir. Bunun için “Terminal Ortamında SD Kartı Yedeklemek” adlı başlıkta detaylı olarak anlatıldığı üzere; dd aracı ile diskin tüm sektörleri okutulabilir. Fiziksel hasar olan bir sektöre gelindiğinde dd hata okuma hatası verecektir. Bunun için aşağıdaki gibi bir komut verilebilir.

Yukarıdaki komut ile /dev/sda diskinin 0. Sektöründen başlanarak 1 megabayt’lık bloklar halinde toplam 102400 MB veri okunarak /dev/null aygıtına gönderilmiştir. Toplamda diskten 100GB’lık veri okuması yapılır. Diskin boyutuna göre bu rakam değiştirilebilir. /dev/null aygıtı gelen her veriyi kabul eden ardından imha eden Linux’a özel bir aygıt dosyasıdır. Genellikle standart çıkışa (stdout) yansıyan çıktıların ekrana veya log’lara yansımadan yok edilmesi için kullanılır.

badblocks aracı ile yazma/okuma sınaması gerçekleştirmek

Linux’ta hasarlı sektörleri taramak için geliştirilmiş bir araç olan badblock da kullanışlı olabilir. badblock’u kurup aşağıdaki gibi çalıştırabilirsiniz. -v (verbose) seçeneği ile taramanın aşamaları ve sonuçları ayrıntılı olarak listelenecektir. Taranacak diski veya disk bölümünü belirlemek için mevcut disk bölümlerinin aygıt isimlerini lsblk aracı ile listeletebilirsiniz.

Daha önce de bahsettiğim gibi en doğru sonucu verecek tarama yöntemi yazma ve okumadır. Eğer diskin herhangi bir sektörüne yazılan değer geri okunabiliyorsa disk sektörlerinin sağlıklı çalıştığı söylenebilir. badblocks aracı bunun için de -w seçeneğine sahiptir. Taramayı başlatmadan önce diskteki verilerin yedeklerinin alınması gerekir keza diske veri yazılacağından veriler tamamen yok olacaktır. Sistem tarafından kullanımda olan bir diske yazma/okuma taraması yapılamayacağından öncesinde bağlı olan diskleri ayırmak gerekir.

badblocks sırasıyla 0xaa (10101010), 0x55 (01010101), 0xff (11111111) ve 0x00 (00000000) değerlerini diske yazarak aynı değeri okumaya çalışır. Aynı değer okunamazsa ilgili sektör bad-sector (bozuk sektör) olarak raporlanır. -s (progress bar) seçeneği her bir testin tamamlanma yüzdesinin ekranda gösterilmesini sağlar.

smartctl aracı ile dâhili kondisyon sınaması gerçekleştirmek

SATA, IDE ve SCSI arabirimli (HDD/SSD) sabit disklerin mikrodenetleyicisi üzerinde S.M.A.R.T[1] (Self-Monitoring, Analysis, and Reporting Technology) adı verilen bir firmware programı yüklüdür ve diskte enerji olduğu sürece bağımsız olarak çalışır. S.M.A.R.T sabit diskin kendi kendini izleme, analiz ve raporlama görevlerini yerine getirir. Bu program diskin mikrodenetleyicisine üretim sırasında yüklenir ve disk enerjilendiği andan itibaren sürekli çalışarak diskin kondisyonunu takip eder ve raporlar üretir.

S.M.A.R.T programı diskin okuma/yazma kafasının mekanik tepkileri, disk motorunun hız ivmeleri, okuma/yazma hataları (bad sector) ve süreleri ile diskin iç sıcaklığı gibi birçok parametreyi sürekli izler ve kendi dahili belleğine kaydeder. Bilgisayarın işletim sisteminden bağımsızdır, çeşitli araçlar ile sorgulanabilir ve komut verilebilir.

Diskteki herhangi bir sorun henüz işletim sistemine yansımamış olsa bile S.M.A.R.T’ın sürekli olarak izlediği ve belleğinde tuttuğu kayıtlar (log’lar) diskin genel kondisyonunu hakkında değerli bilgiler elde etmek için kullanılabilir. Dilediğiniz zaman diskin kondisyon durumunu öğrenmek için disk üzerinde çeşitli testlerin çalıştırılmasını ve raporlanmasını sağlayabilir mevcut günlük kayıtlarını okuyabilirsiniz.  Eski ya da yıpranmış olduğunu düşündüğüğünüz veya ikinci el olarak satın aldığınız bir sabit diskin SMART verilerini incelemek verilerinizin ne kadar güvenli bir ortamda tutulacağını tahmin etmek açısından da çok kıymetlidir. Her nekadar S.M.A.R.T önemli veriler sağlıyor olsa da SMART tarafından bir raporun bildirilmemiş olması diskin çalışmasını engelleyen donanımsal bir hatayla her an karşılaşmayacağız anlamını da gelmez. S.M.A.R.T’ın sunduğu veriler böyle bir garanti sağlamaz.

 Diskin S.M.A.R.T verilerini sorgulamak ve raporlamak için kullanacağımız araç smartmontools adlı paket içerisinde yer almaktadır. Paketi aşağıdaki gibi yükledikten sonra smartctl aracına –scan seçeneğini ekleyerek sisteme bağlı tüm S.M.A.R.T destekli disklerin listelenmesini sağlayalım.

smartctl diskin genel sağlık durumunu görüntülemek için -H (health) seçeneğine sahiptir. 24 saat içinde arızalanma ihtimali olan bir diskte sınama sonucu FAILED olarak raporlanır. -H seçeneği SMART tarafından tutulan disk seçeneklerini ve günlükleri kullanarak tahmini bir sağlık raporu verir.

Eğer bu sınama başarısız (FAIL) olarak sonuçlandıysa disk hâlihazırda arızalıdır veya kısa bir zaman içerisinde arızalanacak demektir. Bu durumda diskteki verilerin acilen yedeklenmesi gereklidir.

Diskin mevcut durumu hakkında daha detaylı bilgiler elde etmek ve SMART’ın tuttuğu günlükleri görüntülemek için -a (all) seçeneği kullanılabilir. -a seçeneğinin listelediği bilgiler arasında diskin desteklediği yetenekler (capabilities), disk sağlığını takip etmek için kullandığı öznitelikler (attributes) ve firmware yazılımının (SMART) disk taramaları sırasında karşılaştığı sorunlara ait günlükler yer alır. Bu bilgiler ışığında ileride arızalanma riski olan diskleri teşhis etmek mümkün olabilir.

Yukarıdaki SMART çıktısı uzunluğu nedeniyle kırpılmıştır ve devam eden paragraflarda ayrı olarak açıklanmıştır. Çıktıda cihazın genel bilgileri (-i seçeneği ile de listelenebilir) yanında, aynı türden iki hata ile karşılaşıldığı ve ilk hatanın 133 saatlik kesintisiz çalışma sırasında CRC kontrol değerinin teyit edilememesinden kaynaklandığı raporlanmıştır. Uzun süreli çalışmaya bağlı olarak ısınan disklerde bu tarz veri bozulmaları olabilir. Yine de badblocks ile yazma/okuma taraması ya da ileriki başlıklarda anlatıldığı gibi SMART taramalarını gerçekleştirmekte fayda vardır. -a seçeneğini kullanarak SMART bilgilerini listelemek istediğinizde aşağıdaki gibi bir mesajla karşılaşıyorsanız diskin SMART programı devre dışı bırakılmış demektir (-s off ile devre dışı bırakılabilir). Bir disk açısından bu hiç de iyi bir şey değildir.

smartctl’in -x seçeneği, tüm standart SMART bilgileri yanında disk üreticisinin o modele özgü tanımladığı sınama seçeneklerini ve sonuçlarını da listeler. Üreticiye özel seçenekler içinde diskin karşılaştığı en yüksek sıcaklık (Max Temperature), diskin çalışma saati (Power On Hours), plaka dönüş başlatma denemesi sayısı (Spin_Retry_Count) gibi teknik veriler yer alır.

diskin SMART yeteneklerini ve özniteliklerini listelemek

smartctl aracı hem standart hem de disk üreticisine özel SMART yeteneklerini ve özniteliklerini listelemek için –capabilities ve –attributes seçeneklerine sahiptir. –capabilities seçeneği ile disk üzerinde çalıştırılabilecek test rutinleri ve tahmini tamamlanma süreleri ve diğer üretici tanımlı işlevler hakkında gerçekleştirilebilecek yetenekler listelenir. attributes ile de SMART tarafından takip edilen disk özniteliklerinin değerleri listelenir. Bu değerler diskin ömrü ve mevcut kondisyon durumu hakkında önceden bilgi sağlayabilir. Disk yeteneklerini listelemek için aşağıdaki komut çalıştırılabilir:

Komut listelediği belli başlı işlevler şunlardır:

  • Self-test execution status: Hâlihazırda devam eden bir SMART sınaması varsa işlemin kalan yüzdesini gösterir. Eğer yoksa tarama sonucunda karşılaşılan hatalar bu satırda listelenir.
  • Offline data collection status: Offline kısa taramanın etkileştirilip etkinleştirilmediğini,  etkinleştirilmiş ise diskin SMART yazılımının 4 saatte bir gerçekleştirdiği tarama sonuçlarını görüntüler.
  • Short self-test routine recommended polling time: Bir short sınamasının tahmini olarak ne kadar sürede tamamlanacağını dakika cinsinden haber verir.
  • Extended self-test routine recommended polling time: long (extended) disk sınamasının tahmini olarak ne kadar sürede tamamlanacağını dakika cinsinden haber verir.
  • Error logging capability: Sınamalar sırasında tespit edilen disk hatalarının disk mikrodenetleyici belleğinde kayıt altına alınıp alınamayacağını belirtir. Başka bir ifadeyle kayıt altına alma özelliğinin desteklenip desteklenmediğini belirtir.
  • Offline data collection capabilities: Diskin SMART yazılımının ne tür işlevlerini desteklediğini görüntüler. Bunlar arasında, arka planda otomatik veri toplama ve disk yüzeyi taraması gibi işlevler yer alır.

Diskin smart yazılımının takip ettiği öznitelikleri[2] (attributes) listelemek için aşağıdaki komut çalıştırılabilir:

Attributes listesinde her bir öznitelik için sunulan sütunların anlamları şunlardır:

  • ID: Özniteliğin kimlik numarasıdır. Çeşitli program çıktılarında veya üretici dokümanlarında sunulan öznitelikleri karşılaştırmak için kimlik numarasını kullanmak daha doğrudur. Örneğin farklı isimler ile ifade edilen öznitelikler aynı kimlik numarasına sahip olabilir. Bu gibi durumlarda aynı SMART özniteliğinden bahsediliyor demektir.
  • ATTRIBUTE_NAME: Smart özniteliğinin adıdır.
  • VALUE: Özniteliğin normalleştirilmiş değeridir. Normalleştirmeden kasıt her üreticinin kendi disk teknoloji ve üretim kalite standartlarını dikkate alarak belirlediği değerleri farklı üreticilerinkiler ile kıyaslayabilmek için sabit bir aralık ile eşleştirmesidir. Buna ölçüm değerlerinin normalleştirilmesi adı verilir.  Bu sütunun değer aralığı çoğunlukla 0-100 aralığında olmakla beraber bazı öznitelikler için 0-255 aralığında da olabilir. Diğer taraftan, üreticiler arasında ham (RAW) değerlerin normalleştirilmesi konusunda da ortak bir standart yoktur. Normalleştirme işlemi doğrusal olabileceği gibi üstel ya da logaritmik de yapılmış olabilir. Yüksek değerler (bazı üreticilerin sıcaklık özellikleri hariç) her zaman daha iyi sonuçları ifade eder. Normalleştirilmiş olan bu değerler üreticinin ilgili diskin öznitelikleri için belirlediği ve uzun süreli kullanım koşullarında test ederek ulaştığı referans değerleri baz alır. Bu nedenle her üreticinin aynı öznitelik için belirlediği ham değer aynı olmayacaktır. Aynı olmayan bu değerleri karşılaştırabilmek için normalleştirilmeleri gerekir. Örneğin bir disk üreticisi yeniden ayrılan 1000 sektör için 10 normalleştirilmiş değerini sunabilirken bir diğer üretici 15 değerini sunabilir. Bu yaklaşım diğer normalleştirilmiş öznitelikler için de geçerlidir. TYPE sütununda Pre-fail yazan bir özniteliğin normalleştirilmiş değeri (VALUE), THRES’dan küçük veya eşit ise bu bir sorun olduğuna ve diskin ileride arızalanacağına işaret eder. Yine VALUE değerinin THRES’dan küçük olduğu durumlarda TYPE sütununda Old_age varsa, diskin üreticinin öngördüğü oranda yıpranmış olduğu anlaşılır ve bu da çoğu zaman bir soruna işaret etmez.
  • WHEN_FAILED: Bir arızanın kesin olarak var olup olmadığını belirtir. Kesinleşmiş bir sorun var ise bu sütunda FAILING_NOW ifadesi görüntülenir. Sütunda değer olarak “-” işareti varsa ilgili özniteliğin soruna işaret etmediği, daha önce de bu öznitelikle ilgili bir sorunla karşılaşılmadığı anlamı çıkar. Eğer WORST değeri THRES’den küçük veya eşitse, bu sütunda “in_the_past” bilgisi görüntülenerek, ilgili sorunla geçmişte en az bir kez karşılaşıldığı belirtilir.
  • WORST: VALUE sütununda olduğu gibi normalleştirilmiş bir değerdir ve değerini yansıttığı özniteliğin SMART programının çalıştığı süre içinde karşılaştığı en kötü durumunu ifade eder.
  • THRESH: Eşik değeri de (Threshold) normalleştirilmiş bir değerdir ve iyi durum ile kötü durum arasındaki sınır değeri ifade eder. VALUE değeri THRES değerinden ne kadar büyükse ilgili öznitelik açısından diskin durumu o kadar iyi demektir. VALUE, THRES’ın altına düşerse sorunlar baş göstermeye başlayacak demektir. Tam bir sonuca varabilmek için VALUE, TYPE ve WHEN_FAILED sütunlarını birlikte yorumlamak gerekir.
  • TYPE: Özniteliğin türünü ifade eder. Aşınma ve yıpranma miktarını öngören öznitelikler de Old-age (yaşlı-yıpranma), yaklaşan olası bir arızayı göstermek için de Pre-fail (ön-hata) değeri kullanılır. Pre-fail öznitelikleri, üretici tarafından öngörülen disk ömrünü takip etmek için kullanılır. Pre-fail tek başına diskin arızalı olduğu anlamını taşımaz, bunun için ilgili özniteliğin VALUE değerinin THRES’den küçük veya eşit olması gerekir.
  • RAW_VALUE: Değerin normalleştirilmemiş ham halidir ve çoğu durumda bir karara varmak için kullanılabilecek bir değer sunmaz. Bunun nedeni, diskin sağlığı konusunda karara varmak için her diskin fiziksel dayanıklılık özelliklerine göre değişen eşiklere sahip olmasıdır.

Komutun çıktısında listelenen SMART özniteliklerinden en önemlileri ve kodları şöyledir:

  • Raw Read Error Rate (1): Diskin içinde bulunduğu enerji oturumunda (son enerjilenmesinden bu yana) karşılaştığı okuma hatalarının sayısını tutar. Bu hatalar CRC kontrol bilgisi ile sağlama yapılamadığında oluşur.
  • Spin Up Time (3): Disk plakasının tam devir hızına ulaşması için geçen süreyi verir. Milisaniye veya saniye cinsinden olabilir.
  • Reallocated Sectors Count (5): Okunamayıp (bad sector) diskin servis alanındaki yedek sektör ile ilişkilendirilmesi yapılan sektörlerin sayısı.
  • Power On Hours (9): Diskin toplam çalışma süresini saat olarak verir. 9 numaralı bu SMART özniteliği, bazı marka disklerde dakika ve saniye cinsinden de tutulabilir.
  • Spin Retry Count (10): Diskin olağan dönüş devir hızına ulaştırmak için fazladan gerçekleştirilen deneme sayısı. Bu deneme sayısı mekanik sorunlara işaret edebilir.
  • G-Sense Error Rate (191): Disk kartının üzerinde yer alan G-Sensörünün kaydettiği harici şok ve titreşimlerin sayısını takip eden özniteliktir.
  • Power-Off Retract Count (192): Diskin kapalı duruma geçme sayısını tutar Power Cycle Count ile beraber değerlendirildiğinde iki değerin eşit ya da yakın olması beklenir.
  • Load/Unload Cycle Count (193): Okuma/yazma kafasının kaç kez park konumuna geçtiğini söyler. Özellikle 2.5 inçlik taşınabilir sabit diskler, bir sarsıntı anında kafanın disk yüzeyine çarpmaması ve enerji tasarrufu için sıklıkla park konumuna geçerler. Sıklıkla park konumuna geçmek genel disk başarımını düşürür. Disk üreticileri bu özelliği özelleştirmek için araçlar veya firmware’ler yayınlayabilir.
  • Hardware ECC Recovered (195): Donanımsal hata düzeltme sayısı diskin elektro-mekanik sorunlarına işaret edebilir.
  • Reallocation Event Count (196): Başarılı ve başarısız şekilde yeniden ayrılan bozuk sektörlerin miktarını ifade eden özniteliktir.
  • Current Pending Sector Count (197): Yeniden ayrılmak için bekleyen bozuk sektörlerin miktarını ifade eden özniteliktir.
  • Offline Uncorrectable (198): Hatalı ve düzeltilemeyen sektör okuma yazma işlemlerinin miktarını ifade eder.
  • Disk_Shift (220): Okuma/yazma kafasının konumunu referans alarak disk plakasının dönme merkezinden kayıp kaymadığını takip eden özniteliktir. Plakanın dönme merkezinden kayması, disk mekanik bir şok aldığında veya aşırı ısındığında gerçekleşebilir.
  • Load-in Time (226): Okuma/yazma kafasının park konumundan disk üzerindeki konumuna geçiş süresini sağlar. Uzun değerler mekanik bir soruna işaret edebilir.

Smart öznitelikleri okunurken her zaman normalleştirilmiş değerler dikkate alınmalıdır. Ham (RAW) değerler, disk hakkında doğru karar vermek için yeterli olmayabilir. Çünkü her üreticinin kullandığı teknoloji ve üretim standardına göre belirlediği aralıklar değişkenlik gösterir.

offline sınama gerçekleştirmek

Sabit disk işletim sistemi tarafından kullanılmadığı anlarda disk hasarlarına karşı kendi kendini otomatik olarak tarayarak kendi sağlığı hakkında veri toplayabilir. Bu veri toplama ve tarama işlemine offline sınama adı verilir. SMART uyumlu disklerde offline taramaya kısa (short) tarama adı da verilir. Kısa (short) veri toplama ya da tarama işi, diskin meşgul olmadığı zamanlarda 4 saatte bir gerçekleştirilir. Diskin bu tarama işlemini ne kadar sürede tamamlayabileceği ve offline sınama kapsamında tarayabileceği disk seçenekleri listelemek için -c (calculate) seçeneğini kullanabiliriz:

Yukarıdaki komutun ekran çıktısında Short test ve Extended self test sütunlarında, sınamaların tahmini tamamlanma suresi yazar.

Diskin uygun olduğu zamanlarda (offline) kısa taramayı kendi kendine düzenli olarak gerçekleştirmesi için -o (offline) seçeneğini aşağıdaki gibi kullanabilirsiniz:

Yukarıdaki ekran çıktısında, diskte gerçekleştirilen shorf offline taramalarının sonuç kaydı yeniden eskiye doğru listelenmiştir. Bu kayıtlara göre tüm sınamalar hatasız olarak tamamlanmıştır. Daha kapsamlı bir tarama için long taraması gerçekleştirebilirsiniz.

short sınaması gerçekleştirmek

Kısa (short) ya da selftest adı verilen taramayı -t short seçeneği ile istediğiniz zaman başlatabilirsiniz. Tarama, diskin firmware yazılımına gönderilecek bir komut ile başlatılacak ve -c çıktısında belirtilen sürede tamamlanacaktır.

Bu tarama sorunlu diskleri hızlı bir şekilde tespit etmek için kullanışlıdır ve temel olarak 3 aşamada hızlı bir tarama gerçekleştirir.

  • 1. Elektriksel özellikler: Diskin üzerindeki mikrodenetleyici kapsamı daha çok üretici tarafından belirlenen elektronik bileşenleri sınar. Bunlar arasında diskin üzerindeki tampon bellek (RAM), okuma/yazma devreleri ve okuma/yazma kafasını kontrol eden elektronik devreler sayılabilir. Bu aşamada gerçekleştirilen sınamalar üreticinin disk tasarımına dâhil ettiği sınama özelliklerini kapsadığı için çok daha fazla olabilir.
  • 2. Mekanik özellikler: Diskin okuma/yazma kafasının konumlanma başarımı ve disk dönüş hızı gibi tamamen üreticiye özel sınamaların gerçekleştirildiği aşamadır.
  • 3. Okuma ve doğrulama: Disk üreticisi tarafından ayrılan bir disk alanından okuma yaparak okuduğu veriyi doğrular. Bu doğrulama diskin kullanıcı verilerinin saklandığı alanında yapılmaz.

Short sınamasının tamamlanma yüzdesini ve geçmiş offline tarama sonuçlarını, sudo smartctl -a /dev/sda çıktısında “Self-test execution status: ” satırında görebilirsiniz. Mevcut taramayı iptal etmek için -X seçeneğini kullanabilirsiniz. En son tarama sonuçlarını ise önceki başlıkta olduğu gibi -l selftest seçeneği ile listeletebilirsiniz:

Yukarıdaki örnek SMART günlük kaydında disk çalışma zamanının 5505. dakikasında gerçekleştirilen kısa tarama başarıyla tamamlanmış; fakat 16601. dakikasında gerçekleştirilen taramada 48525. sektörde okuma hatası tespit edilmiştir. Disk firmware’i okuma hatası olan sektörleri yeniden ayrılmak üzere işaretler. Bunu 18675. dakikada gerçekleştirilen taramada 48525. sektörden sonra gelen 52526. sektörde tespit edilen okuma hatasından anlıyoruz. Benzer şekilde, bu sektör de bad sector olarak işaretlenmiştir ve daha sonra diskin sağlam bir alanı (spare area) ile ilişkilendirilmiştir. Ancak disk 19675. dakikada gerçekleştirilen long (extended) sınamasından 69299. sektördeki okuma hatası nedeniyle başarıyla geçememiştir. Uzun kullanım süresine sahip disklerde bu tarz sektör bozulmaları olması olağandır. Bu diskin kullanılmaması gerektiğine tam olarak karar vermek için SMART özelliklerinin (attributes) değerleri yorumlanmalı ve belli aralıklarla short ve long taramaları gerçekleştirilmelidir.

Bozuk sektör olarak işaretlenen alanların diskin servis alanı da adı verilen yedek sektörler ile ilişkilendirilmesi gerekir. Bu yapıldığında diski kullanan yazılım/işletim sistemi bozuk sektörlere aynı sektör adresini kullanarak erişebilir. Bozuk sektörlerin sağlam sektörler ile eşleştirme işlemi disk donanımı tarafından fiziksel olarak gerçekleştirilir ve ilgili eşleştirme tablosu yeni diskin servis alanı olarak ayrılmış kısmında saklanır. Okuma hatası nedeniyle işaretlenen bir sektörün yedek sektör (servis alanında bu amaçla ayrılmış boş sektörler) ile eşleştirilmesi ilk yazma işlemi sırasında gerçekleştirilir. Bu yazma işlemini 19675. sektör için elle gerçekleştirmek isterseniz dd aracından faydalanabilirsiniz. Aşağıdaki komut /dev/sda aygıtının 19675. Sektörünü okuyarak yine aynı sektöre yazmaktadır:

İlk komut ile dosya sisteminin kullandığı blok boyutu (cluster boyutu) öğrenilerek dd komutunun block size (bs) seçeneğini geçilmiştir. Komut çalıştıktan sonra kopyalamanın başarıyla gerçekleştiği gözükmektedir. Bu işlemden sonra smartctl aracının -A ile listelenen SMART özellikleri listesindeki Current Pending Sector Count değeri 1 azalarak Reallocated Sectors Count değeri 1 artmıştır.

long (extended) sınaması gerçekleştirmek

Uzun (long) SMART taraması diskin tüm sektörlerini tarayarak, diskin sağlık durumu hakkında daha kesin bir bilgi sunar. Bu bilgiyi short taramasının sonuçlarını doğrulamak için kullanmak akıllıcadır. Bu sınamanın süresi diskin kapasitesine göre değişir. Raspberry Pi takılan harici diskleri otomatik olarak bağladığı için taramaya başlamadan önce ayırmak faydalı olur:

Yukarıdaki ekran çıktısında taramanın devam ettiği ve %10’unun tamamlandığı (90% remaining) ve daha önce bitirilen testlerden son ikisinin -X seçeneği ile kullanıcı tarafından sonlandırıldığı yazmaktadır.

Veri Kablosu ve Güç Besleme Adaptörüne Dikkat !

Smartctl aracı, işletim sisteminden bağımsız olarak diskin kendi firmware aracılığıyla diskin kendi içinde taramalar çalıştırmasını sağlar. Yani diskin kendi kendini denetlemesi için komutlar gönderir, diskin mikrodenetleyicisinde çalışan S.M.A.R.T programı da ilgili tarama prosedürlerini başlatır ve çıktılarını dahili belleğine kaydeder. Disk kendi kendinde bir hata tespit edemediği halde diskten okuma/yazma hataları alabilirsiniz.. Böyle durumlarda sorunu diskin dışındaki bileşenlerde aramak gerekir.

Harici olarak olarak bağlanan disklerde sık karşılaşılan sorunlar arasında USB kablolar başta gelir. Kablo konnektörünün yıpranmış ya da korozyona uğramış olması, kullanılan USB portların temas sorunları ve veri kablosunun iletkenlerinin yeterince kalın olmaması veya kopmuş olması gibi kablo kaynaklı sorunlardan bahsedilebilir. Diğer sık karşılaşılan sorun ise diskin besleme adaptörü ile ilgilidir. Besleme adaptörleri şehir şebekesi (~220v) gerilimini harici diskin çalışabileceği D.C gerilime (9-12v) çevirirerek regüle ederler. Bu çevirme işlemi disk çalıştığı sürece devam eder ve diske okuma/yazma gerçekleştirildiği sırada daha fazla akım ihtiyacı olacağından normalde çalıştığından daha zor koşullarda regülasyon yapar. DC adaptörlerin tamamında kullanılmakta olan elektrolitik kondansatörler ömürlü bileşenlerdir ve yıllar içerisinden özelliğini yitirerek görevini iyi yapamaz duruma gelebilirler. Diskin manyetik malzemesinde sorun olmamasına rağmen yıpranmış bir adaptör karşılanamayan akım ihtiyacından ötürü okuma/yazma işlemleri sırasında başarısızlığa neden olabilir. Diskinizi sağlam ve kaliteli birer kablo ve adaptör ile test etmeniz bu tür sorunları teşhis etmenizi sağlayabilir.

grafik ortamda smart taraması gerçekleştirmek

Eğer grafik masaüstü kurulumuna sahipseniz smartctl aracının görsel versiyonu olan GSmartControl programını da kullanabilirsiniz. Program komut satırı aracı olan smartctl ile gerçekleştirilebilen hemen tüm temel işlevleri yerine getirebilen görsel bir arayüze sahiptir. Programı kurmak için önce paket listesini güncelleyelim:

Programın ekran görüntüsü aşağıdaki gibidir. Identy sekmesinde sabit diskin marka/model bilgileri, Attributes sekmesinde firmware tarafından disk içinde izlemesi gerçekleştirilen teknik özellikler, Capabilites sekmesinde diskin donanımsal ve yazılımsal özellikleri listelenir. Error Log sekmesinde taramalar sırasında oluşan hataların detaylı bir listesi yer alır. Self-test Logs sekmesinde offline veya kullanıcı tarafından başlatılan sınamaların sonuçları listelenir. Perform Tests sekmesinde kısa (short) ve gelişmiş (extended/long) taramaları başlatmak için komut listesi yer alır.


GSmartControl programınn Self-Tests sekmesi


[1] S.M.A.R.T – https://www.tankado.com/s-m-a-r-t-teknolojisi-ne-anlama-geliyor/

[2] SMART özellik listesi: http://tiny.cc/smart_properties

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.