İçeriğe geç
Proxus 2.0.0 Proxus 2.0: Proxus tarihinin en büyük sürümü Sürüm notları

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.yml dosyasıyla ve proxus proje 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 docker komutunu çalıştırabilen bir kabuk (shell) erişimi gerekir.

Neler yedeklenmeli

Yığının tüm verisi beş Docker biriminde durur:

BirimİçerikKaybolursa
proxus_configProxus-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-volumeYapı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şiMerkez sunucuda yaptığınız tüm tanımlar kaybolur.
proxus_clickhouse_dataTelemetri veritabanı (ClickHouse): saklanan tüm değerler ve sistem günlükleriTüm geçmiş kaybolur: trendler, raporlar, günlükler.
proxus_natsNATS sunucusunda bekleyen mesajlar ve hesap verileriHenüz iletilmemiş mesajlar kaybolur.
proxus_proxus_modulesMerkez sunucuya kurulan eklenti modülleriEklentilerin 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 start

Klasö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 start

Ardı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-server

Yeni bir makinede geri yükleyin

  1. Docker'ı kurun ve yedekteki docker-compose.yml dosyasını /opt/proxus klasörüne kopyalayın.
  2. Konteynerleri ve birimleri başlatmadan oluşturun. Bunun için /opt/proxus klasöründe docker compose -p proxus create komutunu çalıştırın.
  3. Boş birimleri yukarıdaki for döngüsüyle doldurun (stop satırı olmadan). Ardından yığını docker compose -p proxus start ile başlatın.
  4. Yeni makinenin adresi farklıysa Edge Gateway'lerin merkez sunucuya ulaştığı adresi (7422 portu) 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] PublicHostNames ayarı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.
  5. 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

  • Yükseltme: yedek aldıktan sonra yeni sürüme geçme.
  • Güvenlik: config birimini ve kimlik bilgilerini koruma.

Bu sayfa işinize yaradı mı?

Proxus'u değerlendiriyor musunuz? 30 dakikalık teknik görüşmede kendi makinelerinizle görün.