· kaynak dev.to (home feed)
RustFS, Apache lisanslı S3 uyumlu object storage'ı tek bir self-hosted binary olarak sunuyor
Bir dev.to rehberi, RustFS'ı tanıtıyor: Linux'ta tek bir Rust binary'si olarak kurulan, Apache 2.0 lisanslı, S3 uyumlu bir storage sunucusu; tek düğümlü mod üretim için hazır, clustering ise hâlâ test aşamasında.

27 Ağustos'ta yayınlanan bir dev.to eğitimi, Rust ile yazılmış ve Apache 2.0 lisansıyla açık kaynak olarak yayınlanan RustFS ile bare metal üzerinde S3 uyumlu object storage çalıştırmayı adım adım anlatıyor. Yazılım tek bir binary olarak geliyor, x86_64 veya aarch64 Linux makinelerde systemd kullanan tek satırlık bir script ile kuruluyor ve 9000 portunda S3 API'sini, yanında da 9001 portunda bir web konsolu sunuyor. Makalede alıntılanan proje durum dokümantasyonuna göre tek düğümlü çalışma bugün üretim için hazır sayılıyor, çok düğümlü clustering ise hâlâ test ediliyor.
Kurulum nasıl çalışıyor
dev.to rehberine göre kurulum script'i binary'yi /usr/local/bin/rustfs konumuna indiriyor, bir systemd servisi kaydediyor, servisi başlatıyor ve object verilerini varsayılan olarak /data/rustfs0 altında tutuyor. Veri yolları ve portlar kurulum sırasında değiştirilebilir. Varsayılan access ve secret key'lerin ikisi de rustfsadmin olarak ayarlı ve dokümantasyon bunların mutlaka değiştirilmesi gerektiği uyarısını yapıyor — key'ler /etc/default/rustfs dosyasında bulunuyor ve servisin yeniden başlatılmasından sonra etkili oluyor.
Bir container yolu da mevcut. Resmi Docker imajı her iki portu da map ediyor ve veri ile logları volume mount'lar üzerinden kalıcı hale getiriyor; makale, bu mount'ların atlanması durumunda container yeniden başlatıldığında /data ve /logs altındaki her şeyin silineceği konusunda uyarıyor. Yazar ayrıca komutların hiçbirinin, Docker daemon'ı bulunmayan sandbox'ta çalıştırılmadığını — her komutun resmi dokümantasyondan birebir kopyalandığını belirtiyor.
İstemci uyumluluğu
RustFS, kendi CLI aracı rc ile geliyor; bu araç bir endpoint alias'ı kaydediyor, health check çalıştırıyor ve object yükleme ile listelemeyle birlikte bucket oluşturmayı yönetiyor. Sunucu S3 API'sini uyguladığı için AWS SDK'ları, --endpoint-url ile sunucuya yönlendirilen aws CLI ve MinIO'nun mc aracı, aynı kimlik bilgileriyle ve uygulamada hiçbir değişiklik yapmadan 9000 portuna karşı çalışıyor. Yazar bu uyumluluğu temel cazibe merkezi olarak sunuyor: kiralık bir endpoint yerine kendi kontrol ettiğiniz donanımda bir S3 endpoint'ine kavuşmak.
Neler çalışıyor, neler çalışmıyor
dev.to'da alıntılanan proje özellik durum tablosu şu yetenekleri kullanılabilir olarak işaretliyor: temel S3 işlemleri, yükleme ve indirme, versioning, logging, event notification'lar, bucket replication, bitrot koruması, tek düğümlü mod, multi-tenancy, Keystone kimlik doğrulama ve Swift API. Distributed mod, lifecycle yönetimi ve RustFS KMS hâlâ test altında. Güncel sürüm ayrıca Object Lock, FUSE veya POSIX mount, yerleşik erasure coding ve herhangi bir hazır çoklu bölge (multi-region) yapılandırmasından yoksun.
Bare metal ödünleşimi
Eğitim, self-hosting'in bedelinin ne olduğu konusunda net. Diskler arızalanır, sunucular yeniden başlar, sertifikalar süresi dolar — ve bunlar bir satıcının değil, operatörün incident'ları haline gelir. Hızlı başlangıç, artıklılık olmadan tek düğümlü, tek diskli modda çalışıyor; yazar bunu değerlendirme ve geliştirme için kabul edilebilir, ama önemli veriler için riskli olarak tanımlıyor. Önerilen önlemler arasında ikinci bir disk takmak, yedeklemeleri planlamak ya da önemli iş yüklerini taşımadan önce distributed modun stabilmesini beklemek yer alıyor.
Neden önemli
S3, modern araçlarda object storage'ın varsayılan arayüzü haline geldi ve bulut faturalarındaki gigabayt başına ücret her yüklemeyle büyüyor. Bu API'yi konuşan, izin verici bir lisansla gelen tek binary'lik bir sunucu, geliştiricilere ve küçük ekiplere, uygulamalarını yeniden yazmadan veya istemci yığınlarını değiştirmeden managed storage'dan çıkmanın pratik bir yolunu sunuyor. Dürüst bir uyarı da dayanıklılık konusunda: clustering test aşamasından mezun olana kadar bir RustFS kurulumu tek bir makineden ibaret ve düğümler arası artıklılık, otomatik tiering veya uyumluluk retention'ı gereken ekipler, bunların mevcut olduğunu varsaymak yerine mevcut boşluklara göre planlama yapmalı.
- #object-storage
- #self-hosting
- #rust
- #s3
- #open-source