Ana içeriğe geç
Kategoriye Dön

RAID Yapılandırma ve Disk Sağlığı İzleme: smartctl Rehberi

RAID seviyeleri (0/1/5/10) karşılaştırması, mdadm ile yazılım RAID kurulumu, smartctl ile disk sağlığı kontrolü, smartd izleme ve SMART verilerini yorumlama.

Okuma süresi: 14 dk Sunucu Yönetimi
raidmdadmsmartctldisk sağlığısmartyazılım raidlinux

İçindekiler

RAID Yapılandırma ve Disk Sağlığı İzleme: smartctl Rehberi

Sunucu ortamlarında disk arızaları kaçınılmazdır. RAID (Redundant Array of Independent Disks) teknolojisi, birden fazla diski birleştirerek veri güvenliğini ve/veya performansı artırır. Bu rehberde RAID seviyelerini, Linux'ta yazılım RAID kurulumunu ve smartctl ile disk sağlığı izlemeyi öğreneceksiniz.

RAID Seviyeleri

RAID 0 — Şeritleme (Striping)

Veri, diskler arasında eşit olarak dağıtılır.

  • Minimum disk: 2
  • Kapasite: Tüm disklerin toplamı
  • Performans: Yüksek okuma/yazma hızı
  • Güvenilirlik: Sıfır — bir disk arızalanırsa tüm veri kaybolur
  • Kullanım: Geçici veriler, yüksek performans gerektiren uygulamalar

RAID 1 — Yansıtma (Mirroring)

Veri, tüm disklere aynı anda yazılır.

  • Minimum disk: 2
  • Kapasite: En küçük diskin kapasitesi
  • Performans: Okuma hızı artar, yazma hızı aynı
  • Güvenilirlik: Yüksek — bir disk arızalanırsa diğeri devam eder
  • Kullanım: İşletim sistemi diskleri, kritik veriler

RAID 5 — Dağıtık Parite

Veri ve parite bilgisi tüm diskler arasında dağıtılır.

  • Minimum disk: 3
  • Kapasite: (N-1) × disk kapasitesi
  • Performans: İyi okuma, orta yazma
  • Güvenilirlik: 1 disk arızasına dayanır
  • Kullanım: Dosya sunucuları, genel amaçlı depolama

RAID 10 — Yansıtma + Şeritleme

RAID 1 ve RAID 0'ın kombinasyonu.

  • Minimum disk: 4
  • Kapasite: Toplam kapasitenin yarısı
  • Performans: Çok yüksek
  • Güvenilirlik: Her çiftten 1 disk arızasına dayanır
  • Kullanım: Veritabanları, yüksek performans + güvenilirlik

RAID Karşılaştırma Tablosu

ÖzellikRAID 0RAID 1RAID 5RAID 10
Min. disk2234
Kapasite%100%50%(N-1)/N%50
Okuma hızıÇok yüksekYüksekYüksekÇok yüksek
Yazma hızıÇok yüksekNormalOrtaYüksek
Arıza toleransı0 disk1 disk1 disk1/çift
Veri güvenliğiYokYüksekYüksekÇok yüksek

REXE fiziksel sunucularında donanım RAID kontrolcüsü bulunabilir. Yazılım RAID, donanım RAID'e alternatif olarak Linux çekirdeği tarafından yönetilir.

mdadm ile Yazılım RAID Kurulumu

mdadm Kurulumu

hljs bash
# Ubuntu/Debian
sudo apt update
sudo apt install mdadm -y

# CentOS/AlmaLinux
sudo dnf install mdadm -y

Disk Hazırlığı

hljs bash
# Mevcut diskleri listele
lsblk
fdisk -l

# Disk bilgilerini görüntüle
sudo fdisk -l /dev/sdb
sudo fdisk -l /dev/sdc

# Disklerde mevcut RAID imzası varsa temizle
sudo mdadm --zero-superblock /dev/sdb
sudo mdadm --zero-superblock /dev/sdc

RAID 1 Oluşturma

