İçeriğe geç
Proxus 2.0.1 2.0 geçişinden sonra lisans ve giriş düzeltmeleri Sürüm notları

Nasıl yapılır · Sistem yöneticileri için

Yedekleme ve geri yükleme

Bir Proxus merkez sunucusunu kurulum betiğiyle ya da elle yedekleyin ve geri yükleyin: neyin yedekleneceği, birimlerin tutarlı kopyası, geri yükleme.

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 çalışıyor olmalıdır (bkz. Docker). Birim adları yığının adıyla başlar: .env içindeki COMPOSE_PROJECT_NAME, yeni kurulumlarda proxus, önceki bir kurulum betiğiyle yapılmış kurulumlarda proxus-platform. Aşağıdaki komutlar bunu $P olarak kullanır.
  • 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.

Yapılandırmayı kurulum betiğiyle yedekleyin ve geri yükleyin

proxus-platform klasörünü içeren klasörde betiği çalıştırın ve Back up the configuration now seçeneğini seçin ya da bir komutla çalıştırın:

curl -fsSL https://proxus.io/install.sh | bash -s -- backup --yes

Betik yapılandırmayı ölçer ve yeterli boş disk alanı olup olmadığını kontrol eder; Proxus'u durdurur (bu sırada cihazlar okunmaz, genellikle bir dakikadan kısa), yapılandırmayı kopyalar, kopyaları doğrular ve Proxus'u yeniden başlatır. Telemetri veritabanını (clickhouse_data) ve mesaj sunucusunun verisini (nats) kopyalamaz ve hiç değiştirmez: geri yüklemeden sonra Proxus onları kullanmaya devam eder. Her yedek, proxus-platform/backups/ içinde zamanı ve sürümüyle adlandırılmış bir klasördür:

Dosyaİçerik
<birim>.tar.gzHer yapılandırma birimi için bir tane: config, yapılandırma veritabanı (proxus-db-volume) ve eklenti modülleri (proxus_modules). Keycloak'ın verisi yapılandırma veritabanındadır.
files/.env, compose dosyaları, docker-compose.override.yml dosyanız ve Keycloak dosyaları.
manifest.envSürüm, yığın adı, zaman, neden ve birimler.
SHA256SUMSYukarıdakilerin sağlama toplamları; geri yükleme bunlarla uyuşmayan bir yedeği reddeder.

Geri yüklemek için betiği çalıştırın ve Restore a backup seçeneğini seçin ya da yedeğin adını verin:

curl -fsSL https://proxus.io/install.sh | bash -s -- restore --backup 20261028-063634-v2.1.0

Proxus o yedeğin yapılandırmasına ve sürümüne döner; betik sistem sağlıklı olana kadar bekler. Yedekten sonra değişen cihazlar, kullanıcılar ve ayarlar yedekteki haliyle değiştirilir; saklanan değerler korunur.

Yapılandırmayı her gece yedeklemek için betiği sistemin zamanlayıcısından çalıştırın, örneğin cron ile 02:30'da:

30 2 * * * cd /opt && curl -fsSL https://proxus.io/install.sh | bash -s -- backup --yes >/dev/null 2>&1

Neler yedeklenmeli

Yığının tüm verisi beş Docker biriminde durur. Adları yığının adıyla başlar, örneğin proxus_config:

BirimİçerikKaybolursa
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-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.
clickhouse_dataTelemetri veritabanı (ClickHouse): saklanan tüm değerler ve sistem günlükleriTüm geçmiş kaybolur: trendler, raporlar, günlükler.
natsNATS sunucusunda bekleyen mesajlar ve hesap verileriHenüz iletilmemiş mesajlar kaybolur.
proxus_modulesMerkez sunucuya kurulan eklenti modülleriEklentilerin yeniden kurulması gerekir.

.env, compose dosyaları ve docker-compose.override.yml dosyanızın da bir kopyasını saklayın.

Kurulum klasöründe yığının adını ve makinedeki birim adlarını kontrol edin:

P=$(sed -n 's/^COMPOSE_PROJECT_NAME=//p' .env); P=${P:-$(basename "$PWD")}
docker volume ls --filter "label=com.docker.compose.project=$P"

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 docker-compose*.yml .env "$BACKUP/"

docker compose stop

for v in config proxus-db-volume clickhouse_data nats proxus_modules; do
  docker run --rm -v ${P}_$v:/data:ro -v "$BACKUP":/backup alpine \
    tar czf /backup/$v.tar.gz -C /data .
done

docker compose 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 ${P}_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 stop

for v in config proxus-db-volume clickhouse_data nats proxus_modules; do
  docker run --rm -v ${P}_$v:/data -v "$BACKUP":/backup alpine \
    sh -c "find /data -mindepth 1 -delete && tar xzf /backup/$v.tar.gz -C /data"
done

docker compose 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 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 start proxus-ui proxus-server

Yeni bir makinede geri yükleyin

  1. Docker'ı kurun ve yedekteki compose dosyalarını ve .env dosyasını yeni bir klasöre kopyalayın, örneğin /opt/proxus-platform. Betikle alınmış bir yedek için yedek klasörünün tamamını yeni makineye kopyalayın ve dosyaları onun files/ klasöründen alın.
  2. Konteynerleri ve birimleri başlatmadan oluşturun: o klasörde docker compose 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 start ile başlatın. Betikle alınmış bir yedekte arşivler birimlerin tam adını taşır (<yığın>_<birim>.tar.gz).
  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.