Bulut depolama denince akla ilk gelen AWS S3 olsa da, özellikle veri egemenliği ve maliyet kontrolü gerektiren projelerde kendi altyapınızı kurmak çok daha mantıklı olabilir. İşte bu noktada MinIO devreye giriyor. MinIO, AWS S3 API'siyle tam uyumlu, yüksek performanslı bir nesne depolama sunucusu. Kendi VDS sunucunuzda dakikalar içinde çalıştırabilir, hem de S3'ün sunduğu tüm özellikleri yerel donanımınızda kullanabilirsiniz.
Neden MinIO?
MinIO'yu tercih etmenin başlıca sebepleri arasında açık kaynak olması, yüksek hız ve S3 uyumluluğu sayılabilir. Özellikle 10 Gbps ve üzeri ağ bağlantılarında saniyede birkaç gigabayt yazma/okuma kapasitesine ulaşabilirsiniz. Ayrıca MinIO, Kubernetes ve Docker gibi modern platformlarla sorunsuz entegre olur.
Kurulum Öncesi Gereksinimler
- En az 2 çekirdekli bir VDS (4 çekirdek önerilir)
- 4 GB RAM (8 GB idealdir)
- Depolama için SSD veya NVMe disk
- Ubuntu 22.04 LTS veya Rocky Linux 9 gibi bir işletim sistemi
- Açık portlar: 9000 (API) ve 9001 (konsol)
Adım Adım MinIO Kurulumu
1. MinIO İkili Dosyasını İndirin
İlk adım olarak MinIO'nun en son sürümünü indirip çalıştırılabilir hale getiriyoruz. Terminale şu komutları yazın:
wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio sudo mv minio /usr/local/bin/2. Veri Dizini Oluşturun
Nesnelerin saklanacağı bir dizin açın. Örneğin:
sudo mkdir -p /data/objects3. MinIO'yu Başlatın
MinIO'yu aşağıdaki komutla başlatabiliriz. Burada MINIO_ROOT_USER ve MINIO_ROOT_PASSWORD ile admin kullanıcı adı ve şifresini belirliyoruz:
export MINIO_ROOT_USER=admin export MINIO_ROOT_PASSWORD=supersecret123 minio server /data/objects --console-address ":9001"Artık http://sunucu-ip:9001 üzerinden konsola erişebilir, http://sunucu-ip:9000 ile S3 API'sini kullanabilirsiniz.
Systemd ile Kalıcı Hizmet Olarak Çalıştırma
Sunucu yeniden başladığında MinIO'nun otomatik olarak başlaması için systemd servisi oluşturalım:
sudo nano /etc/systemd/system/minio.serviceİçine şu satırları ekleyin:
[Unit] Description=MinIO Documentation=https://docs.min.io Wants=network-online.target After=network-online.target [Service] User=minio-user Group=minio-user EnvironmentFile=-/etc/default/minio ExecStart=/usr/local/bin/minio server /data/objects Restart=always [Install] WantedBy=multi-user.targetArdından kullanıcı oluşturup servisi başlatın:
sudo useradd -r minio-user -s /sbin/nologin sudo chown minio-user:minio-user /data/objects sudo systemctl daemon-reload sudo systemctl enable minio sudo systemctl start minioGüvenlik ve Performans İpuçları
- HTTPS kullanın: Let's Encrypt sertifikası ile konsol ve API'yi güvene alın.
- Yedekleme: Düzenli olarak mc mirror komutuyla verilerinizi başka bir MinIO sunucusuna yedekleyin.
- Disk onarımı: MinIO, erasure coding ile disk arızalarına karşı dayanıklıdır. 8 diskli bir kurulumda 4 disk kaybına kadar veri kaybı yaşanmaz.
- Performans testi: mc admin speedtest komutuyla yazma/okuma hızınızı ölçün. 10GbE ağda 5 GB/s'ye kadar çıkabilirsiniz.
Sonuç: Kendi S3'ünüze Sahip Olun
MinIO ile VDS üzerinde AWS S3'ün tüm avantajlarını elde ederken, verilerinizi tam kontrol altında tutarsınız. Özellikle büyük veri, yedekleme ve medya depolama senaryolarında harika bir çözüm. Kurulumu basit, maliyeti düşük ve ölçeklenebilir. Hemen bugün deneyin, farkı görün.