hljs bash
# RAID 1 dizisi oluştur
sudo mdadm --create /dev/md0 \
  --level=1 \
  --raid-devices=2 \
  /dev/sdb /dev/sdc

# Oluşturma işlemini onayla (yes yazın)
# RAID durumunu izle
watch cat /proc/mdstat

# Tamamlanma durumunu kontrol et
cat /proc/mdstat

RAID 5 Oluşturma

hljs bash
# RAID 5 dizisi oluştur (3 disk)
sudo mdadm --create /dev/md0 \
  --level=5 \
  --raid-devices=3 \
  /dev/sdb /dev/sdc /dev/sdd

# Yedek disk ekle (hot spare)
sudo mdadm --create /dev/md0 \
  --level=5 \
  --raid-devices=3 \
  --spare-devices=1 \
  /dev/sdb /dev/sdc /dev/sdd /dev/sde

RAID Yapılandırmasını Kaydetme

hljs bash
# mdadm.conf dosyasını güncelle
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

# initramfs'i güncelle
sudo update-initramfs -u

# RAID durumunu görüntüle
sudo mdadm --detail /dev/md0

RAID Üzerine Dosya Sistemi Oluşturma

hljs bash
# ext4 dosya sistemi oluştur
sudo mkfs.ext4 /dev/md0

# Bağlama noktası oluştur
sudo mkdir /mnt/raid

# Bağla
sudo mount /dev/md0 /mnt/raid

# /etc/fstab'a ekle (kalıcı bağlama)
echo '/dev/md0 /mnt/raid ext4 defaults 0 0' | sudo tee -a /etc/fstab

RAID Yönetimi

hljs bash
# RAID durumunu görüntüle
sudo mdadm --detail /dev/md0

# Tüm RAID dizilerini listele
cat /proc/mdstat

# Arızalı diski işaretle
sudo mdadm /dev/md0 --fail /dev/sdb

# Arızalı diski kaldır
sudo mdadm /dev/md0 --remove /dev/sdb

# Yeni disk ekle
sudo mdadm /dev/md0 --add /dev/sdb

# RAID'i durdur
sudo mdadm --stop /dev/md0

# RAID'i başlat
sudo mdadm --assemble /dev/md0

smartctl ile Disk Sağlığı Kontrolü

smartctl, disklerin S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) verilerini okur.

smartmontools Kurulumu

hljs bash
# Ubuntu/Debian
sudo apt install smartmontools -y

# CentOS/AlmaLinux
sudo dnf install smartmontools -y

Temel smartctl Komutları

hljs bash
# Disk bilgilerini görüntüle
sudo smartctl -i /dev/sda

# SMART durumunu kontrol et
sudo smartctl -H /dev/sda
# Çıktı: SMART overall-health self-assessment test result: PASSED

# Tüm SMART verilerini görüntüle
sudo smartctl -a /dev/sda

# Kısa özet
sudo smartctl -s on -a /dev/sda

SMART Testleri Çalıştırma

hljs bash
# Kısa test (1-2 dakika)
sudo smartctl -t short /dev/sda

# Uzun test (birkaç saat)
sudo smartctl -t long /dev/sda

# Test sonuçlarını görüntüle
sudo smartctl -l selftest /dev/sda

# Test ilerlemesini kontrol et
sudo smartctl -a /dev/sda | grep -i "test"

SMART Verilerini Yorumlama

Önemli SMART öznitelikleri:

hljs bash
# Öznitelikleri görüntüle
sudo smartctl -A /dev/sda
IDÖznitelikAçıklamaKritik Değer
1Raw_Read_Error_RateHam okuma hata oranı0 olmalı
5Reallocated_Sector_CtYeniden tahsis edilen sektör sayısı0 olmalı
9Power_On_HoursToplam çalışma saatiBilgi amaçlı
10Spin_Retry_CountDönüş yeniden deneme sayısı0 olmalı
187Reported_UncorrectDüzeltilemeyen hata sayısı0 olmalı
188Command_TimeoutKomut zaman aşımı0 olmalı
197Current_Pending_SectorBekleyen sektör sayısı0 olmalı
198Offline_UncorrectableÇevrimdışı düzeltilemeyen0 olmalı
199UDMA_CRC_Error_CountCRC hata sayısı0 olmalı

