Ana içeriğe atla Navigasyona atla Alt bilgiye atla

Yedekleme ve Geri Yükleme

Çalışan bir deponuzu ikinci bir makineye kopyalayın, birincisini devre dışı bırakın ve verilerinizi geri getirin.

Yedekleme ve Geri Yükleme

Uygulamanız üretimde canlı. Yedekleyin. rdc, tüm deponuzu; uygulamayı, veritabanını, dosyalarını ve yapılandırmasını; ikinci bir makineye kopyalar ve birincisi ortadan kalktığında onu geri getirir.

Bu öğretici bunu yalnızca anlatmaz. İki gerçek makinede fiilen yapar ve sonunda verileri geri okur.

Üç adım

Kopyala, geri yükle, kanıtla

  1. Depoyu kontrolünüzdeki bir makineye kopyalayın.
  2. O kopyayı kendi deposuna geri yükleyin.
  3. Verilerinizi geri okuyarak kanıtlayın.

Adım 1: Hayatta kalması gereken veri

rdc term connect my-app --command 'cat orders.txt'

Önce çalışan repository'den veriyi okuyun. Bir dosyada tek bir satır, böylece sondaki kanıt körü körüne güvenmeniz gereken bir şey değil, kendi gözünüzle görebileceğiniz bir şey olur.

Aşağıdaki her şey bu tek satıra göre değerlendirilecek. 7. adımda onu tekrar arayın.

Adım 2: Depoyu ikinci bir makineye kopyalayın

rdc repo push my-app --to machine-12

Repository'yi ikinci bir makineye kopyalayın. İlk gönderim, şifrelenmiş imajın tamamını taşır; bu filoda yaklaşık iki gigabayt otuz ile kırk saniye arasında tamamlanır. Sonraki her gönderim yalnızca değişen parçaları gönderir. Hedefe ulaşan şey bir yedekleme artefaktıdır, ikinci bir çalışan repository değil.

Delta Aktarımı öğreticisi, bunun artımlı yarısını canlı olarak gösterir.

Bir yapı öğesi (artifact), çalışan bir depo değildir; 5. adımın tüm var oluş sebebi de budur.

Adım 3: Yedek makine artık bunu elinde tutuyor

rdc repo list --machine machine-12

Yedek makineye ne tuttuğunu sorun. Kopya, config'inizden çözümlenen kendi adıyla görünür. Ham bir tanımlayıcı taşıyan ikinci satır, saklanan delta tabanıdır ve bu makineye yapılacak sonraki gönderimi artımlı hale getiren şey de budur.

Adım 4: Felaket

rdc repo down my-app --unmount

Birincil makineyi çevrimdışına alın: servislerini durdurun ve şifreli birimini unmount edin. Bundan sonrası, diğer makinedeki kopya üzerinden yürür.

Adım 5: Yapı öğesini bir depoya dönüştürün

rdc backup restore my-app@machine-12 --as my-app-restored --machine machine-12 --yes

Restore, gönderilmiş bir kopyayı repository'ye dönüştüren komuttur. Adı --as ile verilir, yeri --machine ile belirlenir, onayı --yes ile geçilir. Yeni bir adla geri yüklemek hiçbir şeyin üzerine yazmaz, bu yüzden canlı bir makinede güvenle denenebilir.

Bunu ihtiyaç duymadan önce, makine başına bir kez yapın. Hiç uçtan uca sınanmamış bir makine, gönderimleri ne kadar sorunsuz görünürse görünsün, yedeklenmiş sayılmaz; yeni bir adla geri yükleme ise trafik sunmakta olan bir makinede bile güvenlidir.

Adım 6: Bağlayın (mount)

rdc repo up my-app-restored --no-start

Geri yüklenen repository'yi mount edin. Container'lar bilerek kapalı kalır: burada kanıtlanan şey veridir, uygulama değil.

Adım 7: Veri hayatta kaldı

rdc term connect my-app-restored --command 'cat orders.txt'

Birinci adımdaki aynı komut, iki komut öncesinde var olmayan bir repository'ye karşı çalıştırılıyor. Satır bayt bayt geri geliyor, hem de hiçbir zaman orijinal olmamış bir makineden.

İkisini yan yana koyalım. 1. adım, birincil makinedeki orijinal depodan:

order-1042 paid 2026-08-16
  1. adım, iki komut öncesine kadar var bile olmayan bir depodan, üstelik farklı bir donanımda:
order-1042 paid 2026-08-16

Bu öğreticinin özü budur. Yedeklemenin başarılı olduğuna dair bir rapor değil, o satırın kendisi; başka bir makineden geri okundu.

Adım 8: Geri sarabileceğiniz yedekler

rdc backup snapshot my-app

Bir makineye kopyalamak size repository'yi şu anki haliyle verir. Geriye dönebileceğiniz bir geçmiş için anlık görüntüler parça depolamaya gider: ilk çalıştırma yazılan parçaları yükler, sonraki her çalıştırma yalnızca değişeni yükler ve herhangi bir anlık görüntü tek başına geri yüklenebilir. Bu komut burada yalnızca yazılır, çalıştırılmaz; çünkü yükleme bir hesap sunucusu ve lisanslı bir repository gerektirir, kayıtta ise ikisi de yoktur. Kendi kurulumunuzda, bir hesapla, bu komut çalışır.

Kendi kurulumunuzda, bir hesapla, tam sıra şöyledir:

rdc backup snapshot my-app
rdc backup manifests my-app
rdc backup restore my-app --as my-app-yesterday --at <snapshot-id> --up

Yedekleme ve Geri Yükleme kılavuzu, anlık görüntüleri (snapshot), saklama politikalarını ve doğrulamayı ayrıntılı olarak ele alır.


Sonraki: Ağ ve Alan Adları.