Linux işletim sistemlerde çalışan bir sunucuya yeni disk eklediğinizde bu diskin otomatik olarak görünmemesi çok olağan bir durumdur. Bu genellikle SCSI (Small Computer System Interface) veya benzeri depolama protokollerinin yeni donanım eklenmesini anlık olarak fark etmemesinden kaynaklanır. Sistem yöneticileri özellikle production ortamlarında çalışan sistemlerde disk ekledikten sonra reboot komutunu kullanmak istemezler. Çünkü:
- Reboot sırasında downtime yaşanır.
- Çalışan servisler ve kullanıcı bağlantıları kesilir.
- Kritik işlemler yarıda kalabilir.
Bu nedenle online disk algılama (hot add detection) yöntemi haya kurtarır.
1. Disklerin Otomatik Algılanmamasının Temel Sebepleri
Bir Linux sistemi çalışırken disk eklediğinizde çekirdek (kernel) donanım değişikliklerini udev ve sysfs üzerinden takip eder. Ancak:
- Bazı sanallaştırma platformlarında (VMware, KVM, Hyper-V) bu bildirimler otomatik gitmez.
- Fiziksel sunucularda ise HBA (Host Bus Adapter) üzerinde SCSI yeniden taraması yapılmaz.
- Bazı kernel modülleri “hotplug” desteğini kısıtlı şekilde sağlar.
Yani sorun donanımda değil donanımın sisteme bildirilme biçiminde ortaya çıkar.
2. Adım 1 – Mevcut Diskleri Görüntülemek
Öncelikle, sisteminizde şu an hangi disklerin olduğunu net bir şekilde görmemiz gerekir.
Bunun için:
fdisk -l | grep -i disk
veya
lsblk
3. Adım 2 – Disk Ekleme ve Yeniden Kontrol
Sanallaştırma yönetim panelinizden (ör. VMware vSphere, Proxmox, KVM, Hyper-V) 20 GB yeni disk eklediğinizi varsayalım.
Tekrar lsblk veya fdisk -l komutunu çalıştırın. Eğer yeni disk görünmüyorsa, bu noktada SCSI yeniden tarama işlemine geçeceğiz.
4. Adım 3 – SCSI Host Kavramını Anlamak
Linux’ta her depolama kontrolcüsü (HBA), scsi_host dizininde bir “host” olarak görünür.
Sisteminizdeki tüm host’ları görmek için:
ls /sys/class/scsi_host/
örnek çıktı
host0 host2 host4 host18
Bu host’ların her biri bir depolama yolu veya kontrolcüsünü temsil eder.
Doğru host numarasını bulmadan tarama yaparsak, işlem etkisiz olur.
5. Adım 4 – Doğru Host Numarasını Bulmak
Yöntem 1 – Sürücü Tipine Göre Arama
grep mpt /sys/class/scsi_host/host*/proc_name
Bu komut, mpt tabanlı (örn. LSI Logic) kontrolcüleri listeler. VMware’de sıkça karşınıza çıkar.
Yöntem 2 – udevadm ile Detaylı Bilgi Alma
Eğer yukarıdaki boş dönüyorsa:
udevadm info -a -p /sys/class/scsi_generic/sg0
Çıktı içinde host18 gibi bir değer göreceksiniz. Bu, ilgili SCSI host numarasıdır.
Yöntem 3 – Fiziksel Sunucu Durumu
Fiziksel sunucularda bazen birden fazla HBA bulunur. Bu durumda eklenen diskin hangi kontrolcüye bağlı olduğunu donanım yönetim arayüzünden (ör. iDRAC, iLO) teyit edebilirsiniz.
6. Adım 5 – SCSI Yeniden Tarama (Rescan)
Doğru host numarasını öğrendikten sonra, yeniden tarama komutunu çalıştırın:
echo '---' > /sys/class/scsi_host/host18/scan
Bu komut, ilgili host’a bağlı tüm LUN’ları (diskleri) yeniden tarar ve yeni eklenen diskleri tanıtır.
Tek Disk İçin Tarama
Eğer sadece belirli bir SCSI adresini taramak isterseniz:
echo '0 0 3' > /sys/class/scsi_host/host18/scan
Burada 0 0 3, SCSI ID’yi temsil eder (bus, target, lun).
7. Adım 6 – Diskin Algılandığını Doğrulama
Tarama bittikten sonra:
lsblk
8. Adım 7 – Diski Kullanıma Hazırlama
Algılanan diski kullanabilmek için:
Bölümlendirme
fdisk /dev/sdb
Yeni bir bölüm (partition) oluşturun.
Dosya Sistemi Oluşturma
mkfs.ext4 /dev/sdb1
Mount Etme
mkdir /mnt/yeni_disk
mount /dev/sdb1 /mnt/yeni_disk
Kalıcı Yapma/etc/fstab dosyasına ekleyin:
/dev/sdb1 /mnt/yeni_disk ext4 defaults 0 0
- NVMe Disklerde: NVMe protokolü farklıdır. Tarama için:
nvme list
Multipath Yapılarda: Yeni disk eklediyseniz:
multipath -ll
multipath -v2
LVM Kullanıyorsanız: Disk ekledikten sonra LVM’i güncelleyin:
pvcreate /dev/sdb1
vgextend vg_name /dev/sdb1
Bu yöntemle, Linux sunucunuza eklenen diskleri reboot etmeden algılatabilir, zamandan tasarruf edebilir ve sistem kesintilerini önleyebilirsiniz.
Özellikle veritabanı, dosya sunucusu ve kritik iş uygulamaları barındıran sistemlerde bu yöntem, güvenilir ve hızlı bir çözümdür.