Nasıl yapılır · Sistem yöneticileri için
Yedekleme ve geri yükleme
Proxus kendi yedeğini almaz. Docker yığınında neyin yedekleneceğini, tutarlı kopyanın nasıl alınacağını ve geri yüklemeyi öğrenin.
Bu kılavuzu tamamladığınızda bir Proxus merkez sunucusunu sıfırdan yeniden kurmak için gereken her şeyin kopyası elinizde olur: cihazlar, alarm kuralları, kullanıcılar, saklanan değerler ve Edge Gateway bağlantıları. Bu kopyayı nasıl geri yükleyeceğinizi de öğrenirsiniz.
Başlamadan önce
- Merkez sunucu, hazır
docker-compose.ymldosyasıyla veproxusproje adıyla çalışıyor olmalıdır (bkz. Docker). Proje adı farklıysa birim adlarıproxus_yerine o adla başlar. - Merkez sunucunun makinesi dışında, telemetri veritabanının sığacağı kadar alanı olan bir yedekleme konumu gerekir.
- Makinede
dockerkomutunu çalıştırabilen bir kabuk (shell) erişimi gerekir.
Neler yedeklenmeli
Yığının tüm verisi beş Docker biriminde durur:
| Birim | İçerik | Kaybolursa |
|---|---|---|
proxus_config | Proxus-config.toml, NATS kimlik bilgileri ve TLS dosyaları (nats/), oturum açmayı koruyan anahtarlar (keys/), sertifika deposu anahtarı (keys/STORE/certificate-store.key), Edge Gateway'in OPC UA sertifikaları, günlük dosyaları | Tüm uzak Edge Gateway'lerin yeniden kurulması gerekir. Tüm kullanıcıların oturumu kapanır, yapılandırma varsayılan değerlere döner ve veritabanındaki sertifikalar okunamaz. |
proxus_proxus-db-volume | Yapılandırma veritabanı (PostgreSQL): cihazlar, profiller, veri noktaları, alarm kuralları, işlem akışları, kullanıcılar, roller, sertifikalar, lisans, değişiklik geçmişi | Merkez sunucuda yaptığınız tüm tanımlar kaybolur. |
proxus_clickhouse_data | Telemetri veritabanı (ClickHouse): saklanan tüm değerler ve sistem günlükleri | Tüm geçmiş kaybolur: trendler, raporlar, günlükler. |
proxus_nats | NATS sunucusunda bekleyen mesajlar ve hesap verileri | Henüz iletilmemiş mesajlar kaybolur. |
proxus_proxus_modules | Merkez sunucuya kurulan eklenti modülleri | Eklentilerin yeniden kurulması gerekir. |
Kendi değişikliklerinizi içeren docker-compose.yml dosyasının da bir kopyasını saklayın.
Makinedeki birim adlarını kontrol edin:
docker volume ls --filter name=proxus_Sertifika deposu anahtarını merkez sunucuya dosyayla değil, PROXUS_CERTIFICATE_STORE_KEY ortam değişkeniyle veriyorsanız bu değeri de yedeklerinizle birlikte saklayın.
Tam yedek alın (yığın durdurulmuşken)
Yığın dururken alınan birim kopyası tutarlıdır, çünkü veritabanları o sırada yazma yapmaz. Yığın durduğunda cihazlar da okunmaz. Bu yüzden tam yedeği üretim saatleri dışına planlayın, örneğin her gece ya da her hafta.
BACKUP=/backup/proxus/$(date +%F)
mkdir -p "$BACKUP"
cp /opt/proxus/docker-compose.yml "$BACKUP/"
docker compose -p proxus stop
for v in config proxus-db-volume clickhouse_data nats proxus_modules; do
docker run --rm -v proxus_$v:/data:ro -v "$BACKUP":/backup alpine \
tar czf /backup/$v.tar.gz -C /data .
done
docker compose -p proxus startKlasörü yedekleme konumuna kopyalayın ve birkaç farklı tarihe ait yedeği saklayın.
Yapılandırma veritabanını çalışırken yedekleyin
İki tam yedek arasında yapılandırmayı güvence altına almak için hiçbir hizmeti durdurmadan yapılandırma veritabanının dökümünü alın ve config birimini kopyalayın. Bu işlemi her gün ya da büyük bir değişiklikten önce çalıştırın:
BACKUP=/backup/proxus/$(date +%F-%H%M)
mkdir -p "$BACKUP"
docker exec postgresql pg_dump -U proxus -p 5442 -d proxus -Fc > "$BACKUP/proxus-db.dump"
docker run --rm -v proxus_config:/data:ro -v "$BACKUP":/backup alpine \
tar czf /backup/config.tar.gz -C /data .Bu yedek, saklanan değerleri içermez. Saklanan değerler için tam yedeği kullanın.
Compose dosyasında veritabanı kullanıcısını, parolasını ya da adını değiştirdiyseniz komutlarda proxus yerine kendi değerlerinizi yazın.
Aynı makinede geri yükleyin
Yığını durdurun, her birimin içeriğini yedekteki içerikle değiştirin ve yığını yeniden başlatın. Aşağıdaki örnek, $BACKUP klasöründeki bir tam yedeği kullanır:
docker compose -p proxus stop
for v in config proxus-db-volume clickhouse_data nats proxus_modules; do
docker run --rm -v proxus_$v:/data -v "$BACKUP":/backup alpine \
sh -c "find /data -mindepth 1 -delete && tar xzf /backup/$v.tar.gz -C /data"
done
docker compose -p proxus startArdından oturum açın; cihazları, trendleri ve kullanıcıları kontrol edin.
Bir pg_dump dosyasından yalnızca yapılandırma veritabanını geri yüklemek için merkez sunucuyu ve Edge Gateway'i durdurun, geri yüklemeyi yapın ve ikisini yeniden başlatın:
docker compose -p proxus stop proxus-ui proxus-server
docker exec -i postgresql pg_restore -U proxus -p 5442 -d proxus --clean --if-exists < "$BACKUP/proxus-db.dump"
docker compose -p proxus start proxus-ui proxus-serverYeni bir makinede geri yükleyin
- Docker'ı kurun ve yedekteki
docker-compose.ymldosyasını/opt/proxusklasörüne kopyalayın. - Konteynerleri ve birimleri başlatmadan oluşturun. Bunun için
/opt/proxusklasöründedocker compose -p proxus createkomutunu çalıştırın. - Boş birimleri yukarıdaki
fordöngüsüyle doldurun (stopsatırı olmadan). Ardından yığınıdocker compose -p proxus startile başlatın. - Yeni makinenin adresi farklıysa Edge Gateway'lerin merkez sunucuya ulaştığı adresi (
7422portu) DNS'te güncelleyin ya da Edge Gateway'leri yeniden kurun. Merkez sunucunun sertifikaları makinenin adlarını ve adreslerini kapsar. Uç cihazların ve kullanıcıların kullandığı adresi[Service]PublicHostNamesayarına ekleyin ve yeniden başlatın. Tarayıcılar ad uyuşmazlığı bildirirse merkez sunucunun HTTPS sertifikasını Güvenlik > Sertifika deposu ekranında yenileyin. - Oturum açın. Lisans kimliği değiştiği için lisans kabul edilmezse yeni bir lisans anahtarı isteyin. Ayrıntılar için Lisans sayfasına bakın.
Kubernetes
Kubernetes'te merkez sunucunun ve her Edge Gateway'in kalıcı birimlerini (/app/config) kümenin birim yedekleme çözümüyle yedekleyin. Veritabanları için operatörlerin yedekleme özelliklerini kullanın: PostgreSQL için CloudNativePG, ClickHouse için ClickHouse operatörü. Burada da aynı kural geçerlidir: merkez sunucunun yapılandırma birimini (sertifika deposu anahtarıyla birlikte) ve yapılandırma veritabanını aynı ana ait yedekten geri yükleyin.
Geri yüklemeyi deneyin
Hiç geri yüklenmemiş bir yedek, yedek değil umuttur. Ara sıra yedeği bir test makinesine geri yükleyin, oturum açın ve cihazların, trendlerin ve kullanıcıların yerinde olduğunu kontrol edin.
Sonraki adımlar
Bu sayfa işinize yaradı mı?
Proxus'u değerlendiriyor musunuz? 30 dakikalık teknik görüşmede kendi makinelerinizle görün.