DigitalOcean Block Storage ile Doctl Kullanımı: Kapsamlı Bir Rehber
Giriş: Block Storage ve Doctl’ın Önemi
Bulut bilişim dünyasında, veri depolama çözümleri uygulamaların performansı, güvenilirliği ve ölçeklenebilirliği için kritik bir rol oynamaktadır. DigitalOcean, sunduğu çeşitli depolama seçenekleriyle geliştiricilerin ve şirketlerin ihtiyaçlarına yanıt vermektedir. Bu seçeneklerden biri olan DigitalOcean Block Storage, Droplet’lere (sanal sunuculara) kalıcı, yüksek performanslı ve ölçeklenebilir bir depolama alanı eklemek için tasarlanmıştır. Geleneksel sabit diskler gibi düşünülebilecek bu blok depolama birimleri, işletim sistemi diskinden bağımsız olarak çalışır ve verilerinizi Droplet’inizden ayrı bir şekilde saklamanıza olanak tanır. Bu sayede, bir Droplet’i sildiğinizde bile verileriniz güvende kalır ve başka bir Droplet’e kolayca bağlanabilir.
Doctl ise, DigitalOcean API’si ile etkileşim kurmak için kullanılan resmi komut satırı aracıdır (CLI). Geliştiricilerin ve sistem yöneticilerinin, DigitalOcean kaynaklarını (Droplet’ler, veritabanları, ağlar, depolama birimleri vb.) terminal üzerinden hızlı ve verimli bir şekilde yönetmesini sağlar. Otomasyon senaryoları, sürekli entegrasyon/sürekli dağıtım (CI/CD) süreçleri ve toplu işlemler için vazgeçilmez bir araçtır. Doctl ile Block Storage yönetimi, manuel arayüz işlemlerine göre çok daha hızlı, tekrarlanabilir ve hatasız bir deneyim sunar.
Bu kapsamlı rehberde, DigitalOcean Block Storage’ı Doctl kullanarak nasıl oluşturacağınızı, yöneteceğinizi, bir Droplet’e nasıl bağlayacağınızı, dosya sistemini nasıl formatlayıp bağlayacağınızı, yeniden boyutlandıracağınızı ve snapshot’lar (anlık görüntüler) ile nasıl yedekleyeceğinizi adım adım inceleyeceğiz. Amacımız, Doctl’ın gücünü kullanarak DigitalOcean Block Storage’dan en iyi şekilde faydalanmanızı sağlamaktır.
Ön Koşullar ve Kurulum: Doctl Ortamını Hazırlama
DigitalOcean Block Storage’ı Doctl ile yönetmeye başlamadan önce, bazı temel ön koşulları yerine getirmeniz ve Doctl’ı sisteminize kurmanız gerekmektedir.
DigitalOcean Hesabı ve API Token’ı
Öncelikle aktif bir DigitalOcean hesabınız olmalıdır. Doctl, DigitalOcean API’si üzerinden hesabınızla etkileşim kuracağı için bir API token’ına ihtiyacınız olacaktır. Bu token, Doctl’ın hesabınızda kaynak oluşturma, değiştirme veya silme yetkisine sahip olmasını sağlar.
1. API Token Oluşturma:
* DigitalOcean kontrol paneline giriş yapın.
* Sol menüden “API” bölümüne gidin.
* “Generate New Token” butonuna tıklayın.
* Token’a açıklayıcı bir isim verin (örn: doctl-access-token).
* “Write” izinlerinin seçili olduğundan emin olun, böylece Doctl kaynakları oluşturabilir ve değiştirebilir.
* “Generate Token” butonuna tıklayın.
* Oluşturulan token’ı mutlaka güvenli bir yere kopyalayın. Bu token bir daha gösterilmeyecektir. Kaybederseniz, yenisini oluşturmanız gerekir.
Doctl Kurulumu
Doctl, farklı işletim sistemleri için kolay kurulum yöntemleri sunar.
Linux (Debian/Ubuntu)
sudo apt update
sudo apt install -y doctl
Linux (CentOS/Fedora)
sudo yum install -y doctl
macOS
Homebrew kullanarak kolayca kurabilirsiniz:
brew install doctl
Windows
Doctl’ı Windows’a kurmanın birkaç yolu vardır:
1. Scoop ile (Önerilen):
scoop install doctl
2. Manuel Kurulum:
* Doctl GitHub Releases sayfasından en son sürümün doctl.exe dosyasını indirin.
* İndirdiğiniz doctl.exe dosyasını sisteminizin PATH’ine ekli bir klasöre (örn: C:\Windows\System32 veya özel bir C:\Program Files\doctl klasörü) taşıyın.
* Komut istemcisini veya PowerShell’i yeniden başlatın.
Kurulumun başarılı olup olmadığını kontrol etmek için:
doctl version
Bu komut, kurulu Doctl sürümünü gösterecektir.
Doctl Kimlik Doğrulaması
Doctl’ı ilk kez çalıştırdığınızda, hesabınızla kimlik doğrulaması yapmanız gerekir. Bunun için daha önce oluşturduğunuz API token’ını kullanacaksınız.
doctl auth init
Bu komutu çalıştırdığınızda, Doctl sizden API token’ınızı yapıştırmanızı isteyecektir:
Please enter your access token:
Token’ı yapıştırıp Enter tuşuna bastıktan sonra Doctl, token’ınızı doğrulayacak ve kimlik doğrulama işlemini tamamlayacaktır. Artık Doctl komutlarını kullanarak DigitalOcean hesabınızı yönetmeye hazırsınız. Birden fazla DigitalOcean hesabı veya farklı API token’ları ile çalışıyorsanız, doctl auth init --context komutunu kullanarak farklı bağlamlar oluşturabilirsiniz. Mevcut bağlamları listelemek için:
doctl auth list
Block Storage Temelleri: Kavramlar ve İlk Adımlar
Block Storage, Droplet’leriniz için ağa bağlı, yüksek performanslı depolama birimleridir. Bir Droplet’ten bağımsız olarak çalışır ve Droplet’iniz silinse bile verileriniz güvende kalır.
Volume Nedir?
DigitalOcean terminolojisinde, bir Block Storage birimine “volume” denir. Her volume’un belirli bir boyutu (GB cinsinden), bir bölgesi (Droplet’inizle aynı bölgede olmalıdır) ve isteğe bağlı bir adı ve açıklaması vardır.
Volume Boyutları ve Özellikleri
* Boyut: Minimum 10 GB’tan başlayıp 16 TB’a kadar çıkabilir. İhtiyaçlarınıza göre ölçeklenebilir.
* Performans: SSD tabanlıdır ve yüksek IOPS (saniyedeki giriş/çıkış işlemleri) performansı sunar, bu da veritabanları, log sunucuları ve diğer I/O yoğun uygulamalar için idealdir.
* Bölgesel: Bir volume, yalnızca oluşturulduğu bölgedeki Droplet’lere bağlanabilir. Farklı bölgelerdeki Droplet’lere bağlanamaz.
Volume Oluşturma
Doctl kullanarak yeni bir volume oluşturmak oldukça basittir. En az bir ad, bir bölge ve bir boyut belirtmeniz gerekir.
doctl compute volume create \
--name my-new-volume \
--region nyc1 \
--size 100gb \
--description "Uygulama verileri için yeni volume"
* --name: Volume’unuz için benzersiz bir isim.
* --region: Volume’un oluşturulacağı DigitalOcean bölgesi (örn: nyc1, fra1, ams3). Bu bölge, volume’u bağlayacağınız Droplet’in bölgesiyle aynı olmalıdır.
* --size: Volume’un boyutu (GB cinsinden). Minimum 10 GB.
* --description (isteğe bağlı): Volume hakkında açıklayıcı bir metin.
Komut başarılı olduğunda, oluşturulan volume’un detaylarını içeren bir JSON veya tablo çıktısı alırsınız. Bu çıktıda volume’un ID’si, adı, bölgesi, boyutu ve durumu gibi bilgiler yer alır.
# Örnek Çıktı (JSON formatında)
[
{
"id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"name": "my-new-volume",
"region": {
"slug": "nyc1",
"name": "New York 1"
},
"size_gigabytes": 100,
"description": "Uygulama verileri için yeni volume",
"created_at": "2023-10-27T10:00:00Z",
"droplet_ids": [],
"filesystem_type": "",
"filesystem_label": ""
}
]
Mevcut Volume’ları Listeleme
Hesabınızdaki tüm Block Storage volume’larını listelemek için aşağıdaki komutu kullanabilirsiniz:
doctl compute volume list
Bu komut, tüm volume’ların ID’sini, adını, bölgesini, boyutunu ve bağlı olduğu Droplet’leri (varsa) listeleyecektir.
ID Name Region SizeGiB DropletIDs FilesystemType FilesystemLabel
a1b2c3d4-e5f6-7890-1234-567890abcdef my-new-volume nyc1 100
b1c2d3e4-f5g6-8901-2345-67890abcdef0 db-data nyc1 200 [123456789] ext4 db_volume
Volume Bilgilerini Görüntüleme
Belirli bir volume’un detaylı bilgilerini görmek için volume ID’sini kullanabilirsiniz:
doctl compute volume get a1b2c3d4-e5f6-7890-1234-567890abcdef
Bu komut, yukarıdaki volume create komutunun çıktısına benzer şekilde, tek bir volume’un tüm özelliklerini gösterir.
Volume Yönetimi: Detaylı İşlemler
Bir volume oluşturduktan sonra, onu Droplet’lerinize bağlamanız, dosya sistemini oluşturmanız, boyutunu değiştirmeniz veya gerektiğinde silmeniz gerekebilir.
Volume’u Bir Droplet’e Ekleme (Attach)
Bir volume’u kullanabilmek için öncelikle onu bir Droplet’e bağlamanız gerekir. Volume ve Droplet’in aynı bölgede olması zorunludur.
1. Droplet ID’sini Bulma:
Volume’u bağlayacağınız Droplet’in ID’sine ihtiyacınız olacak. Droplet’lerinizi listelemek için:
doctl compute droplet list
Çıktıdan ilgili Droplet’in ID değerini not alın.
2. Volume’u Bağlama:
doctl compute volume attach --droplet-id
Örnek:
doctl compute volume attach a1b2c3d4-e5f6-7890-1234-567890abcdef --droplet-id 123456789
Bu komut, volume’u belirtilen Droplet’e bağlar. Ancak bu işlem, volume’u Droplet’in işletim sistemi tarafından kullanılabilir hale getirmez. Bunun için Droplet içinde ek adımlar gereklidir.
3. Droplet İçinde Formatlama ve Bağlama (Mount) İşlemleri:
Volume’u Droplet’e bağladıktan sonra, SSH ile Droplet’inize bağlanmanız ve volume’u hazırlamanız gerekir.
* Yeni Bağlanan Diskleri Listeleme:
lsblk
Bu komut, Droplet’inize bağlı tüm diskleri ve bölümleri listeler. Yeni bağlanan volume genellikle /dev/disk/by-id/scsi-0DO_Volume_your-volume-name veya /dev/sdb, /dev/sdc gibi bir isimle görünecektir. DigitalOcean, kalıcı tanımlayıcıları kullanmanızı önerir: /dev/disk/by-id/scsi-0DO_Volume_your-volume-name.
* Dosya Sistemi Oluşturma (Yalnızca İlk Kez Bağlarken):
Eğer volume yeni oluşturulduysa ve üzerinde bir dosya sistemi yoksa, bir dosya sistemi oluşturmanız gerekir. ext4 veya XFS yaygın olarak kullanılan dosya sistemleridir.
ext4 için:
sudo mkfs.ext4 /dev/disk/by-id/scsi-0DO_Volume_my-new-volume
XFS için:
sudo mkfs.xfs /dev/disk/by-id/scsi-0DO_Volume_my-new-volume
DİKKAT: Bu komutlar, disk üzerindeki tüm verileri siler. Mevcut bir volume’u bağlarken ve üzerinde zaten veri varsa bu adımı atlayın.
* Bağlama Noktası Oluşturma:
Volume’u bağlayacağınız bir dizin oluşturun.
sudo mkdir -p /mnt/myvolume
* Volume’u Bağlama:
sudo mount /dev/disk/by-id/scsi-0DO_Volume_my-new-volume /mnt/myvolume
* Kalıcı Bağlama (/etc/fstab):
Droplet yeniden başlatıldığında volume’un otomatik olarak bağlanması için /etc/fstab dosyasına bir giriş eklemeniz gerekir. Bunun için volume’un UUID’sini veya kalıcı yolunu kullanmak en güvenli yöntemdir.
Volume’un UUID’sini öğrenmek için:
sudo blkid /dev/disk/by-id/scsi-0DO_Volume_my-new-volume
Çıktıdan UUID="" değerini kopyalayın.
/etc/fstab dosyasını düzenleyin:
sudo nano /etc/fstab
Dosyanın sonuna aşağıdaki satırı ekleyin (UUID veya kalıcı yolu kullanabilirsiniz):
# UUID ile:
UUID= /mnt/myvolume ext4 defaults,nofail 0 2
# Veya kalıcı yol ile (daha az önerilir, UUID daha sağlamdır):
/dev/disk/by-id/scsi-0DO_Volume_my-new-volume /mnt/myvolume ext4 defaults,nofail 0 2
nofail seçeneği, volume’un bağlanamaması durumunda Droplet’in önyükleme işleminin takılmamasını sağlar.
Değişiklikleri kaydedip çıktıktan sonra, fstab’ı test etmek için:
sudo mount -a
Herhangi bir hata vermezse, volume başarıyla kalıcı olarak ayarlanmıştır.
Volume’u Bir Droplet’ten Ayırma (Detach)
Bir volume’u başka bir Droplet’e bağlamak veya silmek istiyorsanız, öncelikle onu mevcut Droplet’ten ayırmanız gerekir.
1. Droplet İçinde Ayırma (Unmount):
SSH ile Droplet’inize bağlanın ve volume’u unmount edin.
sudo umount /mnt/myvolume
Eğer /etc/fstab‘a bir giriş eklediyseniz, bu girişi de silmeniz veya yorum satırı yapmanız gerekir.
2. Doctl ile Ayırma:
Volume’u Droplet’ten ayırmak için Doctl komutunu kullanın:
doctl compute volume detach --droplet-id
Örnek:
doctl compute volume detach a1b2c3d4-e5f6-7890-1234-567890abcdef --droplet-id 123456789
Bu işlem tamamlandığında, volume artık Droplet’e bağlı olmayacaktır.
Volume’u Yeniden Boyutlandırma
Volume’unuzun depolama ihtiyacı zamanla artabilir. DigitalOcean Block Storage, volume’ları kolayca büyütmenize olanak tanır. Ancak volume’u küçültmek mümkün değildir.
1. Doctl ile Yeniden Boyutlandırma:
Volume’u yeniden boyutlandırmak için aşağıdaki komutu kullanın. Yeni boyut, mevcut boyuttan daha büyük olmalıdır.
doctl compute volume resize --size
Örnek (100 GB’lık volume’u 200 GB’a büyütme):
doctl compute volume resize a1b2c3d4-e5f6-7890-1234-567890abcdef --size 200gb
Bu komut, volume’un kapasitesini DigitalOcean tarafında artırır.
2. Droplet İçinde Dosya Sistemini Genişletme:
Volume’u Doctl ile büyüttükten sonra, bu yeni alanı kullanabilmek için Droplet içinde dosya sistemini genişletmeniz gerekir. Bu işlem, volume’un bağlı olduğu Droplet’te yapılmalıdır.
* ext4 Dosya Sistemi İçin:
sudo resize2fs /dev/disk/by-id/scsi-0DO_Volume_my-new-volume
Bu komut, ext4 dosya sistemini otomatik olarak volume’un yeni boyutuna göre genişletecektir.
* XFS Dosya Sistemi İçin:
sudo xfs_growfs /mnt/myvolume
xfs_growfs komutu, dosya sistemini bağlama noktası üzerinden genişletir.
İşlem tamamlandıktan sonra, df -h komutu ile yeni boyutu kontrol edebilirsiniz.
Volume’u Yeniden Adlandırma
Bir volume’un adını değiştirmek için update komutunu kullanabilirsiniz:
doctl compute volume update --name
Örnek:
doctl compute volume update a1b2c3d4-e5f6-7890-1234-567890abcdef --name my-app-data-volume
Volume’u Silme
Bir volume’a artık ihtiyacınız kalmadığında onu silebilirsiniz. Bu işlem kalıcıdır ve volume üzerindeki tüm verileri siler. Silmeden önce volume’un bağlı olduğu herhangi bir Droplet’ten ayrıldığından emin olun.
doctl compute volume delete
Örnek:
doctl compute volume delete a1b2c3d4-e5f6-7890-1234-567890abcdef
Doctl, silme işlemini onaylamanızı isteyecektir. Onayladıktan sonra volume silinecektir.
Snapshot Yönetimi: Veri Yedekleme ve Kurtarma
Snapshot’lar, Block Storage volume’larınızın belirli bir zamandaki anlık görüntüleridir. Veri kaybını önlemek, test ortamları oluşturmak veya volume’u farklı bir bölgeye taşımak (snapshot’tan yeni volume oluşturarak) için oldukça kullanışlıdır.
Snapshot Nedir ve Neden Önemlidir?
Bir volume snapshot’ı, o volume’un tüm içeriğinin bir kopyasıdır. Volume’dan ayrı olarak depolanır ve gerektiğinde yeni bir volume oluşturmak için kullanılabilir. Snapshot’lar, felaket kurtarma, veri yedekleme ve geliştirme/test ortamlarının hızlı bir şekilde kopyalanması gibi senaryolarda kritik öneme sahiptir. DigitalOcean, snapshot’ları Droplet’lerden bağımsız olarak saklar ve ücretlendirir.
Volume’dan Snapshot Oluşturma
Bir volume’un snapshot’ını almak için volume ID’sini ve snapshot’a vereceğiniz bir adı belirtmeniz gerekir. Snapshot alırken volume’un bağlı olduğu Droplet’te I/O işlemlerinin durdurulması veya volume’un unmount edilmesi önerilir (veritabanları gibi kritik uygulamalar için), aksi takdirde snapshot tutarsız veriler içerebilir.
doctl compute volume snapshot create --snapshot-name
Örnek:
doctl compute volume snapshot create a1b2c3d4-e5f6-7890-1234-567890abcdef --snapshot-name my-volume-backup-20231027
Komut başarılı olduğunda, oluşturulan snapshot’ın detaylarını içeren bir çıktı alırsınız.
Mevcut Snapshot’ları Listeleme
Hesabınızdaki tüm Block Storage snapshot’larını listelemek için:
doctl compute volume snapshot list
Bu komut, snapshot ID’lerini, adlarını, kaynak volume’larını ve oluşturulma tarihlerini gösterecektir.
ID Name ResourceID ResourceType Created
g1h2i3j4-k5l6-7890-1234-567890abcdef my-volume-backup-20231027 a1b2c3d4-e5f6-7890-1234-567890abcdef volume 2023-10-27T11:00:00Z
Snapshot’tan Yeni Bir Volume Oluşturma
Bir snapshot’ı, mevcut bir volume’u geri yüklemek veya snapshot’ın bir kopyasından yeni bir volume oluşturmak için kullanabilirsiniz. Yeni volume, snapshot’ın alındığı bölgede oluşturulmalıdır.
doctl compute volume create \
--name restored-volume \
--region nyc1 \
--size 100gb \
--snapshot-id
* --snapshot-id: Kullanılacak snapshot’ın ID’si.
* --size: Yeni volume’un boyutu. Bu boyut, kaynak snapshot’ın boyutundan küçük olamaz. Genellikle aynı boyut veya daha büyük bir boyut verilir.
Örnek:
doctl compute volume create \
--name restored-volume-from-backup \
--region nyc1 \
--size 100gb \
--snapshot-id g1h2i3j4-k5l6-7890-1234-567890abcdef
Bu komut, belirtilen snapshot’tan yeni bir volume oluşturacaktır. Oluşturulan volume, snapshot’ın alındığı andaki tüm verileri içerecektir. Daha sonra bu volume’u bir Droplet’e bağlayıp kullanabilirsiniz.
Snapshot’ı Silme
Artık ihtiyacınız olmayan snapshot’ları silerek depolama maliyetlerinden tasarruf edebilirsiniz.
doctl compute volume snapshot delete
Örnek:
doctl compute volume snapshot delete g1h2i3j4-k5l6-7890-1234-567890abcdef
Doctl, silme işlemini onaylamanızı isteyecektir. Onayladıktan sonra snapshot kalıcı olarak silinecektir.
Gelişmiş Kullanım Senaryoları ve En İyi Uygulamalar
Doctl ile DigitalOcean Block Storage’ı yönetmek, basit işlemlerin ötesinde, daha karmaşık senaryolarda da büyük avantajlar sunar.
Birden Fazla Volume ile Çalışma
Bazı uygulamalar, farklı türdeki veriler için birden fazla depolama birimine ihtiyaç duyabilir. Örneğin, bir veritabanı sunucusu için ana veri dosyaları bir volume’da, log dosyaları başka bir volume’da ve yedekler üçüncü bir volume’da tutulabilir. Doctl, bu volume’ları ayrı ayrı oluşturmanıza, yönetmenize ve aynı Droplet’e bağlamanıza olanak tanır. Her volume için ayrı bağlama noktaları oluşturarak verileri mantıksal olarak ayırabilirsiniz.
Otomatik Yedekleme Stratejileri (Snapshot Otomasyonu)
Doctl, shell betikleri (script) içinde kullanılabildiği için, Block Storage snapshot’larının otomatik olarak alınması ve eski snapshot’ların temizlenmesi gibi yedekleme stratejileri oluşturmak için mükemmel bir araçtır. Bir cron işi kullanarak belirli aralıklarla (örneğin günlük veya haftalık) snapshot’lar alabilir ve belirli bir yaştan (örneğin 30 günden) eski snapshot’ları silebilirsiniz.
Örnek Basit Yedekleme Betiği (Kavramsal):
#!/bin/bash
VOLUME_ID="a1b2c3d4-e5f6-7890-1234-567890abcdef"
SNAPSHOT_NAME="daily-backup-$(date +%Y%m%d%H%M)"
echo "Taking snapshot of volume $VOLUME_ID with name $SNAPSHOT_NAME..."
doctl compute volume snapshot create $VOLUME_ID --snapshot-name $SNAPSHOT_NAME
echo "Listing snapshots..."
doctl compute volume snapshot list
Eski snapshot'ları silme mantığı buraya eklenebilir
Örneğin, 7 günden eski snapshot'ları listele ve sil.
Bu kısım daha karmaşık olabilir ve dikkatli uygulanmalıdır.
Bu tür betikler, hata kontrolü ve daha gelişmiş filtreleme ile zenginleştirilebilir.
Performans İpuçları
* Doğru Boyutlandırma: Block Storage performansı (IOPS), volume’un boyutuyla doğrudan ilişkilidir. Daha büyük volume’lar genellikle daha yüksek IOPS sağlar. Uygulamanızın I/O gereksinimlerini analiz ederek uygun boyutta bir volume seçin.
* Droplet Lokasyonu: Volume’unuzun Droplet’inizle aynı veri merkezinde (aynı bölgede) olduğundan emin olun. Bu, gecikmeyi (latency) en aza indirir ve performansı artırır.
* Dosya Sistemi Seçimi: ext4 çoğu genel kullanım için uygunken, XFS özellikle büyük dosyalar ve yüksek eşzamanlı I/O gerektiren iş yükleri (örneğin veritabanları) için daha iyi performans gösterebilir.
Güvenlik Hususları
* Erişim Kontrolü: Doctl kimlik doğrulamasında kullanılan API token’ınızı güvende tutun. Bu token, hesabınıza tam erişim sağlar. Yalnızca gerekli izinlere sahip token’lar oluşturun (örneğin, sadece okuma izinleri).
* Veri Şifreleme: DigitalOcean Block Storage, varsayılan olarak depolanan verileri şifreler. Ancak, hassas veriler için uygulama düzeyinde veya dosya sistemi düzeyinde ek şifreleme (örneğin LUKS) uygulamayı düşünebilirsiniz.
* Snapshot Güvenliği: Snapshot’lar da volume’lar kadar hassas veriler içerebilir. Snapshot’larınıza erişimi kontrol altında tutun ve gereksiz snapshot’ları düzenli olarak silin.
CI/CD Entegrasyonu için Doctl Kullanımı
Doctl, otomasyon araçları ve CI/CD pipeline’ları ile sorunsuz bir şekilde entegre edilebilir. Örneğin, yeni bir test ortamı oluşturulurken bir veritabanı volume’unun snapshot’ından otomatik olarak yeni bir volume oluşturulabilir, bir test Droplet’ine bağlanabilir ve testler tamamlandığında silinebilir. Bu, test ortamlarının hızlı bir şekilde oluşturulup yok edilmesini sağlayarak kaynak kullanımını optimize eder.
Sıkça Sorulan Sorular (SSS)
Block Storage ile Object Storage arasındaki fark nedir?
* Block Storage (Volume’lar): Bir sunucuya (Droplet’e) doğrudan bağlanan, işletim sistemi tarafından bir disk gibi görülen, formatlanabilen ve üzerine dosya sistemi kurulabilen depolama birimleridir. Genellikle veritabanları, işletim sistemi diskleri veya yüksek performans gerektiren uygulamalar için kullanılır.
* Object Storage (Spaces): Nesne tabanlı depolama, yapılandırılmamış verileri (resimler, videolar, yedekler, statik web siteleri) depolamak için tasarlanmıştır. Bir Droplet’e doğrudan bağlanmaz; bunun yerine, veriye HTTP API’leri aracılığıyla erişilir. Sonsuz ölçeklenebilir ve genellikle daha uygun maliyetlidir.
Bir volume’u birden fazla Droplet’e bağlayabilir miyim?
Hayır, DigitalOcean Block Storage volume’ları aynı anda yalnızca bir Droplet’e bağlanabilir. Paylaşımlı depolama çözümü arıyorsanız, bunun yerine bir Ağ Dosya Sistemi (NFS) sunucusu kurmayı veya harici bir veritabanı hizmeti kullanmayı düşünebilirsiniz.
Volume’u farklı bir bölgeye taşıyabilir miyim?
Doğrudan bir volume’u farklı bir bölgeye taşıyamazsınız. Ancak, volume’un bir snapshot’ını alıp, bu snapshot’ı farklı bir bölgede yeni bir volume oluşturmak için kullanabilirsiniz. Bu, verilerinizi farklı bir bölgeye “taşımak” için yaygın bir yöntemdir.
Silinen bir volume’u geri getirebilir miyim?
Hayır, bir volume silindiğinde, üzerindeki tüm veriler kalıcı olarak silinir ve geri getirilemez. Bu nedenle, silme işlemi yapmadan önce önemli verilerin yedeklendiğinden (snapshot alındığından) emin olun.
Sonuç: Doctl ile DigitalOcean Block Storage’ın Gücü
DigitalOcean Block Storage, Droplet’lerinize esnek, yüksek performanslı ve kalıcı depolama sağlamak için güçlü bir çözümdür. Doctl ise, bu depolama birimlerini komut satırı üzerinden yönetmek için vazgeçilmez bir araçtır. Volume oluşturmaktan snapshot almaya, yeniden boyutlandırmaktan Droplet’lere bağlamaya kadar tüm süreçleri otomatikleştirebilme yeteneği sayesinde, geliştiriciler ve sistem yöneticileri operasyonel verimliliği artırabilir, hata olasılığını azaltabilir ve daha ölçeklenebilir altyapılar kurabilirler.
Bu rehber, Doctl’ı kullanarak DigitalOcean Block Storage ile çalışmanın temel adımlarını ve gelişmiş senaryolarını kapsamlı bir şekilde ele almıştır. Doctl’ın sağladığı kolaylık ve otomasyon yetenekleri sayesinde, DigitalOcean’daki depolama ihtiyaçlarınızı çok daha etkin bir şekilde yönetebilirsiniz. Unutmayın, herhangi bir kritik işlem yapmadan önce her zaman yedekleme yapmanız ve özellikle üretim ortamlarında dikkatli olmanız önemlidir. DigitalOcean’ın sunduğu bu güçlü ikiliyi kullanarak projelerinizi bir sonraki seviyeye taşıyın!
