Skoči na vsebino

Nadgradnja storitve Mediation Controller med delovanjem

Pomembno

Dokumentacija za nadgradnjo storitve Mediation Controller med delovanjem je namenjena vsem strežnikom Mediation Controller, ki delujejo v sistemu Debian 11. Različico sistema Debian lahko preverite z naslednjim ukazom (izvedite ga prek SSH ali dostopa do konzole):

1
cat /etc/debian_version

Informacije

Opomnimo, da je treba na računalnikih Debian preklop na root izvesti z naslednjim ukazom:

1
su -

Načrtovanje in priprava

Odpiranje omrežnih tokov

Pri nadgradnji izdelka je treba zaradi prehoda z različice Debian 11 na 12 prenesti številne pakete iz skladišč sistema Debian. Odprt mora biti dostop TCP 80 do security.debian.org in ftp.fr.debian.org.

Če želite preizkusiti, ali so tokovi v računalniku odprti, lahko zaženete sinhronizacijo skladišč sistema Debian. Če se prikažejo sporočila o napakah pri dostopu do skladišč sistema Debian, omrežni tok ni odprt in ga verjetno blokira požarni zid podjetja. Sinhronizacijo skladišč lahko zaženete z naslednjim ukazom:

1
apt update

Prenos zrcala in potrebnih orodij

Zrcalo CyberElements Cleanroom 4.6 lahko prenesete s te povezave (zahteva ustvarjanje računa stranke): Systancia Marketplace

Ključ systancia.gpg, s katerim se preverja pristnost skladišča CyberElements Bastion, je treba prav tako prenesti s Systancia Marketplace.

Poleg zrcala boste za postopek nadgradnje potrebovali orodja drugih ponudnikov:

  • Odjemalec SSH (v sistemu Windows lahko uporabite orodje PuTTY)
  • Odjemalec SCP (v sistemu Windows lahko uporabite orodji WinSCP ali FileZilla)

Namestitev in uporaba orodja screen

Orodje screen omogoča odpiranje več terminalov lupine v eni konzoli. To orodje je nujno uporabiti pri nadgradnji različice CyberElements Bastion, da odpravite odvisnost od stabilnosti omrežne povezljivosti. Brez orodja screen bi se namestitev namreč ustavila ob prekinitvi povezljivosti SSH s strežniki CyberElements Bastion.

Z orodjem screen lahko ob ponovni povezavi s konzolo lupine opreme CyberElements Bastion znova pridobite terminal, v katerem se je izvajal postopek posodobitve.

Paket screen namestite z naslednjo ukazno vrstico:

1
apt install --no-install-recommends screen

Če želite odpreti nov terminal screen, izvedite naslednji ukaz:

1
screen -S <ID>

Zamenjajte <ID> z imenom, ki identificira sejo.

Primer

Pri nadgradnjah različice CyberElements je identifikator cye-upgrade lahko prepoznaven. Ukaz bi bil torej naslednji:

1
screen -S cye-upgrade

Če želite znova pridobiti terminal, ki ga je odprlo orodje screen, preprosto izvedite naslednji ukaz:

1
screen -r <ID>

Zamenjajte <ID> z imenom, določenim ob odpiranju seje.

Primer

Terminal, ki je bil prej odprt z identifikatorjem cye-upgrade, lahko znova pridobite z naslednjim ukazom:

1
screen -r cye-upgrade

Če želite terminal zapreti po končani nadgradnji, v terminalu vnesite ukaz exit ali uporabite bližnjico na tipkovnici ctrl+d.

S tem se vrnete v konzolo. Sporočilo „screen is terminating“ potrjuje, da je bil terminal zaprt.

Razširitev prostora na disku za navidezne naprave

Navidezne naprave Systancia Cleanroom 4.4 ali 4.5 zahtevajo, da se particiji /usr doda razširitev diska za 4 GB. Ta postopek je potreben, da je za nadgradnjo na voljo dovolj prostora na disku in da se postopek ne zatakne.

Ko se povežete s storitvijo Mediation Controller, bodisi prek SSH bodisi v načinu konzole, vas pozdravno sporočilo obvesti, da ste povezani z računalnikom Systancia. Dodatna vrstica navaja različico appliance.

