DBAtlas · Veritabanı operasyon atlası

Elasticsearch snapshot ve restore (fs / S3 repository, SLM)

ElasticsearchSeviye: OrtaSüre: 45–90 dk

Kurulu bir Elasticsearch 8.x / 9.x cluster'ı için snapshot (yedek) düzenini kurar ve geri dönüşü anlatır: paylaşımlı dosya sistemi (NFS + path.repo) ya da S3 (keystore) repository'si, rolling restart ile etkinleştirme ve doğrulama, manuel snapshot (indices, include_global_state, feature_states), SLM ile zamanlanmış snapshot ve saklama (expire_after/min_count/max_count), yeni adla ya da kapalı index üzerine restore, feature state restore, izleme ve aynı repository'yi salt okunur bağlayarak başka cluster'a taşıma. Sonunda her gün otomatik alınan, geri yüklenebildiği sınanmış snapshot'lar elde edilir. Snapshot Elasticsearch'te tek geçerli yedektir; aynı cluster içinde mapping/shard değişikliği için reindex, tek index'i hızla geri getirmek için işletim rehberinin senaryoları kullanılır.

Yapı: Elasticsearch 8.x / 9.x cluster (1–N node) + paylaşımlı dizin (NFS) ya da S3 uyumlu nesne depolama

Başlamadan önce

  • Cluster sağlıklı (green) ve elastic (ya da manage + snapshot yetkili) kullanıcının parolası elinizde. Repository ayarı node'ları yeniden başlatmayı gerektirdiği için cluster'ın tek node kaybına dayanabildiğinden (replica'lar atanmış) emin olun.
  • Her node'da HTTP CA dosyası (…) var; API çağrıları bu CA ile doğrulanır.
  • … tüm master ve data node'larında aynı paylaşıma (NFS) bağlı ve fstab'da kalıcı. elasticsearch kullanıcısının UID/GID'si tüm node'larda aynı olmalı ya da paylaşım all_squash,anonuid=…,anongid=… ile tek kullanıcıya eşlenmeli; aksi halde node'lar birbirinin yazdığı dosyaları okuyamaz. Yerel (paylaşımsız) dizin çok node'lu cluster'da repository doğrulamasında hata verir.
  • … bucket'ı oluşturuldu; erişim anahtarının (access key / secret key) bu bucket üzerinde s3:ListBucket, s3:GetObject, s3:PutObject, s3:DeleteObject, s3:AbortMultipartUpload, s3:ListMultipartUploadParts ve s3:ListBucketMultipartUploads yetkisi var. Node'lar … adresine HTTPS ile çıkabiliyor.
  • Paylaşımda yeterli boş alan var: ilk snapshot index'lerin disk boyutu kadar yer kaplar, sonrakiler yalnız değişen segment'leri ekler (artımlı).
  • Sürüm kuralları biliniyor: snapshot aynı ya da daha yeni sürümdeki cluster'a restore edilir; eski sürüme restore edilemez. Bir index, oluşturulduğu ana sürümün en fazla bir sonraki ana sürümüne restore edilebilir (8.x'te oluşturulan index 9.x'e gelir; 7.x'te oluşturulan index 9.x'e normal index olarak gelmez).
  • Tüm node'larda root yetkisi ve rolling restart için bakım penceresi var.

Rehberin aşamaları

  • API erişimi (tüm node'lar) — API için geçici kimlik dosyası · Cluster ve mevcut repository'leri kontrol et
  • Paylaşımlı dosya sistemi hazırlığı (tüm node'lar) — NFS paylaşımını bağla · Dizin yetkisini ayarla ve yazmayı dene · path.repo ayarını ekle
  • S3 kimlikleri ve client ayarları (tüm node'lar) — S3 erişim anahtarlarını keystore'a ekle · S3 client ayarlarını ekle
  • Repository'yi kaydet ve doğrula — Repository'yi kaydet · Repository'yi doğrula
  • Manuel snapshot — Deneme index'ini oluştur · Snapshot al · Snapshot durumunu izle
  • SLM ile otomatik snapshot — SLM politikasını oluştur · Politikayı hemen çalıştır · SLM durumunu ve istatistiklerini kontrol et · Retention'ı elle çalıştır
  • Restore — Index'i yeni adla restore et · Restore'u izle ve belge sayısını karşılaştır · Geri yüklenen kopyayı sil · Index'i kapat ve yerinde restore et · Feature state'i restore et
  • Başka cluster'a taşıma — Hedef cluster için hazırlık · Repository'yi salt okunur bağla · Index'leri hedef cluster'a restore et · Hedefteki kimlik dosyasını sil
  • İzleme ve bakım — Snapshot sağlığını izle · Repository temizliği · Kimlik dosyalarını sil · Düzenli geri dönüş tatbikatı
Ortamına göre adım adım planı aç →