smartctl ve smartd ile Disk Sağlığı İzleme | INTROSERV
EUR
european

EUR

usa

USD

Turkish Tr
Ex. VAT Ex. VAT 0%

smartctl ve smartd ile Disk Sağlığı İzleme

Giriş

smartctl, modern depolama sürücülerinde uygulanan S.M.A.R.T. (Kendi Kendini İzleme, Analiz ve Raporlama Teknolojisi) teknolojisi ile çalışmak üzere tasarlanmış smartmontools paketinden bir konsol aracıdır.

Kullanım durumları:

  • barındırma şirketlerinin sunucuları;
  • VPS/VDS düğümleri;
  • özel sunucular;
  • dosya sunucuları;
  • yedekleme sistemleri;
  • kurumsal altyapılar.

Çözdüğü görevler:

  • disk bozulmasının erken tespiti;
  • sürücü arızalarının tahmini;
  • veri kaybı riskinin azaltılması;
  • HDD, SSD, NVMe sağlık izleme otomasyonu;
  • disk alt sistemindeki fiziksel sorunların analizi.

Info

Proaktif SMART izleme, gerçek bir disk arızasından önce bir sorunu tanımlamanıza olanak tanır, bu da üretim ortamları için kritik öneme sahiptir.

Gereksinimler ve ön koşullar

Desteklenen işletim sistemleri ve sürümleri:

Linux:

  • Debian 10+
  • Ubuntu 18.04+
  • RHEL / AlmaLinux / Rocky Linux 8+
  • CentOS 7 (destekleniyor, ancak güncel değil)
  • FreeBSD 12+

Windows (smartmontools aracılığıyla, sınırlı kullanım)

Aşağıdaki örnekler Linux için sağlanmıştır.

Gerekli yazılım ve paketler:

  • smartmontools paketi
  • /dev/sdX, /dev/nvmeX erişimi
  • kurulu systemd (smartd için)

Erişim hakları:

  • root ayrıcalıkları gereklidir
  • veya sudo aracılığıyla erişim

Ön kontrol

Sistemdeki disklerin listesini görüntüleme:

lsblk -d -o NAME,MODEL

Genel Bakış ve Temel Kavramlar

Anahtar terimler

  • SMART – yerleşik disk kendi kendine teşhis sistemi
  • Öznitelikler – durum öznitelikleri (Reallocated_Sector_Ct, Pending_Sectors, vb.)
  • Kendi kendine test – yerleşik sürücü testleri
  • smartctl – SMART yönetimi için CLI aracı
  • smartd – otomatik izleme daemoni

Nasıl çalışır

  1. Disk bağımsız olarak istatistik toplar
  2. smartctl bu verileri okur
  3. smartd eşik değerleri ve olayları analiz eder
  4. Sorunlar meydana geldiğinde bildirimler gönderilir

İş akışı mantığı

Disk > SMART öznitelikleri > smartctl > smartd > günlük / e-posta / izleme

smartctl'nin Temel Kurulumu ve Kullanımı

smartmontools aracının kurulumu

SMART ile çalışmak, smartctl (disklerle manuel çalışma) ve smartd (arka plan izleme daemoni) araçlarını içeren smartmontools paketi olmadan mümkün değildir.

Kurulum, dağıtımın standart paket yöneticisi araçları kullanılarak gerçekleştirilir.

Debian / Ubuntu

sudo apt update

sudo apt install smartmontools

RHEL / AlmaLinux / Rocky Linux

sudo dnf install smartmontools

Kurulumdan sonra, araçlar sistemde kullanılabilir hale gelir ve ek bir başlatma gerektirmeden kullanıma hazırdır.

smartctl'nin sürümünü ve kullanılabilirliğini kontrol etme

İlk adım olarak, aracın doğru bir şekilde kurulduğunu ve sistemde mevcut olduğunu doğrulamak önerilir:

smartctl --version

Komut, paket sürümünü ve desteklenen teknolojilerin bir listesini çıktılar.

Bu, şunları yapmanıza olanak tanır:

  • güncel bir sürümün kullanıldığından emin olun;
  • NVMe, RAID ve diğer cihaz türlerinin desteğini kontrol edin.

