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.ymldosyasıyla çalışıyor olmalıdır (bkz. Docker). Birim adları yığının adıyla başlar:.enviçindekiCOMPOSE_PROJECT_NAME, yeni kurulumlardaproxus, önceki bir kurulum betiğiyle yapılmış kurulumlardaproxus-platform. Aşağıdaki komutlar bunu$Polarak kullanır. - 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.
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 --yesBetik 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.gz | Her 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.env | Sürüm, yığın adı, zaman, neden ve birimler. |
SHA256SUMS | Yukarı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.0Proxus 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>&1Neler yedeklenmeli
Yığının tüm verisi beş Docker biriminde durur. Adları yığının adıyla başlar, örneğin proxus_config:
| Birim | İçerik | Kaybolursa |
|---|---|---|
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-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. |
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. |
nats | NATS sunucusunda bekleyen mesajlar ve hesap verileri | Henüz iletilmemiş mesajlar kaybolur. |
proxus_modules | Merkez sunucuya kurulan eklenti modülleri | Eklentilerin 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 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 ${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 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 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-serverYeni bir makinede geri yükleyin
- Docker'ı kurun ve yedekteki compose dosyalarını ve
.envdosyası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ı onunfiles/klasöründen alın. - Konteynerleri ve birimleri başlatmadan oluşturun: o klasörde
docker compose createkomutunu çalıştırın. - Boş birimleri yukarıdaki
fordöngüsüyle doldurun (stopsatırı olmadan), ardından yığınıdocker compose startile başlatın. Betikle alınmış bir yedekte arşivler birimlerin tam adını taşır (<yığın>_<birim>.tar.gz). - 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.