SSHFS Kullanımı: Uzak Dosya Sistemlerini SSH Üzerinden Bağlama 🚀
🎯 Bu Rehberde Ne Öğreneceksiniz
Bu rehber, SSHFS (SSH Dosya Sistemi) aracını kullanarak uzak bir sunucudaki dizini yerel sisteminize bağlamayı (mount etmeyi) öğretir.
NFS veya SMB gibi karmaşık yapılandırmalara gerek kalmadan, yalnızca SSH güvenliğiyle büyük veri kümelerine erişmeyi ve özellikle YZ/ML projelerinde performans optimizasyonlarını uygulamayı öğreneceksiniz.
Ayrıca, bağlantıyı kalıcı hale getirmek için /etc/fstab ve systemd yöntemlerini de adım adım göreceksiniz.
🧠 Aşama 1 – Teknik Özet
Ana Teknik Konu: SSHFS, FUSE (Userspace Dosya Sistemi) tabanlı bir araçtır ve SSH protokolünü kullanarak uzak dizinleri yerel sisteme bağlar.
Çözülen Problem: SCP/SFTP gibi yöntemlerde yalnızca dosya kopyalamak mümkündür. SSHFS ise tüm dosya sistemine gerçek zamanlı erişim sağlar.
İzlenen Adımlar:
- SSHFS kurulumu
- Yerel bağlama noktası oluşturma
- Gelişmiş bağlantı parametreleriyle bağlama
- Kalıcı (persistent) yapılandırma oluşturma
Kısa Teknik Özet: SSHFS ile uzak sunuculardaki dosyalara yerel sistemden erişebilir, büyük veri kümeleriyle güvenli ve hızlı çalışabilirsiniz.
⚙️ 1. SSHFS Kurulumu ve Gereksinimler
Gereksinimler
- İki Linux sistemi: biri yerel, diğeri uzak (SSH erişimi açık).
- SSH anahtar doğrulaması: Parolasız giriş için anahtar yapılandırılmış olmalı.
- FUSE desteği: Modern dağıtımlarda ön tanımlı olarak gelir.
Ubuntu / Debian
sudo apt update
sudo apt install sshfs fuse3
📝 Bu komut SSHFS ve FUSE bileşenlerini kurar.
RHEL / Fedora
sudo dnf install sshfs fuse-sshfs
Kurulumu Doğrulama
sshfs --version
🧠 Çıktıda SSHFS version ifadesini görüyorsanız kurulum başarıyla tamamlanmıştır.
🔗 2. Uzak Dosya Sistemini Bağlama
Bağlama Noktası Oluşturma
sudo mkdir /mnt/yz_veri_seti
💡 Öneri: Veri türüne göre anlamlı klasör adları kullanın (örneğin /mnt/ml_datasets).
Temel Bağlama Komutu
sudo sshfs -o allow_other,default_permissions rabisu@tr1-node01:~/ /mnt/yz_veri_seti
Açıklama:
allow_other: Diğer kullanıcıların erişmesine izin verir.
default_permissions: Standart Linux izin sistemini uygular.
rabisu@tr1-node01:~/: Kaynak (uzak sistem yolu).
/mnt/yz_veri_seti: Hedef (yerel mount noktası).
YZ/ML İçin Performans Odaklı Bağlama
sudo sshfs -o allow_other,default_permissions,compression=yes,cache=yes,auto_cache,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 \
rabisu@gpu_sunucu:/datasets /mnt/yz_veri_seti
| Seçenek | Açıklama | Faydası |
|---|---|---|
compression=yes | Veriyi sıkıştırır. | Bant genişliği kullanımını azaltır. |
cache=yes,auto_cache | Önbellekleme aktif eder. | Okuma hızını artırır. |
reconnect | Bağlantı koparsa yeniden dener. | Uzun süreçlerde stabil bağlantı sağlar. |
ServerAliveInterval=15 | 15 saniyede bir kontrol sinyali yollar. | Bağlantı sürekliliğini korur. |
Bağlantıyı Doğrulama ve Ayırma Bağlantıyı kontrol edin:
mount | grep sshfs
Güvenli şekilde ayırmak için:
sudo umount /mnt/yz_veri_seti
⚠️ Uyarı: Her zaman sistemi kapatmadan önce umount işlemini yapın.
💾 3. Kalıcı Bağlama (Persistent Mount)
/etc/fstab ile
sudo nano /etc/fstab
Sonuna şu satırı ekleyin:
rabisu@gpu_sunucu:/datasets /mnt/yz_veri_seti fuse.sshfs noauto,x-systemd.automount,_netdev,reconnect,identityfile=/home/rabisu/.ssh/id_rsa,allow_other,default_permissions,compression=yes,cache=yes,auto_cache 0 0
Parametre Açıklamaları:
noauto: Sistem açılışında otomatik bağlamaz.
x-systemd.automount: İlk erişimde bağlar.
_netdev: Ağ başlatılmadan bağlanmayı engeller.
identityfile: SSH anahtar yolunu belirtir.
Yapılandırmayı test etmek için:
sudo mount -a
⚙️ 4. Sıkça Sorulan Sorular (SSS)
1. SSHFS neden tercih edilmeli?
Çünkü SCP veya SFTP’ye göre dosya sistemi bütünlüğü sağlar. SSHFS ile uzaktaki dizinlere gerçek zamanlı erişim mümkündür.
2. SSHFS kullanırken yavaşlık varsa ne yapılmalı?
compression=yes, cache=yes, auto_cache gibi bayraklarla hız artırılabilir. Ağ gecikmesi (latency) en önemli etkendir.
3. Parola sormadan bağlanmak mümkün mü?
Evet. SSH anahtar doğrulaması (key authentication) kurulu olmalıdır.
4. umount yapılmadan sistem kapanırsa ne olur?
Bağlantı beklenmedik şekilde kesilirse veri kaybı yaşanabilir. Her zaman sudo umount komutunu çalıştırın.
5. Sadece okuma (read-only) bağlama nasıl yapılır?
sshfs -o ro,allow_other rabisu@sunucu:/veri /mnt/readonly
🚀 Sonuç
SSHFS, YZ/ML ve bulut tabanlı geliştirme ortamlarında büyük veri setleriyle çalışırken yüksek güvenlik ve esneklik sağlar. Bağlantıyı otomatik hale getirerek kesintisiz dosya erişimi sunar.
💡 Rabisu Cloud altyapısında SSHFS bağlantılarını hemen deneyin; veri erişimini hızlandırın, AI projelerinizi güçlendirin! 🚀