Belirli bir diskte SMART desteğini kontrol etme

Sonraki adım, sürücünün kendisinin SMART teknolojisini destekleyip desteklemediğini ve cihaz düzeyinde etkin olup olmadığını kontrol etmektir.

sudo smartctl -i /dev/sda

Doğru çıktının örneği:

SMART support is: Available - device has SMART capability. SMART support is: Enabled

Available – disk fiziksel olarak SMART'ı destekliyor;
Enabled – SMART veri toplama etkinleştirilmiş ve okumaya hazır.

SMART destekleniyor ancak devre dışı bırakılmışsa, bu genellikle yeni veya daha önce kullanılmamış disklerde görülür. Bu durumda, manuel olarak etkinleştirilmesi gerekir:

sudo smartctl -s on /dev/sda

Bundan sonra, SMART'ın etkinleştirildiğinden emin olmak için smartctl -i komutunu yeniden çalıştırmanız önerilir.

SMART özniteliklerini görüntüleme ve başlangıç sağlık değerlendirmesi

SMART'ın ana pratik değeri, diskin yüzeyi, mekanikleri ve elektroniğinin durumunu yansıtan sayısal değerler olan özniteliklerinde yatar.

Öznitelikleri görüntülemek için şu komutu kullanın:

sudo smartctl -A /dev/sda

Çıktı, mevcut değerleri ve geçmişi ile özniteliklerin bir tablosunu içerir. Öncelikle aşağıdaki göstergelere dikkat edilmelidir:

Çıktıdaki anahtar alanlar:

  • VALUE (Mevcut Değer): Özniteliğin normalleştirilmiş değeri (genellikle 1'den 100'e kadar, 100 ideal). VALUE ≤ THRESH ise disk hatalı kabul edilir.
  • WORST (En Kötü Değer): Diskin çalışması sırasında ulaşılan en kötü değer.
  • THRESH (Eşik): VALUE için minimum izin verilen değer. Eşiğin aşılması (VALUE ≤ THRESH) kritik bir durumun işaretidir.
  • RAW_VALUE: Özniteliğin "ham", normalleştirilmemiş değeri. Aşınmayı değerlendirmek ve olayları saymak için analiz edilmesi gereken budur.

HDD (geleneksel sabit diskler) için anahtar öznitelikler:

  • Reallocated_Sector_Ct: Artış, fiziksel yüzey bozulmasını gösterir.
  • Current_Pending_Sector (Yeniden tahsis bekleyen sektörler): Kararsız sektörler. Tek bir sıfır olmayan değer bile bir uyarı işaretidir.
  • Offline_Uncorrectable (Düzeltilemeyen hatalar): Okunamayan sektörler.
  • Power_On_Hours: Diskin toplam çalışma süresi.

SSD'ler için anahtar öznitelikler:

  • Retired_Block_Count: HDD'ler için Reallocated_Sector_Ct'nin eşdeğeri. Hizmet dışı bırakılan blokların sayısını gösterir. VALUE=100 ile düşük bir değer bile normal olabilir.
  • Reallocated_Event_Count: Yeniden tahsis olaylarının sayısı.
  • SSD_Life_Left veya Kullanılan Yüzde/Medya Aşınma Göstergesi: Kalan ömrün (veya aşınmanın) yüzdesi. Düşük bir değer (örneğin, <10%) yaklaşan bir arızanın işaretidir.
  • Wear_Range_Delta: Bellek hücreleri arasında aşınmanın eşitliğinin bir göstergesi.
  • Power_On_Hours_and_Msec: Toplam çalışma süresi.
  • Lifetime_Writes_GiB / Lifetime_Reads_GiB (Öznitelikler 241, 242): Yazılan/okunan toplam veri hacmi.

NVMe için anahtar öznitelikler (smartctl -a /dev/nvme0 aracılığıyla):

  • Kullanılan Yüzde: Yazma dayanıklılığının tüketilen yüzdesi. Aşınmanın birincil göstergesi.
  • Medya ve Veri Bütünlüğü Hataları: Veri bütünlüğü hataları.
  • Kritik Uyarı: Kritik uyarı bayrakları.
  • Sıcaklık: Mevcut sıcaklık.