Primer

Navidezna naprava Mediation Controller z različico 4.5 bo dala naslednji rezultat:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
            ____            _                   _
        / ___| _   _ ___| |_ __ _ _ __   ___(_) __ _
        \___ \| | | / __| __/ _  | '_ \ / __| |/ _  |
            ___) | |_| \__ \ || (_| | | | | (__| | (_| |
        |____/ \__, |___/\__\__,_|_| |_|\___|_|\__,_|
                |___/
#################################################################
# WARNING:                                                      #
# You must have specific authorization to access this machine.  #
# Unauthorized access to this machine is prohibited and will be #
# considered as intrusion.                                      #
# Unauthorized users will be logged, monitored, and could be    #
# prosecuted.                                                   #
#################################################################
Systancia Cleanroom 4.5.0 B77

Če računalnik ni navidezna naprava, dobavljena z različico 4.4 ali 4.5, lahko to poglavje preskočite in nadaljujete z nadgradnjo.

Varnostna kopija je zelo priporočljiva

Naslednji koraki bodo spremenili particioniranje diska storitve Mediation Controller. Če so bile narejene ročne spremembe, naslednja navodila morda ne bodo ustrezna, zaradi česar se lahko računalnik zablokira.

Preden nadaljujete, naredite varnostno kopijo računalnika ali po potrebi podvojite navidezni računalnik. Posnetkov stanja ni mogoče uporabiti, ker – zlasti pri VMware – onemogočajo razširitev diska.

Na ravni hipervizorja razširite prostor na disku navideznega računalnika za dodatne 4 GB. Če diska ni mogoče razširiti, preverite, ali ni posnetkov stanja, in če jih ni, zaustavite navidezni računalnik, če razširitev med delovanjem ni podprta.

Ko je prostor na disku razširjen na ravni navideznega računalnika, so za razširitev particije /usr potrebni naslednji ukazi, ki jih je treba izvesti kot root:

1
2
3
4
5
6
echo 1 > /sys/class/block/sda/device/rescan
start_lvm_partition=`fdisk -l /dev/sda | grep LVM | awk '{print $2}'`
echo -e "d\n2\nn\ne\n2\n\n\nn\n$start_lvm_partition\n\nt\n5\n8E\nw" | fdisk /dev/sda
pvresize /dev/sda5
lvresize -l +100%FREE /dev/mapper/SystanciaLVMGroup-usr
resize2fs /dev/mapper/SystanciaLVMGroup-usr

Nadgradnja

Posodabljanje paketov sistema Debian

Ker nadgradnja CyberElements Bastion zahteva nadgradnjo sistema Debian, je priporočljivo, da pred prehodom na Debian 12 ustrezno posodobite pakete Debian 11. To storite tako, da kot root zaženete naslednje ukaze (posodobitev sistema in nato odstranitev nepotrebnih paketov):

1
2
3
apt update
apt upgrade -y
apt autoremove -y

Prikažejo se lahko sporočila, ki vas pozivajo k spremembi konfiguracije več konfiguracijskih datotek. V teh primerih izberite možnost, da ohranite trenutno konfiguracijo.

Priprava gonilnikov Microsoft SQL Server

Če so nameščeni gonilniki Microsoft SQL Server (to velja za navidezne naprave, ki jih zagotavlja CyberElements), so potrebni dodatni koraki.
Če želite preveriti, ali so na strežniku, lahko kot root izvedete naslednji ukaz:

1
apt list --installed ms*

Če se ne prikaže noben odziv, gonilniki niso nameščeni in lahko nadaljujete s korakom priprave zrcala.
Če pa so gonilniki nameščeni, bi morala biti navedena dva paketa: msodbcsql17 in mssql-tools. Upoštevajte navodila v tem poglavju.

Primeri

Strežnik, na katerem gonilniki niso nameščeni, bi s prejšnjim ukazom dal naslednji rezultat:

1
Listing... Done

Strežnik, na katerem so gonilniki nameščeni, bo dal rezultat, podoben temu (različice paketov se lahko razlikujejo):

1
2
3
Listing... Done
msodbcsql17/bullseye,now 17.10.6.1-1 amd64 [installed]
mssql-tools/bullseye,now 17.10.1.1-1 amd64 [installed]

Za uspešno nadgradnjo so potrebni naslednji ukazi, ki namestijo določeno različico paketov:

1
env ACCEPT_EULA=Y apt install -y --allow-downgrades odbcinst=2.3.6-0.1+b1 odbcinst1debian2=2.3.6-0.1+b1 libodbc1=2.3.6-0.1+b1 unixodbc=2.3.6-0.1+b1 mssql-tools=17.9.1.1-1 msodbcsql17=17.9.1.1-1

Konfigurirajte skladišče Microsoft, prilagojeno za Debian 12, da pripravite nadgradnjo:

1
echo "deb [arch=amd64] https://packages.microsoft.com/debian/12/prod bookworm main" > /etc/apt/sources.list.d/mssql-release.list

Priprava zrcala CyberElements Cleanroom 4.6

Zrcalo, pridobljeno v fazi priprave (datoteka s pripono tgz), je treba poslati na strežnik prek SCP. Postaviti ga je treba v imenik /tmp/.

Nato pripravite zrcalo tako, da kot root izvedete naslednje ukaze (preostale datoteke iz prejšnje nadgradnje različice bodo izbrisane):

1
2
3
mkdir -p /opt/systancia/repository
rm -rf /opt/systancia/repository/*
tar xvzf /tmp/*.tgz -C /opt/systancia/repository/

Konfiguracija APT

Upravitelj paketov APT je konfiguriran za pridobivanje paketov Debian 11; znova ga je treba konfigurirati za pridobivanje paketov Debian 12. Posodobiti je treba tudi sklic na lokalno zrcalo CyberElements Bastion. To storite tako, da kot root zaženete naslednje ukaze:

1
2
echo -e 'deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware\ndeb http://ftp.fr.debian.org/debian bookworm main contrib non-free non-free-firmware\ndeb http://ftp.fr.debian.org/debian bookworm-updates main contrib non-free non-free-firmware' > /etc/apt/sources.list
echo "deb file:///opt/systancia/repository/ bookworm ipdiva" > /etc/apt/sources.list.d/systancia.list

Pristnost lokalnega zrcala se preverja s ključem systancia.gpg, prenesenim v fazi priprave. Prek protokola SCP ga pošljite na strežnik v imenik /tmp/ in ga nato kot root namestite z naslednjim ukazom:

1
mv /tmp/systancia.gpg /etc/apt/trusted.gpg.d/

Poleg konfiguracije novih skladišč močno priporočamo, da uporabite naslednjo nastavitev, s katero upravitelju APT naročite, naj ne namešča priporočenih odvisnosti, ki niso nujno potrebne, in tako zmanjšate število nameščenih komponent. Naslednji ukaz uporabi to nastavitev kot root:

1
echo -e 'APT::Install-Recommends false;\nAPT::Install-Suggests false;' > /etc/apt/apt.conf.d/99norecommends

Na koncu je treba posodobiti seznam paketov v skladiščih z naslednjim ukazom:

1
apt update

Sprožitev nadgradnje različice

Prek SSH dostopite do strežnika Mediation Controller in preklopite na root, nato odprite sejo screen kot je navedeno zgoraj.

Najprej posodobite nekatere določene pakete, da bo nadgradnjo različice mogoče izvesti. Pri izvajanju prvega ukaza je pričakovano sporočilo o napaki, vendar bo napako odpravil drugi ukaz:

1
2
apt install -y python3-cleanroom-django-mssql python3-ipdiva-ua-parser python3-ipdiva-user-agents python3-ipdiva-django2
apt install -y --fix-broken

Pri nadgradnji storitve Mediation Controller iz sistema Debian 11 na Debian 12 se paket collectd posodobi in postane nezdružljiv s konfiguracijsko datoteko, ki jo ustvari CyberElements Bastion (/etc/collectd/collectd.conf). To lahko med posodobitvijo povzroči napako.

Da se temu izognete, onemogočite collectd:

1
2
systemctl stop collectd 
systemctl disable collectd

Nato lahko nadgradnjo zaženete z naslednjim ukazom:

1
apt dist-upgrade -y

Med nadgradnjo boste dobili več vprašanj o tem, ali želite konfiguracijske datoteke ohraniti in jih posodobiti v skladu s standardno konfiguracijo sistema Debian 12 ali ohraniti obstoječo specifično konfiguracijo. Tukaj so naša priporočila za večino datotek, na katere lahko naletite:

Konfiguracijska datoteka Priporočeno dejanje
/etc/issue Za ohranitev odgovorite N
/etc/issue.net Za ohranitev odgovorite N
/etc/security/limits.conf Za ohranitev odgovorite N
/etc/login.defs Za ohranitev odgovorite N
/etc/shibboleth/shibboleth2.xml Ohranite, odgovorite N
/etc/shibboleth/shibd.logger Uveljavite spremembe, odgovorite Y
/etc/default/ntpsec Uveljavite spremembe, odgovorite Y
/etc/snmp/snmpd.conf Uveljavite spremembe, odgovorite Y
/etc/logrotate.d/IPdivaServer Uveljavite spremembe, odgovorite Y
/etc/ssh/sshd_config Ohranite, odgovorite Keep the local version currently installed
/etc/ssh/ssh_config Uveljavite spremembe, odgovorite Y
/etc/apache2/ports.conf Ohranite, odgovorite N
/etc/init.d/apache2 Ohranite, odgovorite N
/etc/modsecurity/modsecurity.conf-recommended Uveljavite spremembe, odgovorite Y
/etc/ipdiva/httpd/commonParameters.conf Uveljavite spremembe, odgovorite Y
/etc/ipdiva/care/djangosettings.ini Uveljavite spremembe, odgovorite Y
/etc/crontab Uveljavite spremembe, odgovorite Y
/etc/openssl.cnf Uveljavite spremembe, odgovorite Y
/etc/audit/rules.d/audit.rules Ohranite, odgovorite N
/etc/pam.d/su Ohranite, odgovorite N
/etc/sysctl.conf Ohranite, odgovorite N

Sprejmite sporočilo o konfiguraciji paketa glibc:

Sprejmite samodejni ponovni zagon storitev:

Ko je nadgradnja končana, zaženite naslednje ukaze, da znova aktivirate collectd, odstranite nepotrebne pakete in znova zaženete računalnik:

1
2
3
4
systemctl start collectd
systemctl enable collectd
apt autoremove -y
reboot

Dejanja, značilna za strežnike Mediation Controller v arhitekturi Cluster

Na strežniku Mediation Controller SLAVE zaženite naslednje ukaze, da znova sinhronizirate skupno skrivnost med strežnikoma Mediation Controller MASTER in SLAVE:

1
2
hostManagerCtl masterSynchro /etc/ipdiva/secure/secret /etc/ipdiva/secure/secret
systemctl restart apache2

Nadgradnja primerka zbirke podatkov PostgreSQL

Na strežniku Mediation Controller posodobite primerek zbirke podatkov PostgreSQL z različice 13 na različico 15. To naredite tako, da izvedete naslednja navodila z ustreznimi pravicami root.

Pred selitvijo preverite stanje primerkov PostgreSQL:

1
pg_lsclusters

Zaženite naslednje ukaze, da posodobite primerek zbirke podatkov na PostgreSQL različice 15:

1
2
3
4
pg_dropcluster --stop 15 main
systemctl stop postgresql
pg_upgradecluster 13 main
systemctl start postgresql

Preverite, ali je bil primerek zbirke podatkov uspešno nadgrajen. Prikazati bi se morala dva primerka, eden z različico 13 in drugi z različico 15, ki je edini aktiven. Preverjanje se izvede z naslednjim ukazom:

1
pg_lsclusters

Če je bila nadgradnja uspešna, lahko primerek zbirke podatkov različice 13 izbrišete:

1
pg_dropcluster 13 main

Začnete lahko brisanje paketov PostgreSQL različice 13:

1
apt -y --purge autoremove postgresql-client-13 postgresql-13

Selitev zbirke podatkov CyberElements Bastion

Konfiguracija izdelka je shranjena v zbirki podatkov, ki jo je treba preseliti, da bo lahko vsebovala konfiguracije sprememb, ki jih prinaša nova različica. Postopek se izvede na strežniku Mediation Controller kot root.

Arhitektura Cluster

Pri arhitekturi Cluster je treba postopek izvesti le z enega strežnika Mediation Controller, ne glede na to, s katerega.

Zagnati je treba tudi naslednji ukaz:

1
python3 /var/lib/ipdiva/care/manage.py migrate

Selitev podatkov se sproži z ukazom, enakovrednim temu:

1
python3 /var/lib/ipdiva/care/manage.py migrate --database=<org_clr>

Pri čemer je treba <org_clr> zamenjati z imenom organizacije, ki jo selite. Upoštevajte, da če ima Mediation Controller več organizacij (več tenantov), boste morali ukaz zagnati tolikokrat, kolikor je organizacij za selitev.

Primer

Za platformo CyberElements Bastion z organizacijama systancia in systancia-test boste morali zagnati naslednje ukaze:

1
2
python3 /var/lib/ipdiva/care/manage.py migrate --database=systancia
python3 /var/lib/ipdiva/care/manage.py migrate --database=systancia-test

Po selitvi zbirke podatkov je treba znova zagnati storitev Apache2:

1
systemctl restart apache2

Obnovitev konfiguracij

Nekatere konfiguracije so bile med postopkom nadgradnje prepisane in jih je treba obnoviti.

Datoteka commonParameters.conf:

Oznake <Location>, ki se nanašajo na strežnike HTML5 Gateway in so običajno na koncu datoteke, premaknite iz datoteke /etc/ipdiva/httpd/commonParameters.conf.dpkg-old v /etc/ipdiva/httpd/commonParameters.extra.conf (če datoteka ne obstaja, jo ustvarite). Če ni nobene oznake <Location>, lahko kopirate naslednje primere.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<Location /HTML5/>
    Order allow,deny
    Allow from all
    ProxyPass http://127.0.0.1:1234/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://127.0.0.1:1234
</Location>

<Location /HTML5/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
</Location>
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<Location /HTML5-1/>
    Order allow,deny
    Allow from all
    ProxyPass http://127.0.0.1:1234/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://127.0.0.1:1234
</Location>

<Location /HTML5-1/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
</Location>

<Location /HTML5-2/>
    Order allow,deny
    Allow from all
    ProxyPass http://127.0.0.1:1235/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://127.0.0.1:1235
</Location>

<Location /HTML5-2/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://127.0.0.1:1235/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://127.0.0.1:1235/systanciaHTML5-6.0/websocket-tunnel
</Location>

Datoteka djangosettings.ini:

Kopirajte podatke iz vrstice 2 „allowed_hosts“ datoteke /etc/ipdiva/care/djangosettings.ini.dpkg-old v datoteko /etc/ipdiva/care/djangosettings.ini. To lahko avtomatizirate z naslednjim ukazom kot root:

1
sed -i "2c\\`sed -n '2p' /etc/ipdiva/care/djangosettings.ini.dpkg-old`" /etc/ipdiva/care/djangosettings.ini

Uveljavitev obnovitev:

Za uveljavitev obnovitev je treba kot root znova zagnati storitev Apache2:

1
systemctl restart apache2

Preverjanje veljavnosti

Ko je nadgradnja končana, je treba pred vrnitvijo v produkcijo preveriti veljavnost infrastrukture CyberElements Bastion, da se zagotovi njeno pravilno delovanje. Če preverjanje ne uspe, razmislite o povrnitvi prejšnjega stanja z obnovitvijo varnostnih kopij strežnikov CyberElements Bastion.

Odprite skrbniški vmesnik organizacije in nato v nadzorni vrstici meni „About“, da preverite, ali je bila različica storitve Mediation Controller uspešno nadgrajena na 4.6.

Začnete lahko prve preizkuse delovanja platforme, vendar priporočamo uporabo različice 4.6 komponente Edge Gateway, da zagotovite optimalno delovanje aplikacij CyberElements Bastion.