Sziasztok!
root@tarthost:~# pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
9.3 main 5434 down,binaries_missing postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
9.5 main 5432 down,binaries_missing postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
10 main 5433 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
12 main 5435 down postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
Jelenleg a 10-es verzióval fut, de a TimeScaleDB-hez nem találtam deb csomagokat és mindent a 12-höz akart lehozni, amit
meg is csináltam.
Van valami egyszerű módszer, amivel a 10-esből a 12-esbe tudnám átvinni a teljes Zabbix DB-t?
A DB jelenelg 69GB, a PG partíció 591GB.
Köszönettel:
Ruzsi
Hozzászólások
En kontenerben futtatom a zabbixot, a 10-esbol csinaltam siman egy dumpot, amit a 12-be behuztam. Mukodik. Bar nekem messze nem volt benne ennyi adat. (meg fontos sem volt igazabol az elozmeny, csak a hostokat voltam lusta ujra felvenni)
dump(@10) & load(@12)
Köszönöm, de mindez lefordítva Ubuntu 20.04-re és pgsql parancsokra?
Figyelembe véve, hogy lesz egy no timeScaleDB -> timeScaleDB átmenet is?
Üdv:
Ruzsi
Nem Zabbix, de sok, elég rendesen használt DB (szumma 1.2TiB) 10-esről 14-re migrálását a pg_upgradecluster simán (inplace) megcsinálta - néhány perces leállással, ez (fejből írom, nézz utána/csinálj dump-ot előtte):
Ha ez után jól működik a Zabbix, minden rendben megy, "csak" 12-es PG-n, akkor kezdjél bele a TimescaleDB-s mókolásba, addig ne. (Egyszerre csak egy dolgot...)
Köszönöm szépen a részletes leírást!
Végül pg_dump + psql páros lett és melléktermékként most van egy zabbix DB mentésem, bár én csak konfiget akarok majd menteni.
A 12-re sikerült így átvinni a Zabbixot. Processz szinten úgy néz ki, működik.
A 10-es még 1 hétig megtartom, aztán megszüntetem.
A TimeScaleDB még az átvitel előtt fel lett téve az üres 12-esre. Azt nem tudom, hogy használatban van-e? Hogyan tudnám ellenőrizni?
Most jön majd a Zabbix konfig mentése, amint előkerestem a szkriptet hozzá...
Üdv:
Ruzsi
Ilyen relative kis DB esetén a dump/restore is teljesen jó - pláne ha a szükséges állásidő belefér. A 10-est megtartani nem tudom, érdemes-e? Ha visszaállás kell bármilyen okból, a mindenképp adatvesztést jelent, és ha közben volt konfigurációban módosítás, új host, új/módosult metrika, stb. akkor az is megy a levesbe - szóval én bármilyen gond esetén az előrefelé menekülést választanám, nem a rollback irányt.
Előre mentem, 12-n vagyok, de a zabbix-backup szkript még mindig nem megy:
postgres@tarthost:/home/rattila/zabbix-install/zabbix-backup-0.9.10$ ./zabbix-dump -t psql -o zabbix-config-dump.sql
Reading database options from /etc/zabbix/zabbix_server.conf...
./zabbix-dump: sor: 251: /usr/bin/grep: Nincs ilyen fájl vagy könyvtár
Configuration:
- type: psql
- socket: /var/run/postgresql/.s.PGSQL.5432
- schema: public
- database: zabbix
- user: zabbix
- output: zabbix-config-dump.sql
Fetching list of existing tables...
ERROR while trying to access database:
psql: error: could not connect to server: Nem könyvtár
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432/.s.PGSQL.5432"?
postgres@tarthost:/home/rattila/zabbix-install/zabbix-backup-0.9.10$ cd /var/run
postgres@tarthost:/var/run$ cd postgresql/
postgres@tarthost:/var/run/postgresql$ ls
10-main.pg_stat_tmp 12-main.pg_stat_tmp 12-main.pid
postgres@tarthost:/var/run/postgresql$ ls -la
összesen 8
drwxrwsr-x 4 postgres postgres 140 márc 18 19:12 .
drwxr-xr-x 50 root root 1560 márc 18 19:05 ..
drwxr-s--- 2 postgres postgres 40 márc 18 19:12 10-main.pg_stat_tmp
drwxr-s--- 2 postgres postgres 160 márc 18 19:16 12-main.pg_stat_tmp
-rw-r--r-- 1 postgres postgres 8 márc 18 15:26 12-main.pid
srwxrwxrwx 1 postgres postgres 0 márc 18 18:20 .s.PGSQL.5432
-rw------- 1 postgres postgres 72 márc 18 18:20 .s.PGSQL.5432.lock
postgres@tarthost:/var/run/postgresql$
Miért alkönyvtárként keresi a Unix socket-et?? Olyanom nincs!
Jelenleg csak a 12-es fut, hogy ezzel is megkönnyítsem a szkript dolgát, de nem akarja!
Üdv:
Ruzsi
A pg_lscluster mit mond a 12 main -re, melyik porton érhető el? A Zabbix látja rendesen a DB-t? Mert nekem első blikkre a scripted mintha a default port (5432), illetve socketen próbálkozna, az elején a 12-est az 5435-ös porton mutatta az lscluster.
Ahogy megtörtént a 10->12, akkor kidobtam a 93 és 9.5-öket.
Ez maradt:
ostgres@tarthost:/var/run/postgresql$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
10 main 5433 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
12 main 5432 online postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
Direkt tettem alapra a 12-est, mert hátha így megtalálja a szkript.
Mondjuk a portra még nem szólt semmit, ellenben a Unix domain sockettel baja van, mert dupla elérési úttal
akar odatalálni, ami persze nincs!
Vajon honnan veheti ezt?
Üdv:
Ruzsi
itt kene megnezni mi a gond.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
Az aktuális verzióban ez van ott:
DBPASS="$(/usr/bin/grep '^DBPassword=' "${ZBX_CONFIG}" | /usr/bin/cut -d= -f2-)"
A default:
ZBX_CONFIG="/etc/zabbix/zabbix_server.conf"
Ha nem ott van, nem úgy hívják, akkor -z /itt/van/a/zabbix.konfig.conf
De lehet, hogy elég egy -Z, és megmondani a scriptnek ( -d -u -p paraméterek) a DB eléréshez szükséges adatokat. Mondjuk én inkább a -z és megadom, hol keresse a Zabbix beállításait irányba mozdulnék, mert a -Z -d -u -p esetében a /proc/$(pidof zabbix_dump)/cmdline - ami alapesetben midnenkinek olvasható - tartalmazni fogja a DB usert és jelszót,a mi nem biztos, hogy kívánatos... (Parancssorban paraméterként nem adunk meg hozzáférési adatot. Semmilyet.)
Ja, csak hogy "szép" legyen, én a 9.3 meg a 9.5-ös data könyvtárára "ránéznék", és ha tényleg üres, akkor tolnék mindkettőre egy pg_dropcluster -t, hogy az lscluster-t ne szemetelje tele, illetve utána a 9.3 meg a 9.5-ből még fent lévő csomagokat is lehetne purgálni - a 9.3 meg a 9.5 data könyvtárával együtt. (Ha van benne érdemi adat esetleg, akkor azt 9.3-as illetve 9.5-ös PG alá bemásolva (mintha egy basebackup-ot adnál oda a megfelelő verziónak) szintén fel lehet húzni valami frissebbre/ki lehet dump-pal menteni, stb. (9.3-ról, de van, amikor 9.5-ről is csak -m dump módon megy a pg_upgrade).
Ezt elkövettem már, de jó, hogy felhívtad rá a figyelmem!
Én is próbálok egyszerűsíteni mindent, amit csak lehet.
Üdv:
Ruzsi
Github-os embernek hogy lehetne írni, hátha ő tudja, miért van ez?
Vagy én paraméterezek rosszul/keveset?
Üdv:
Ruzsi
Ránéztem a scriptre, (ha jót találtam meg: https://github.com/maxhq/zabbix-backup/blob/master/zabbix-dump ) de most fáradt vagyok nézegetni, minden esetre egy -s /itt/van/a/scoket vagy egy -H 127.0.0.1, illetve a -t psql az lehet, hogy hasznos lenne :)
Én ezt (is) próbáltam:
https://github.com/npotorino/zabbix-backup
-t psql volt. Anélkül MySQL-ezni akarna.
A -s-sel se sikerült rávennem, hogy odataláljon a szerintem default sockethez. Ezt azért újra ki fogom próbálni!
De majd ha lesz időd és ránézel, akkor okosabbak leszünk.
Köszönöm!
Üdv:
Ruzsi
Szia, pont hasonló projektbe vagyok. Zabbix 5.0 LTS upgrade Zabbix 6.0LTS-re. Ehhez először debian upgrade buster-ról bullseye-re, aztán postgresql 11-ről 13-ra állok át, timescale 2.3.1-ről 2.9.0-ra.
Sikerült a demo rendszeren végigmenni a folyamaton és minden sikeresnek tűnik, jővő héten élesben megy, persze először egy vmware snapshot :) a biztonság kedvéért.
Szia!
A Zabbix DB csere úgy néz ki, megy nekem is. A Zabbix marad 5.0, mert sajnos az újabb verziók húzzák magukkal
a proxy-kat is, amiket feltenni az adott gépre macerás tud lenni. (régi Linuxok, pl.)
A TSDB-ről annyit tudok, hogy van, hogy honnan tudom, hogy megy-e, arról fogalmam sincs.
Üdv:
Ruzsi
Zabbix housekeeping beállításoknál ha be tudod kapcsolni a compressálást, akkor igen működik, úgy emlékszel addig inaktív.