Yedeklemeler ve felaket kurtarma
AiHummer’ın durumu küçük ve iyi tanımlanmış, bu da yedeklemeleri basit hale getiriyor — yeter ki unutmayın ki anahtar veri tabanında değil ve kendi başına korunmalıdır. Bu sayfa, neyin yedekleneceğini, nasıl yedekleneceğini ve nasıl geri yükleneceğini kapsar.
Ne yedeklenecek
Korunması gereken üç bağımsız şey vardır:
| Ne | Nerede | Neden |
|---|---|---|
| Veritabanı | PostgreSQL | Gerçeğin kaynağı — ajanlar, konuşmalar, hafıza, ayarlar, şifreli sırlar |
| Lekeler | AIHUMMER_BLOB_DIR |
Veritabanı tarafından referans verilen medya ve dosya ekleri |
| Anahtar | AIHUMMER_MASTER_KEY |
Kasayı çözer; veritabanında hiç saklanmadı |
[!DANGER] Yedekle
AIHUMMER_MASTER_KEYayrı ayrı ve onu başka bir yerde saklayın veritabanı dökümü. Kasa bu anahtar altında zarf-şifrelemeli — kaybetmek ana anahtar ve şifrelenmiş sırlar kurtarılamaz, mükemmel bile olsa veritabanı yedeği.
PostgreSQL doğruluk kaynağıdır
Veritabanını otoritatif olarak kabul edin. Önerilen temel çizgi şudur günlük pg_dump artı Zaman noktasına geri alma (PITR) için WAL arşivleme böylece dökümler arasındaki herhangi bir ana ilerleyebilirsiniz.
# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump
Dökümleri, anlık görüntüler arasında hassas kurtarma için sürekli WAL arşivleme (PITR) ile eşleştirin.
Einstein’in hafızası da veritabanında yaşıyor: insan tarafından okunabilir kanonik Markdown (MEMORY.md) ve v2 vektör deposu projeksiyonlar ondan türetilmiş, ayrı yetkili depolar değil.
Blobları yedeklemek
Medya ve dosya ekleri altında bulunur AIHUMMER_BLOB_DIR. Bu dizini veritabanıyla birlikte yedekleyin, böylece geri yüklenen konuşmalar eklerini hâlâ çözebilir. Eğer AIHUMMER_BLOB_DIR yapılandırılmamış, medya/dosya servisi aktif değil ve kopyalanacak ekstra bir şey yok.
aihummer yedekleme ve geri yükleme komutları
CLI, rutini iki komut halinde paketler:
aihummer backup [dir] # write a backup into [dir]
aihummer restore <file> # restore from a backup file
Bunları normal operasyonel yedekleme ve geri yüklemeler için kullanın. Bkz. CLI referansı ilgili komutlar için.
[!WARNING] Sadece bir veritabanı geri yüklemesi tam bir kurtarma değildir. Blob dizinini de geri yükleyin. ve emin ol ki aynı
AIHUMMER_MASTER_KEYhedef ana bilgisayarda mevcut — Aksi takdirde kasa şifresi çözülemez.
Felaket kurtarma
Tam bir ev sahibi kaybı senaryosu için, şunu izleyin felaket kurtarma çalıştırma kitabı (docs/runbooks/disaster-recovery.md). Kurtarma sırası şudur:
- Bir sunucu sağlayın ve aynı AiHummer sürümünü kurun.
- Geri Yükle anahtar içine
AIHUMMER_MASTER_KEY. - Geri Yükle veritabanı (en son döküm, ardından kullanıldıysa WAL/PITR aracılığıyla ileriye doğru ilerletin).
- Geri Yükle blob dizini de/da
AIHUMMER_BLOB_DIR. - Geri Yükle modül yapılandırması ve eserler (ayarlar veritabanında yaşıyor; yedeklemenizden herhangi bir modül özel yapılandırma dosyasını geri yükleyin).
- Geri Yükle Einstein bellek dosyaları —
MEMORY.mdve kanonik Markdown (hafıza projeksiyonu) — dizinlerine (veya yeniden oluşturulmalarına izin verin) veritabanı). - Eğer embedder yan aracı kullanılıyorsa, geri yükle v2 vektör mağazası (veya yeniden inşa et geri yüklenen veritabanından/Markdown’dan indeksler).
- Servisleri başlat (
aihummer up) ve doğrula/readyzvedeploy/host/smoke.sh.
[!TIP] Ayrıca sakla
AIHUMMER_MEDIA_TOKEN_SECRETanahtarınızla. İmzalı tutar medya indirme URL’leri, yeniden başlatmalar ve yeniden yapılarlar boyunca geçerlidir.
Sonra nereye?
- Bir geri yüklemeyi doğrulamak için kullanılan problar ve duman testi: systemd ve sağlık kontrolleri.
- Yükseltme sırasında sürümleme ve geçişler: Yükseltme politikası.