Skip to main content

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:

  1. SSHFS kurulumu
  2. Yerel bağlama noktası oluşturma
  3. Gelişmiş bağlantı parametreleriyle bağlama
  4. 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çenekAçıklamaFaydası
compression=yesVeriyi 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.
reconnectBağlantı koparsa yeniden dener.Uzun süreçlerde stabil bağlantı sağlar.
ServerAliveInterval=1515 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! 🚀