Server Pro 5.0.1 veya Community Edition 5.0.1 sürümünü hiç çalıştırmadıysanız ya da 5.0.1 ile yepyeni bir örnek başlattıysanız, bu kurtarma sürecini çalıştırmanız gerekmez.
- (2024-04-22 13:40 BST): “Sisteme yeni güncellemelerin girmesini durdurun ve tüm değişiklikleri MongoDB’ye aktarın (flush)” adımı eklendi.
- (2024-04-23 11:45 BST): 5.0.1’deki bozuk flush işlemleri hesaba katıldı ve 5.0.2 başlatılmışsa flush işlemleri atlanır.
OVERLEAF_HISTORY_CHUNKS_BUCKET içinde tanımlandığı şekliyle) bağlıdır.
Kurtarma süreci, Server Pro konteyneri içinde uygulamanın başlamasını geciktirir. Bu süre boyunca site çevrimdışı görünür. Kurtarmanın yalnızca tek bir Server Pro konteyneri örneğinden çalıştırılmasını destekliyoruz; diğer tüm yatay ölçekleme çalışanlarının (worker) çevrimdışı olması gerekir.
Gerekirse kurtarma sürecini durdurup devam ettirebilirsiniz.
Performans testlerimize göre kurtarma süreci, modern donanımda (3 GHz CPU saat hızı ve yerel NVMe depolama) dakikada yaklaşık 10 bin küçük projeyi işleyebilir. Örneğin 100 bin projeye sahip bir örnek için en az 10+2 dakikalık kesinti süresine izin veren bir bakım penceresi planlayın. Örneğinizdeki proje sayısını tahmin etmek için şu sorguyu kullanın:
Kurtarma süreci
1
Sürüm imajlarını çekin
5.0.3 sürüm imajlarını çekin.2
Birkaç proje belirleyin
Geçmişi eksik olan birkaç projeyi kimliğiyle belirleyin; ideal olarak bunlardan birinde değişiklik yapma izniniz olmalıdır.
3
Bakım planlayın
Kesinti süresi için bir bakım penceresi planlayın.
4
Biri hariç tüm çalışanları durdurun
Yatay ölçekleme kurulumu kullanıyorsanız biri hariç tüm çalışanları durdurun.
5
Yeni güncellemeleri durdurun ve tüm değişiklikleri MongoDB'ye aktarın
Sisteme yeni güncellemelerin girmesini durdurun ve tüm değişiklikleri MongoDB’ye aktarın (flush):
-
“Open/Close Editor” sekmesindeki
https://my-server-pro.example.com/admin#open-close-editoradresinde bulunan yönetici paneli üzerinden düzenleyiciyi kapatın ve tüm kullanıcıların bağlantısını el ile kesin. -
Websocket/gerçek zamanlı (real-time) hizmetini durdurun.
-
Gerçek zamanlı hizmetin
down:ile belirtildiği şekilde kapanmasını bekleyin. -
Etkinse git-bridge konteynerini durdurun.
-
5.0.2’yi hiç çalıştırmadıysanız: Belge güncellemeleri için el ile bir flush başlatın ve başarıyla tamamlanmasını bekleyin.
Hata durumunda komutu tekrarlayabilirsiniz. Ardışık çalıştırmalarda sıfırdan farklı bir
failureCountgörürseniz lütfen geçişi durdurun (hizmetleridocker restart git-bridge sharelatexile geri yükleyin) ve destek ekibine ulaşın. -
5.0.2’yi hiç çalıştırmadıysanız: Tüm değişikliklerin redis’ten aktarıldığından emin olun.
redis-clikomutundan herhangi bir çıktı alırsanız lütfen geçişi durdurun (hizmetleridocker restart git-bridge sharelatexile geri yükleyin) ve destek ekibine ulaşın. -
Bekleyen geçmiş değişikliklerini aktarmayı deneyin.
Hatalı veritabanı geçişi nedeniyle bazı projelerin geçmişi bozuk olduğundan bu, en iyi çaba esaslı bir flush olacaktır. Tüm hatalar, kurtarma sürecinin sonunda geçmişin yeniden eşitlenmesiyle giderilecektir.
6
Yedek alın
Örneğin bir tutarlı yedeğini almayı düşünün.
7
Yükseltin
5.0.3 sürümüne yükseltin.8
Otomatik kurtarma
Kurtarma süreci, konteyner başlatıldığında otomatik olarak çalışır.
9
İlerlemeyi izleyin
Betiğin ilerlemesini
/var/lib/overleaf/data/history/doc-version-recovery.log günlük dosyasını takip ederek (tail) izleyebilirsiniz. Başlangıçta toplam proje sayısını ve işlenen her 1000 projeden sonra bir özet yazdırır.10
Kurtarma sürecinin tamamlanmasını bekleyin
Yukarıdaki günlük dosyasını
Done. satırı yazdırılana kadar takip ederek veya Server Pro konteynerinin standart çıktısına Finished recovery of doc versions. yazdırılmasını bekleyerek kurtarma sürecinin tamamlanmasını bekleyin.11
Kurtarma sürecini doğrulayın
Daha önce geçmişi eksik olan birkaç projenin geçmiş panelini açarak kurtarma sürecini doğrulayın.
-
Test edilecek projeler için yeniden eşitlemeyi hızlandırın (Sonunda zaten işlenecekler, ancak sıralarının gelmesini beklemek istemiyoruz.)
(Test edilecek her proje kimliği için tekrarlayın;
000000000000000000000000değerini her seferinde bir proje kimliğiyle değiştirin.) -
Projeler için proje düzenleyicisini açın:
https://my-server-pro.example.com/project/000000000000000000000000 - Projenin “History” panelini açın ve en son içeriği görün.
- İsteğe bağlı: “History” panelini yeniden kapatın. Başlığa bir yorum eklemek gibi bir kod değişikliği yapın.
- İsteğe bağlı: Yerel değişikliğin aktarılmasını tetiklemek için yeniden derleme başlatın. “History” panelini yeniden açın ve değişikliği görün. İşiniz bittiğinde değişikliği geri alın.
12
Yatay ölçekleme için...
Diğer çalışanları yeniden başlatın.
13
Örneği çalışır durumda tutun
Lütfen kurtarma sürecini yürüten örneği çalışır durumda tutun. Bu örnek, arka planda 1 eşzamanlılıkla tüm projelerin geçmişini yeniden eşitler. Bu, temel yükte hafif bir artışa yol açar. (Örneği yeniden başlatabilirsiniz, ancak yeniden eşitlemelere baştan başlaması gerekir.)
14
İşiniz bittiğinde bize bildirin
Server Pro müşterileri: Kurtarma sürecini tamamladığınızda lütfen destek ekibine bildirin.

