Alibaba Cloud Elasticsearch için otomatik yedeklemeyi etkinleştirdikten sonra sistem, yapılandırılan aralıklarla dizin verilerini yedekler. Bu yedekleri kullanarak yanlışlıkla silinen verileri kurtarabilir veya uygulama mantığı hatalarından kaynaklanan sorunları çözebilirsiniz.
Kullanım notları
-
Veri yedekleme ve geri yükleme işlemleri için
elasticsearch-repository-osseklentisi gereklidir. Bu eklenti tüm Alibaba Cloud Elasticsearch örneklerinde önceden yüklüdür ve kaldırılamaz. Ayrıntılar için bkz. elasticsearch-repository-oss.Anlık görüntüler yalnızca dizin verilerini kaydeder; izleme verilerini (
.monitoringveya.security_auditön ekine sahip dizinler), meta verileri, işlem günlüklerini (translog), yapılandırmaları, paketleri, eklentileri veya günlük kayıtlarını içermez. Otomatik yedeklemeler yalnızca son 7 güne ait anlık görüntüleri saklar. Süresi dolan anlık görüntüler otomatik olarak silinir ve kurtarılamaz. Verileri 7 günden daha uzun süre saklamak istiyorsanız, süresi dolmadan önce Manuel yedekleme ve geri yükleme veya Anlık görüntüleri yerel bir OSS paketine otomatik olarak yedekleme yöntemlerini kullanarak dışa aktarın veya geçişini yapın. Otomatik yedekleme anlık görüntüleri yalnızca orijinal kümeye geri yüklenebilir. Verileri farklı bir kümeye geri yüklemek için manuel yedekleme ve geri yükleme kullanın. Otomatik yedekleme için kullanılan dizin meta verilerinin boyutu
100 MBdeğerini aşamaz. Bu sınır aşıldığında yedekleme görevi başarısız olabilir. Bunun yerine manuel yedekleme ve geri yükleme yöntemini kullanın.İlk anlık görüntü verilerin tam bir kopyasını oluşturur ve bu işlem uzun sürebilir. İlk yedekleme için manuel yedekleme ve geri yükleme yöntemini kullanmanız önerilir.
Otomatik yedeklemeyi etkinleştirmek ve anlık görüntü deposunu (
aliyun_auto_snapshot) oluşturmak ücretsizdir.İlk otomatik yedekleme veya tam yedeklemeyi tetikleyen herhangi bir yedekleme işlemi, verilerin tam kopyasını oluşturur. Bu süreç kümenin CPU ve G/Ç kaynaklarını tüketir ve iş performansı üzerinde olumsuz etki yaratabilir. İşiniz üzerindeki performans etkisini azaltmak için otomatik yedeklemeyi sabahın erken saatleri gibi yoğun olmayan zamanlara planlamanızı öneririz.
Otomatik yedeklemeyi etkinleştirin ve küme uyarılarını yapılandırın
Otomatik yedeklemeyi etkinleştirin
Alibaba Cloud Elasticsearch konsolu üzerinden oturum açın.
Sol gezinme bölmesinde Elasticsearch Clusters seçeneğine tıklayın.
Üst menü çubuğundan bir kaynak grubu ve bölge seçin.
Elasticsearch Clusters sayfasında hedef örneğin kimliğine (ID) tıklayın.
Sol gezinme bölmesinde Data Backup seçeneğine tıklayın.
Snapshots (Free Trial) alanında Auto Snapshot anahtarını açın.
-
Auto Snapshot Period öğesinin yanındaki Set düğmesine tıklayın.
Örnekler için otomatik yedekleme saati sistem tarafından otomatik olarak oluşturulur ve değiştirilemez.
-
Auto Snapshot Configuration panelinde otomatik yedeklemenin çalışacağı Frequency (sıklık) değerini seçin.
Backup cycle
Description
Every 30 minutes
Her 30 dakikada bir yedekleme yapılır.
Daily
Özelleştirilebilir bir saatte günlük yedekleme yapılır.
Custom
Özel yedekleme döngüsü ve saati belirlenir.Otomatik yedekleme saati, örneğin bulunduğu bölgenin yerel saatine göre ayarlanır.
OK düğmesine tıklayın.
Küme uyarılarını yapılandırın
Otomatik yedeklemeyi etkinleştirdikten sonra anlık görüntü yedekleme durumunu izlemek için küme uyarıları yapılandırın. İzleme sayfasında snapshot status (value) değeri 2 olarak görünüyorsa anlık görüntü görevi başarısız olmuş demektir.
En son anlık görüntü durumunu kontrol etmek için /_cat/snapshots/aliyun_auto_snapshot?format=json komutunu çalıştırın. Gerektiğinde manuel yedekleme yapın.
Anlık görüntü durumu aşağıdaki değerlerden biri olabilir:
SUCCESS: Tüm parçalar başarıyla yedeklendi.
PARTIAL: Bazı parçalar yedeklenemedi.
FAILED: Yedekleme görevi başarısız oldu.
Yakın zamanda oluşturulmuş bir anlık görüntü yoksa yedekleme tetiklenmemiş demektir. Küme veya düğüm düzeyindeki özel durumlar otomatik yedeklemelerin engellenmesine neden olabilir.
Yedekleme anlık görüntülerini görüntüleyin
Otomatik yedeklemeyi etkinleştirdikten sonra Kibana konsolundaki _snapshot API'sini kullanarak anlık görüntüleri görüntüleyebilirsiniz. Ayrıntılar için bkz. Kibana aracılığıyla bir kümeye bağlanma.
-
Anlık görüntü deposunu görüntüleyin.
GET _snapshotÖrnek yanıt:
{ "aliyun_auto_snapshot" : { "type" : "oss", "settings" : { "compress" : "true", "base_path" : "cf95b9-185320276651****/es-cn-09k2053us0003****", "endpoint" : "http://oss-cn-hangzhou-internal.aliyuncs.com" } } }
Parameter
Description
aliyun_auto_snapshot
Otomatik anlık görüntü deposu. İlk anlık görüntü sırasında otomatik olarak oluşturulur ve her zamanaliyun_auto_snapshotolarak adlandırılır. Bir depo, tüm dizinlerin, bazı dizinlerin veya tek bir dizinin yedek verilerini içeren birden çok anlık görüntüyü barındırır.
type
Depolama ortamı.ossdeğeri Object Storage Service (OSS) anlamına gelir.
compress
Anlık görüntü meta veri dosyalarının (dizin eşlemeleri, ayarlar) sıkıştırılıp sıkıştırılmayacağını belirler. Veri dosyalarını etkilemez. Varsayılan değer:false.
base_path
OSS içindeki depolama yolu.
endpoint
Örneğin bulunduğu bölgeye ait OSS paket uç noktası. -
aliyun_auto_snapshotdeposundaki tüm anlık görüntülerin bilgilerini görüntüleyin.GET _snapshot/aliyun_auto_snapshot/_allÖrnek yanıt:
{ "snapshots": [ { "snapshot": "es-cn-09k2053us0003****_20210117030003", "uuid": "vIdSCkthTeGa0nSj4D****", "version_id": 5050399, "version": "5.5.3", "indices": [ ".kibana" ], "state": "SUCCESS", "start_time": "2018-06-28T01:22:39.609Z", "start_time_in_millis": 1530148959609, "end_time": "2018-06-28T01:22:39.923Z", "end_time_in_millis": 1530148959923, "duration_in_millis": 314, "failures": [ ], "shards": { "total": 1, "failed": 0, "successful": 1 } }, { "snapshot": "es-cn-09k2053us0003****_20210118030004", "uuid": "XKO_Uwz_Qu6mZrU3Am****", "version_id": 5050399, "version": "5.5.3", "indices": [ ".kibana" ], "state": "SUCCESS", "start_time": "2018-06-28T01:25:00.764Z", "start_time_in_millis": 1530149100764, "end_time": "2018-06-28T01:25:01.482Z", "end_time_in_millis": 1530149101482, "duration_in_millis": 718, "failures": [ ], "shards": { "total": 1, "failed": 0, "successful": 1 } } ] }Otomatik yedeklemeler örneğin bulunduğu bölgenin yerel saatine göre planlanır ancak API yanıtı zaman damgalarını UTC olarak döndürür. Çin Standart Saati (UTC+8), UTC'den 8 saat ileridedir.
statealanı anlık görüntü durumunu gösterir:
Snapshot status
Description
IN_PROGRESS
Anlık görüntü devam ediyor.
SUCCESS
Anlık görüntü tamamlandı. Tüm parça verileri depolandı.
FAILED
Anlık görüntü başarısız oldu.
PARTIAL
Kısmi başarı. En az bir parça depolanamadı.
INCOMPATIBLE
Anlık görüntü, Alibaba Cloud Elasticsearch örnek sürümüyle uyumlu değil.Otomatik yedekleme anlık görüntüleri aşağıdaki ek varsayılan parametreleri içerir:
Parameter
Description
max_snapshot_bytes_per_sec
Düğüm başına maksimum anlık görüntü aktarım hızı. Varsayılan: 40 MB/sn.
max_restore_bytes_per_sec
Düğüm başına maksimum geri yükleme aktarım hızı. Varsayılan: 40 MB/sn.
chunk_size
Anlık görüntü sırasında büyük dosyaların bölünmesi için kullanılan yığın boyutu (örneğin1g,10m,5k). Varsayılan:null(sınır yok). -
aliyun_auto_snapshotdeposundaki belirli bir anlık görüntünün ayrıntılı bilgilerini görüntüleyin.GET _snapshot/aliyun_auto_snapshot/<snapshot>/_status<snapshot>: Otomatik yedekleme anlık görüntüsünün adı (yukarıdaki tüm anlık görüntüler komutundan alınır). Örnek:
es-cn-09k2053us0003****_20210118030004.Örnek yanıt:
{ "snapshots": [ { "snapshot": "es-cn-09k2053us0003****_20210118030004", "repository": "aliyun_auto_snapshot", "uuid": "XKO_Uwz_Qu6mZrU3Am****", "state": "SUCCESS", "shards_stats": { "initializing": 0, "started": 0, "finalizing": 0, "done": 1, "failed": 0, "total": 1 }, "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 }, "indices": { ".kibana": { "shards_stats": { "initializing": 0, "started": 0, "finalizing": 0, "done": 1, "failed": 0, "total": 1 }, "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 }, "shards": { "0": { "stage": "DONE", "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 } } } } } } ] }
Otomatik yedekten veri geri yükleyin
Sistem dizinlerinin (ön eki . olanlar) geri yüklenmesi Kibana'nın erişilemez hale gelmesine neden olabilir. Sistem dizinlerini geri yüklemeyin.
Kibana konsolunda bir anlık görüntüden dizin verilerini geri yüklemek için aşağıdaki komutları çalıştırın:
-
Belirli bir anlık görüntüden tüm dizinleri geri yükleyin (bu işlem arka planda çalışır).
POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore<snapshot>: Otomatik yedekleme anlık görüntüsünün adı. Örnek:
es-cn-abcdefghij****_20180627091600. -
Belirli bir anlık görüntüden tüm dizinleri geri yükleyin ve görevin tamamlanmasını bekleyin.
_restore API'si eşzamansızdır. Tamamlanmayı beklemek için
wait_for_completionparametresini ekleyin:POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore?wait_for_completion=true<snapshot>: Otomatik yedekleme anlık görüntüsünün adı. Örnek:
es-cn-abcdefghij****_20180627091600. -
Bir anlık görüntüden belirli dizinleri geri yükleyin ve işlem sırasında bunları yeniden adlandırın (bu işlem arka planda çalışır).
POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore { "indices": "index_1", "rename_pattern": "index_(.+)", "rename_replacement": "restored_index_$1" }
Parameter
Description
<snapshot>
Otomatik yedekleme anlık görüntüsünün adı. Örnek:es-cn-abcdefghij****_20180627091600.
indices
Geri yüklenecek dizinin adı.
rename_pattern
İsteğe bağlı. Geri yüklemek istediğiniz dizinlerin adlarını eşleştirmek için kullanılan normal ifade.
rename_replacement
İsteğe bağlı. Eşleşen dizinleri yeniden adlandırmak için kullanılan değiştirme deseni.
Otomatik yedeklemeyi devre dışı bırakın
Alibaba Cloud Elasticsearch konsolu üzerinden oturum açın.
Sol gezinme bölmesinde Elasticsearch Clusters seçeneğine tıklayın.
Üst menü çubuğundan bir kaynak grubu ve bölge seçin.
Elasticsearch Clusters sayfasında hedef örneğin kimliğine (ID) tıklayın.
Sol gezinme bölmesinde Data Backup seçeneğine tıklayın.
Snapshots (Free Trial) alanında Auto Snapshot anahtarını kapatın.
SSS
Otomatik yedekleme neden başarısız olur veya artımlı anlık görüntüler neden tam anlık görüntüler kadar uzun sürer?
OSS saniye başına sorgu (QPS) sınırı aşıldığında ve QpsLimitExceeded hatası raporlandığında otomatik yedekleme başarısız olabilir veya artımlı anlık görüntüler tam anlık görüntüler kadar uzun sürebilir. Bu durum özellikle 00:00 ile 02:00 arasındaki yoğun saatlerde daha sık görülür.
Bu sorunu çözmek için:
OSS QPS kısıtlaması olasılığını azaltmak için otomatik yedekleme zamanlamasını 03:00 ile 04:00 gibi yoğun olmayan saatlere ayarlayın.
Yedekleme başarısız olursa bekleyin ve daha sonra tekrar deneyin. Bu sorun genellikle geçicidir ve normal küme işlemlerini veya iş yüklerini etkilemez.
Konsolda otomatik yedekleme anlık görüntülerini nasıl görüntülerim?
Elasticsearch cloud-native PaaS örnekleri için konsol, otomatik yedekleme anlık görüntülerini görüntülemek üzere doğrudan bir giriş sağlamaz. Bunun yerine aşağıdaki yöntemlerden birini kullanın:
Kibana: Kümeniz için Kibana konsolunda oturum açın ve ardından mevcut anlık görüntüleri görüntülemek için Management > Snapshot and Restore yolunu izleyin.
-
API: Kibana Dev Tools konsolunda aşağıdaki komutu çalıştırın veya Elasticsearch API'sini doğrudan çağırın:
GET _snapshot/aliyun_auto_snapshot/_allBu komut, anlık görüntü adı, durumu, başlangıç zamanı ve dizin bilgileri dahil olmak üzere
aliyun_auto_snapshotdeposundaki tüm anlık görüntüleri döndürür.
Otomatik yedekleme görevi uzun süre IN_PROGRESS durumunda kalırsa veya sonraki yedeklemeler başarısız olursa ne yapmalıyım?
Elasticsearch aynı depo için aynı anda yalnızca bir anlık görüntü görevinin çalışmasına izin verir. Geçici bir küme dalgalanması nedeniyle önceki bir anlık görüntü görevi başlatma aşamasında takılı kalırsa (görev durumu IN_PROGRESS olarak görünür ancak gerçekte hiçbir veri yazılmaz) veri çakışmalarını önlemek amacıyla sonraki otomatik yedekleme görevleri sessizce atlanır. Bu durumda yedeklemeler sürekli olarak başarısız olabilir.
Bu sorunu çözmek için:
-
Kümeniz için Kibana konsolunda oturum açın ve takılı kalan anlık görüntüyü belirlemek için aşağıdaki komutu çalıştırın:
GET _snapshot/aliyun_auto_snapshot/_all -
Takılı kalan anlık görüntü görevini iptal etmek ve temizlemek için aşağıdaki komutu çalıştırın:
POST _snapshot/aliyun_auto_snapshot/<snapshot>/_cancel
1 saatten uzun süre IN_PROGRESS durumunda kalan anlık görüntü görevlerini tespit etmek için özel bir uyarı kuralı yapılandırmanızı öneririz. Böylece bu tür sorunları zamanında tespit edip müdahale edebilirsiniz.
Örnek yükseltme veya yapılandırma değişikliğinden sonra otomatik yedekleme durur ve yeni anlık görüntüler oluşturulmazsa ne yapmalıyım?
Bu sorun genellikle kümenin kendisine referans veren hatalı bir küme arası depo yapılandırmasından kaynaklanır ve anlık görüntülerin yazılmasını engeller.
Bu sorunu çözmek için:
Hatalı küme arası depo yapılandırmasını ve mevcut otomatik anlık görüntü deposunu (
aliyun_auto_snapshot) kaldırın.Alibaba Cloud Elasticsearch konsolunda otomatik yedeklemeyi kapatıp yeniden açın.
Sistem, bir sonraki planlanmış yedekleme zamanında anlık görüntü deposunu otomatik olarak yeniden oluşturur ve normal yedeklemeleri sürdürür.