ID 5 (Reallocated_Sector_Ct), 197 (Current_Pending_Sector) veya 198 (Offline_Uncorrectable) değerleri 0'dan büyükse disk arızaya yakın olabilir. Hemen yedek alın!

NVMe Disk Kontrolü

hljs bash
# NVMe disk bilgileri
sudo smartctl -i /dev/nvme0

# NVMe SMART verileri
sudo smartctl -a /dev/nvme0

# NVMe sağlık durumu
sudo smartctl -H /dev/nvme0

smartd ile Otomatik İzleme

smartd, arka planda çalışarak disk sağlığını sürekli izler ve sorun tespit ettiğinde bildirim gönderir.

smartd Yapılandırması

hljs bash
# Yapılandırma dosyasını düzenle
sudo nano /etc/smartd.conf
# Tüm diskleri izle, sorun varsa e-posta gönder
DEFAULTS -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -m admin@rexe.tr -M exec /usr/share/smartmontools/smartd-runner

# Belirli bir diski izle
/dev/sda -a -o on -S on -m admin@rexe.tr
/dev/sdb -a -o on -S on -m admin@rexe.tr

# Tüm diskleri otomatik algıla
DEVICESCAN -a -o on -S on -m admin@rexe.tr
hljs bash
# smartd servisini etkinleştir
sudo systemctl enable --now smartd

# Durumu kontrol et
sudo systemctl status smartd

# Yapılandırmayı test et
sudo smartd -q onecheck

smartd Seçenekleri

SeçenekAçıklama
-aTüm SMART özniteliklerini izle
-o onÇevrimdışı testleri etkinleştir
-S onÖznitelik kaydetmeyi etkinleştir
-s S/../.././02Kısa testi her gün 02:00'de çalıştır
-s L/../../6/03Uzun testi her Cumartesi 03:00'de çalıştır
-m emailBildirim e-postası
-n standby,qBekleme modundaki diskleri uyandırma

Disk Sağlığı İzleme Komutları

hljs bash
# Tüm disklerin hızlı sağlık kontrolü
for disk in /dev/sd[a-z]; do
  echo "=== $disk ==="
  sudo smartctl -H $disk 2>/dev/null | grep -E "PASSED|FAILED|result"
done

# Disk sıcaklığını kontrol et
sudo smartctl -A /dev/sda | grep -i temperature

# Disk çalışma saatini kontrol et
sudo smartctl -A /dev/sda | grep Power_On_Hours

# Hata loglarını görüntüle
sudo smartctl -l error /dev/sda

# Disk bilgilerini JSON formatında al
sudo smartctl -j -a /dev/sda

RAID + SMART Entegrasyonu

hljs bash
# RAID dizisindeki disklerin SMART durumunu kontrol et
sudo mdadm --detail /dev/md0 | grep -E "State|Active|Failed"

# RAID'deki her diskin sağlığını kontrol et
for disk in /dev/sdb /dev/sdc /dev/sdd; do
  echo "=== $disk ==="
  sudo smartctl -H $disk
done

# RAID olaylarını izle
sudo mdadm --monitor --scan --daemonise

# RAID e-posta bildirimi
sudo nano /etc/mdadm/mdadm.conf
# MAILADDR admin@rexe.tr satırını ekle

RAID ve SMART izlemeyi birlikte kullanın. SMART, disk arızasını önceden tahmin ederken RAID, arıza anında veri kaybını önler. İkisi birlikte kapsamlı bir disk güvenliği stratejisi oluşturur.

Sonuç

RAID ve disk sağlığı izleme, REXE sunucularında veri güvenliğinin temel bileşenleridir. RAID 1 veya RAID 10, kritik veriler için yüksek güvenilirlik sağlarken smartctl ve smartd ile disk arızalarını önceden tespit edebilirsiniz. Düzenli SMART testleri ve RAID durumu kontrolü, beklenmedik veri kayıplarını önlemenin en etkili yoludur.