Depolar
Bir depo (repository), uzak sunucudaki LUKS ile şifrelenmiş bir disk imajıdır. Bağlandığında şunları sağlar:
- Uygulama verileriniz için izole bir dosya sistemi
- Özel bir Docker daemon’u (ana bilgisayarın Docker’ından ayrı)
- /26 alt ağı içinde her servis için benzersiz loopback IP’leri
Depo Oluşturma
rdc repo create --name my-app -m server-1 --size 10G
| Seçenek | Gerekli | Açıklama |
|---|---|---|
-m, --machine <name> | Evet | Deponun oluşturulacağı hedef makine |
--size <size> | Evet | Şifrelenmiş disk imajının boyutu (ör. 5G, 10G, 50G) |
--skip-router-restart | No | Skip restarting the route server after the operation |
Çıktıda otomatik olarak oluşturulan üç değer gösterilir:
- Depo GUID’i — Sunucudaki şifrelenmiş disk imajını tanımlayan bir UUID.
- Kimlik Bilgisi (Credential) — LUKS birimini şifrelemek/çözmek için kullanılan rastgele bir parola.
- Ağ Kimliği (Network ID) — Bu deponun servislerinin IP alt ağını belirleyen bir tamsayı (2816’dan başlar, 64’er artar).
Kimlik bilgisini güvenli bir şekilde saklayın. Bu, deponuzun şifreleme anahtarıdır. Kaybedilmesi durumunda veriler kurtarılamaz. Kimlik bilgisi yerel
config.jsondosyanızda saklanır ancak sunucuda saklanmaz.
Bağlama ve Ayırma
Bağlama işlemi şifresini çözer ve depo dosya sistemini erişilebilir hale getirir. Ayırma işlemi şifrelenmiş birimi kapatır.
rdc repo mount --name my-app -m server-1 # Şifresini çöz ve bağla
rdc repo unmount --name my-app -m server-1 # Ayır ve tekrar şifrele
| Seçenek | Açıklama |
|---|---|
--checkpoint | Bağlama/ayırma öncesinde bir kontrol noktası oluştur |
--skip-router-restart | Skip restarting the route server after the operation |
Durum Kontrolü
rdc repo status --name my-app -m server-1
Depoları Listeleme
rdc repo list -m server-1
Yeniden Boyutlandırma
Depoyu tam bir boyuta ayarlayın veya belirli bir miktar genişletin:
rdc repo resize --name my-app -m server-1 --size 20G # Tam boyutu ayarla
rdc repo expand --name my-app -m server-1 --size 5G # Mevcut boyuta 5G ekle
Yeniden boyutlandırma öncesinde deponun bağlantısı kesilmiş olmalıdır.
Çatallama (Fork)
Mevcut bir deponun güncel durumunun bir kopyasını oluşturun:
rdc repo fork --parent my-app --tag staging -m server-1
Çatallar name:tag modelini kullanır: ortaya çıkan çatal my-app:staging olarak adlandırılır. Bu, kendi GUID’i ve ağ kimliğine sahip yeni bir şifrelenmiş kopya oluşturur ve üst deponun adını paylaşır. Çatal (fork), üst depo ile aynı LUKS kimlik bilgisini paylaşır.
Doğrulama
Bir deponun dosya sistemi bütünlüğünü kontrol edin:
rdc repo validate --name my-app -m server-1
Sahiplik
Depo içindeki dosya sahipliğini evrensel kullanıcıya (UID 7111) ayarlayın. Bu genellikle iş istasyonunuzdan dosya yükledikten sonra gereklidir, çünkü dosyalar yerel UID’nizle gelir.
rdc repo ownership --name my-app -m server-1
Komut, Docker konteyner veri dizinlerini (yazılabilir bind bağlamaları) otomatik olarak algılar ve hariç tutar. Bu, dosyaları kendi UID’leriyle yöneten konteynerlerin (ör. MariaDB=999, www-data=33) bozulmasını önler.
| Seçenek | Açıklama |
|---|---|
--uid <uid> | 7111 yerine özel bir UID ayarla |
--skip-router-restart | Skip restarting the route server after the operation |
Tüm dosyalar üzerinde sahipliği zorlamak için (konteyner verileri dahil):
rdc repo ownership --name my-app -m server-1
Sahipliğin ne zaman ve nasıl kullanılacağına dair eksiksiz bir yol haritası için Taşıma Rehberi sayfasına bakın.
Şablon
Bir depoyu dosyalarla başlatmak için şablon uygulayın:
rdc repo template apply --name my-template -m server-1 -r my-app --file ./my-template.tar.gz
Silme
Bir depoyu ve içindeki tüm verileri kalıcı olarak yok edin:
rdc repo delete --name my-app -m server-1
Bu, şifrelenmiş disk imajını kalıcı olarak yok eder. Bu işlem geri alınamaz.