Bu aşamada, yönetici diskin durumu hakkında genel bir anlayış kazanır ve sorunların belirgin işaretlerini tanımlayabilir.

Gelişmiş yapılandırma ve pratik senaryolar

SMART, işletim sistemi müdahalesi olmadan sürücü tarafından gerçekleştirilen yerleşik kendi kendine testleri destekler.

Kısa test, anahtar bileşenlerin hızlı bir şekilde kontrol edilmesi için tasarlanmıştır:

sudo smartctl -t short /dev/sda

Uzun test, tam bir yüzey taraması gerçekleştirir ve önemli ölçüde daha fazla zaman alır:

sudo smartctl -t long /dev/sda

Test tamamlandıktan sonra sonuçların kontrol edilmesi gerekir:

sudo smartctl -l selftest /dev/sda

Çıktı şunları belirtir:

  • testin türü;
  • tamamlama durumu;
  • hataların varlığı veya yokluğu.

Başarısız bir test, disk değişimi için doğrudan bir neden teşkil eder.

RAID denetleyicileri ile çalışma

Donanım RAID denetleyicileri genellikle SMART verilerini sistemden gizler. Bu gibi durumlarda, cihaz türü açıkça belirtilmelidir.

Bir LSI denetleyicisi için örnek:

smartctl -a -d megaraid,0 /dev/sda

Burada:

  • -a – mevcut tüm SMART bilgilerini (öznitelikler, günlükler, hatalar, genel sağlık değerlendirmesi) çıktılar.
  • -d – cihaz türünü belirtmek için anahtar.
  • megaraid – SMART sürücüsüne diskin bir LSI/Broadcom denetleyicisinin arkasında olduğunu (genellikle sunucularda kullanılır) bildirir.
  • 0 – RAID dizisindeki fiziksel disk numarası (PD, Fiziksel Sürücü). Bu sda değil, denetleyici tarafından atanan benzersiz bir kimliktir. Denetleyici yönetim aracı (örneğin, storcli veya MegaCLI) kullanılarak bulunabilir.
  • /dev/sda – bu bağlamda, bu gerçek disk değil, sistemde RAID denetleyicisini temsil eden bir sahte cihazdır. Genellikle bu /dev/sgX (SCSI Genel) veya denetleyici bir sanal disk oluşturduysa sadece /dev/sda'dır.

Cihaz türü belirtilmediğinde tipik hata:

SMART support is: Unavailable

Bu, SMART'ın mevcut olmadığı anlamına gelmez – sadece smartctl'nin fiziksel diske giden yolu otomatik olarak belirleyemediği anlamına gelir. Çözüm, -d parametresini doğru bir şekilde belirtmektir.

Tanılama ve sorun giderme

Olası arızaların işaretleri:

  • Reallocated_Sector_Ct değerinde artış;
  • sıfır olmayan Current_Pending_Sector;
  • program/silme hataları (Program_Fail_Count, Erase_Fail_Count);
  • kendi kendine test hataları;
  • I/O gecikmesinde artış;
  • sistem günlüklerinde hata mesajları.

Günlük analizi:

journalctl -u smartd

dmesg | grep -i error

Açıklama:
Pending Sectors > 0 – yüksek arıza riski;
Reallocated Sectors artıyor – ilerleyen bozulma;
Self-test FAILED – disk değiştirilmelidir.

Sorun kaynaklarını belirleme

Yanlış pozitifleri dışlamak için, SMART verilerini gerçek yük ile ilişkilendirmek önemlidir.

iostat -x 1

iotop

Diskin nereye monte edildiğini kontrol etme:

lsblk -o NAME,SERIAL,MOUNTPOINT

Denetleyicileri tanımlama:

lspci | grep -i raid

Ek metrikler:

  • 50 °C üzerinde sıcaklık;
  • CRC hatalarında artış;
  • kararsız SMART değerleri.

SMART metrikleri eşik değerlere yaklaştığında yönetici bildirimlerini yapılandırma

SMART verilerinin varlığı, altyapı güvenliğini garanti etmez. İzlemenin anahtarı, diskin durumu bozulmaya başladığında, ancak arıza henüz gerçekleşmeden önce yöneticiye zamanında bildirimde bulunmaktır.

Bildirim mekanizması şunları yapmanıza olanak tanır:

  • sürücü bozulmasını erken aşamada tespit etme;
  • disk değişimini önceden planlama;
  • acil duruşları ve veri kaybını önleme;
  • planlı bakım pencereleri içinde çalıştırma.

Smartmontools'da, smartd daemon bildirimleri göndermekten sorumludur. SMART özniteliklerindeki değişiklikleri otomatik olarak izler ve normdan sapmalara yanıt verir.

smartd bildirimlerinin çalışma prensibi

Smartd daemon, bir arka plan hizmeti olarak çalışır ve aşağıdaki görevleri yerine getirir:

  1. Disk SMART özniteliklerini periyodik olarak sorgular.
  2. Mevcut değerleri şunlarla karşılaştırır: fabrika eşikleri, önceki değerler (değişim dinamikleri).
  3. Şunları tespit eder: kritik özniteliklerin büyümesi, yeni hataların ortaya çıkması, kendi kendine test hataları.
  4. Bir bildirim oluşturur ve yöneticisine gönderir.

Bildirimlerin çalışması için gereksinimler

Yapılandırmadan önce, aşağıdakilerin sağlanması gerekir:

  • Sistemde bir MTA (Postfix, Exim, Sendmail, ssmtp) kurulu ve doğru yapılandırılmıştır;
  • Sunucu, giden postaları gönderebilecek durumdadır;
  • Bildirimleri almak için yöneticinin e-posta adresi tanımlanmıştır.

ssmtp'nin yapılandırma örneği – sistemden posta göndermek için hafif ve basit bir MTA.

Kurulum:

Debian/Ubuntu:

sudo apt update && sudo apt install ssmtp mailutils -y

RHEL:

sudo dnf install ssmtp mailx

Yapılandırma dosyasını oluşturun:

sudo nano /etc/ssmtp/ssmtp.conf

ve içeriği düzenleyin:

# Varsayılan gönderici adresi [email protected] # E-posta sağlayıcınızın SMTP sunucusu ve portu mailhub=smtp.your-domain.com:587 # Alternatif örnek: # mailhub=smtp.gmail.com:587 # Gmail için # Kimlik doğrulama bilgileri [email protected] AuthPass=your-password # Şifreleme ayarları UseSTARTTLS=YES # STARTTLS kullan UseTLS=YES # TLS kullan FromLineOverride=YES # Gönderici adresinin üzerine yazılmasına izin ver # Hostname (sunucunuzun adını belirtin) hostname=server1.your-domain.com # hostname=localhost veya sistemin gerçek hostname'ini belirtebilirsiniz

Dosyayı kaydedin ve erişim izinlerini yapılandırın:

sudo chmod 640 /etc/ssmtp/ssmtp.conf

sudo chown root:mail /etc/ssmtp/ssmtp.conf

Göndericileri yapılandırın (revaliases):

sudo nano /etc/ssmtp/revaliases

root:[email protected]:smtp.your-domain.com:587 www-data:[email protected]:smtp.your-domain.com:587

Mesaj gönderiminin başarılı olması için, sunucuda şu portların açık olması gerekir: 587 (STARTTLS şifrelemesi ile gönderim için birincil), veya 25 (standart SMTP), 465 (SSL ile güvenli SMTP), eğer yapılandırma tarafından sağlanıyorsa.

Temel posta gönderme testi:

echo "SMART test mesajı" | mail -s "SMART bildirim testi" [email protected]

Göndericiyi açıkça belirtebilirsiniz:

echo "SMART test mesajı" | mail -s "SMART bildirim testi" -a "From: [email protected]" [email protected]

Veya doğrudan ssmtp aracılığıyla:

echo "SMART test mesajı" | ssmtp [email protected]

[email protected] – mesajın gönderileceği alıcı adresi.

Info

E-posta teslim edilmezse, smartd'nin daha fazla yapılandırılması, posta teslim sorunları çözülene kadar anlamsızdır.

SMART bildirim yapılandırması şu dosyada yapılır:

/etc/smartd.conf

Basit bir çalışma yapılandırmasının örneği:

/dev/sda -a -o on -S on -m [email protected]

Parametreler:

  • /dev/sda – izlenen disk;
  • -a – tam kontrol seti;
  • -S on – özniteliklerin yeniden başlatmalar arasında kaydedilmesi etkinleştirilmiştir;
  • -o on – otomatik çevrimdışı veri toplama etkinleştirilmiştir;
  • -m – belirtilen e-posta adresine bildirimler gönderilir.

Bu noktadan itibaren, smartd arka planda disk durumunu izlemeye başlayacaktır.

Eşik değerlere yaklaşırken bildirimler

Smartd'nin anahtar özelliği, yalnızca kritik aşımı değil, öznitelik değerlerindeki değişiklikleri izlemesidir.

Pratikte bu, bir bildirimin gönderilebileceği anlamına gelir:

  • Current_Pending_Sector'un ilk ortaya çıkışında;
  • Reallocated_Sector_Ct'nin artışında, eşik henüz aşılmamış olsa bile;
  • kendi kendine test hatalarının tespitinde;
  • NVMe parametrelerinin bozulmasında.

Erken arızanın en önemli öznitelikleri:

  • Reallocated_Sector_Ct
  • Current_Pending_Sector
  • Offline_Uncorrectable
  • Medya ve Veri Bütünlüğü Hataları (NVMe)
  • Kullanılan Yüzde (SSD/NVMe)

Bu parametrelerdeki en küçük değişiklikler bile dikkat edilmesi gereken bir neden olarak kabul edilmelidir.

Bildirim kaynağı olarak kendi kendine testleri kullanma

Bilgilendiriciliği artırmak için, öznitelik izlemenin düzenli kendi kendine testlerle birleştirilmesi önerilir.

Bir programla örnek yapılandırma:

/dev/sda -a -o on -S on \ -s (S/../.././02|L/../../6/03) \ -m [email protected]

Çalışma mantığı:

  • kısa bir test günlük olarak gerçekleştirilir;
  • tam bir test haftada bir kez gerçekleştirilir;
  • herhangi bir test hatasında, yönetici bir bildirim alır.

Bildirim sıklığını ve hacmini yönetme

Aşırı uyarılardan kaçınmak için -M once parametresi kullanılır:

/dev/sda -a -m [email protected] -M once

Bu modda:

  • bir sorun ilk tespit edildiğinde bir bildirim gönderilir;
  • neden çözülene kadar sonraki mesajlar yinelenmez.

Bildirim sistemini test etmek için -M test kullanılabilir. Bu, smartd'nin mesaj gönderebildiğini doğrulamanıza olanak tanır, gerçek bir hata beklemeden.

Sonuç

Bu kılavuz kapsamında, smartctl ve smartd daemon'un proaktif disk sağlık izleme aracı olarak uygulanması ve çalıştırılmasının tam döngüsü sistematik olarak incelenmiştir. SMART'ın temel çalışma prensipleri, öznitelik analizi için pratik yöntemler, kendi kendine testlerin başlatılması ve yorumlanması, NVMe sürücüler ve RAID denetleyicileri ile çalışma özellikleri, tanılama yöntemleri ve sorunların kök nedenlerini belirleme teknikleri ele alınmıştır. Bildirimlerin yapılandırılmasına özel önem verilmiştir, bu da kritik bir arıza meydana gelmeden önce bile sürücü bozulmasını erken aşamalarda tespit etmeyi sağlar.

Doğru yapılandırılmış SMART izleme, güvenilir bir sunucu altyapısının ayrılmaz bir parçasıdır ve zorunlu bir operasyonel standart olarak kabul edilmelidir. Smartctl ve smartd'nin kullanımı, sistem yöneticisinin reaktif olay çözümünden, disk alt sisteminin bilinçli, yönetilebilir bakımına geçmesine olanak tanır, duruş, veri kaybı ve planlanmamış olayların risklerini azaltır ve merkezi izleme sistemleri ile daha fazla otomasyon ve entegrasyon için sağlam bir temel oluşturur.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA