Keri sisuni

Mediation Controller serveri töö ajal tehtav versiooniuuendus

Oluline

Mediation Controller serveri töö ajal tehtava versiooniuuenduse dokumentatsioon on mõeldud kõigile Debian 11 operatsioonisüsteemiga töötavatele Mediation Controller serveritele. Debiani versiooni saab kontrollida järgmise käsuga (käivitatakse SSH- või konsoolijuurdepääsu kaudu):

1
cat /etc/debian_version

Teave

Meeldetuletuseks: Debiani arvutites tuleb kasutajale root lülituda järgmise käsuga:

1
su -

Planeerimine ja ettevalmistus

Võrguvoogude avamine

Toote versiooniuuendusel tuleb Debiani hoidlatest alla laadida palju pakette, kuna toimub üleminek Debiani versioonilt 11 versioonile 12. Aadressidele security.debian.org ja ftp.fr.debian.org tuleb avada juurdepääs TCP 80 kaudu.

Voogude avatust saab arvutis testida, käivitades Debiani hoidlate sünkroonimise. Kui kuvatakse tõrketeateid Debiani hoidlatele juurdepääsu kohta, ei ole võrguvoog avatud ja tõenäoliselt blokeerib seda ettevõtte tulemüür. Hoidlate sünkroonimise saab käivitada järgmise käsuga:

1
apt update

Peegli ja vajalike tööriistade allalaadimine

CyberElements Cleanroom 4.6 peegli saab alla laadida siit (nõuab kliendikonto loomist): Systancia Marketplace

Systancia Marketplace'ist tuleb alla laadida ka võti systancia.gpg, mis autendib toote CyberElements Bastion hoidla.

Lisaks peeglile on versiooniuuenduse protsessiks vaja kolmanda osapoole tööriistu:

  • SSH-klient (Windowsis saab kasutada tööriista PuTTY)
  • SCP-klient (Windowsis saab kasutada tööriistu WinSCP või FileZilla)

Tööriista screen installimine ja kasutamine

Tööriist screen võimaldab avada ühes konsoolis mitu kestaterminali. Selle tööriista kasutamine on toote CyberElements Bastion versiooniuuenduse tegemiseks hädavajalik, et kõrvaldada sõltuvus võrguühenduse stabiilsusest. Ilma tööriista screen kasutamata katkestataks installimine, kui SSH-ühendus toote CyberElements Bastion serveritega katkeb.

Tööriista screen kasutamisel saab toote CyberElements Bastion seadmete kestakonsooliga uuesti ühenduse loomisel taastada terminali, milles värskendusprotsess käivitati.

Pakett screen tuleks installida järgmise käsureaga:

1
apt install --no-install-recommends screen

Uue screen-terminali avamiseks tuleb käivitada järgmine käsk:

1
screen -S <ID>

Asendage <ID> nimega, mis seansi tuvastab.

Näide

CyberElements versiooniuuenduste puhul on identifikaator cye-upgrade kergesti äratuntav. Käsk oleks seega järgmine:

1
screen -S cye-upgrade

Tööriistaga screen avatud terminali taastamiseks käivitage lihtsalt järgmine käsk:

1
screen -r <ID>

Asendage <ID> seansi avamisel määratud nimega.

Näide

Varem identifikaatoriga cye-upgrade avatud terminali saab taastada järgmise käsuga:

1
screen -r cye-upgrade

Terminali sulgemiseks pärast versiooniuuenduse lõppu sisestage terminalis käsk exit või vajutage kiirklahvi ctrl+d.

See viib teid tagasi konsooli. Teade „screen is terminating“ kinnitab, et terminal on suletud.

Virtuaalseadmete kettaruumi laiendamine

Systancia Cleanroom 4.4 või 4.5 virtuaalseadmetes tuleb /usr partitsioonile lisada 4 GB suurune kettalaiendus. See toiming on vajalik, et versiooniuuenduse jaoks oleks piisavalt kettaruumi ja toiming ei jääks pooleli.

Kui loote Mediation Controller serveriga ühenduse kas SSH kaudu või konsoolirežiimis, teavitab tervitusteade teid, et olete ühendatud Systancia arvutiga. Lisarida näitab appliance'i versiooni.

Näide

Versiooni 4.5 Mediation Controller virtuaalseade annab järgmise tulemuse:

 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

Kui arvuti ei ole versiooniga 4.4 või 4.5 tarnitud virtuaalseade, võib selle peatüki vahele jätta ja jätkata versiooniuuendusega.

Varukoopia on tungivalt soovitatav

Järgmised sammud muudavad Mediation Controller serveri ketta partitsioonimist. Kui on tehtud käsitsi muudatusi, ei pruugi järgmised juhised sobida ja arvuti võib blokeeruda.

Enne jätkamist tehke arvutist varukoopia või vajaduse korral dubleerige virtuaalmasin. Hetktõmmiseid ei saa kasutada, sest eriti VMware'i puhul blokeerivad need ketta laiendamise võimaluse.

Laiendage hüperviisori tasemel virtuaalmasina kettaruumi täiendava 4 GB võrra. Kui ketast ei ole võimalik laiendada, kontrollige, et hetktõmmiseid poleks, ja kui neid pole, sulgege virtuaalmasin, kui laiendamist töö ajal ei toetata.

Kui kettaruum on virtuaalmasina tasemel laiendatud, on /usr partitsiooni laiendamiseks vaja järgmisi käske, mis tuleb käivitada kasutajana 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

Versiooniuuendus

Debiani pakettide värskendamine

Kuna toote CyberElements Bastion versiooniuuendus nõuab Debiani versiooniuuendust, on soovitatav enne Debian 12-le üleminekut Debian 11 paketid korralikult värskendada. Selleks käivitage kasutajana root järgmised käsud (süsteemi värskendamine ja seejärel mittevajalike pakettide eemaldamine):

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

Võidakse kuvada teateid, mis paluvad teil muuta mitme konfiguratsioonifaili konfiguratsiooni. Sellisel juhul valige suvand, mis säilitab praeguse konfiguratsiooni.

Microsoft SQL Server draiverite ettevalmistamine

Kui Microsoft SQL Server draiverid on installitud, on vaja lisatoiminguid (see kehtib virtuaalseadmete kohta, mille tarnib CyberElements).
Et kontrollida, kas need on serveris olemas, võib kasutajana root käivitada järgmise käsu:

1
apt list --installed ms*

Kui vastust ei kuvata, pole draivereid installitud ja võite jätkata peegli ettevalmistamise etapiga.
Kui aga draiverid on installitud, peaks loendis olema kaks paketti: msodbcsql17 ja mssql-tools. Järgige selle peatüki juhiseid.

Näited

Server, kuhu draivereid pole installitud, annaks eelmise käsu korral järgmise tulemuse:

1
Listing... Done

Server, kuhu draiverid on installitud, annab sarnase tulemuse (pakettide versioonid võivad erineda):

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]

Eduka versiooniuuenduse tagamiseks on pakettide kindla versiooni installimiseks vaja järgmisi käske:

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

Versiooniuuenduseks valmistumiseks konfigureerige Debian 12 jaoks kohandatud Microsofti hoidla:

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

CyberElements Cleanroom 4.6 peegli ettevalmistamine

Ettevalmistusetapis hangitud peegel (tgz-laiendiga fail) tuleb saata serverisse SCP kaudu. See tuleks paigutada kataloogi /tmp/.

Seejärel valmistage peegel ette, käivitades kasutajana root järgmised käsud (varasemast versiooniuuendusest järelejäänud failid kustutatakse):

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

APT konfigureerimine

Paketihaldur APT on konfigureeritud hankima Debian 11 pakette; see tuleb uuesti konfigureerida hankima Debian 12 pakette. Samuti tuleb värskendada viidet toote CyberElements Bastion kohalikule peeglile. Selleks käivitage kasutajana root järgmised käsud:

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

Kohalik peegel autenditakse ettevalmistusetapis alla laaditud võtmega systancia.gpg. Saatke see SCP kaudu serveri kataloogi /tmp/ ja seejärel installige see kasutajana root järgmise käsuga:

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

Lisaks uute hoidlate konfigureerimisele soovitame tungivalt rakendada järgmist sätet, mis annab APT-le korralduse mitte installida soovitatud sõltuvusi, mis pole hädavajalikud, et vähendada installitavate komponentide arvu. Järgmine käsk rakendab selle sätte kasutajana root:

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

Lõpuks tuleb järgmise käsuga värskendada hoidlates olevate pakettide loendit:

1
apt update

Versiooniuuenduse käivitamine

Looge SSH kaudu ühendus Mediation Controller serveriga ja lülituge kasutajale root, seejärel avage screen-seanss nagu eespool kirjeldatud.

Alustage teatud konkreetsete pakettide värskendamisest, et versiooniuuendust saaks teha. Esimese käsu käivitamisel on veateade oodatav, kuid teine käsk parandab vea:

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

Mediation Controller serveri uuendamisel Debian 11-lt Debian 12-le värskendatakse paketti collectd ja see ei ühildu enam konfiguratsioonifailiga, mille CyberElements Bastion genereerib (/etc/collectd/collectd.conf). See võib põhjustada värskendamise ajal tõrke.

Selle vältimiseks lülitage collectd välja:

1
2
systemctl stop collectd 
systemctl disable collectd

Pärast seda saab versiooniuuenduse algatada järgmise käsuga:

1
apt dist-upgrade -y

Versiooniuuenduse ajal esitatakse teile mitu küsimust selle kohta, kas säilitada konfiguratsioonifailid ja värskendada neid Debian 12 standardkonfiguratsiooni järgi või jätta kehtima spetsiifiline konfiguratsioon. Siin on meie soovitused enamiku failide kohta, millega võite kokku puutuda:

Konfiguratsioonifail Soovitatav toiming
/etc/issue Säilitamiseks vastake N
/etc/issue.net Säilitamiseks vastake N
/etc/security/limits.conf Säilitamiseks vastake N
/etc/login.defs Säilitamiseks vastake N
/etc/shibboleth/shibboleth2.xml Säilitamiseks vastake N
/etc/shibboleth/shibd.logger Rakendage muudatused, vastake Y
/etc/default/ntpsec Rakendage muudatused, vastake Y
/etc/snmp/snmpd.conf Rakendage muudatused, vastake Y
/etc/logrotate.d/IPdivaServer Rakendage muudatused, vastake Y
/etc/ssh/sshd_config Säilitamiseks vastake Keep the local version currently installed
/etc/ssh/ssh_config Rakendage muudatused, vastake Y
/etc/apache2/ports.conf Säilitamiseks vastake N
/etc/init.d/apache2 Säilitamiseks vastake N
/etc/modsecurity/modsecurity.conf-recommended Rakendage muudatused, vastake Y
/etc/ipdiva/httpd/commonParameters.conf Rakendage muudatused, vastake Y
/etc/ipdiva/care/djangosettings.ini Rakendage muudatused, vastake Y
/etc/crontab Rakendage muudatused, vastake Y
/etc/openssl.cnf Rakendage muudatused, vastake Y
/etc/audit/rules.d/audit.rules Säilitamiseks vastake N
/etc/pam.d/su Säilitamiseks vastake N
/etc/sysctl.conf Säilitamiseks vastake N

Nõustuge glibc-paketi konfiguratsiooniteatega:

Nõustuge teenuste automaatse taaskäivitamisega:

Kui versiooniuuendus on lõpule viidud, käivitage järgmised käsud, et collectd uuesti aktiveerida, mittevajalikud paketid eemaldada ja arvuti taaskäivitada:

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

Mediation Controller serverite Cluster-arhitektuuri eritoimingud

Käivitage SLAVE Mediation Controller serveris järgmised käsud, et sünkroonida uuesti ühine saladus MASTER Mediation Controller serveri ja SLAVE serveri vahel:

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

PostgreSQL-i andmebaasi eksemplari versiooniuuendus

Uuendage Mediation Controller serveris PostgreSQL-i andmebaasi eksemplar versioonilt 13 versioonile 15. Selleks täitke järgmised juhised sobivate root-õigustega.

Enne migreerimist kontrollige PostgreSQL-i eksemplaride olekut:

1
pg_lsclusters

Käivitage järgmised käsud, et uuendada andmebaasi eksemplar PostgreSQL-i versioonile 15:

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

Kontrollige, kas andmebaasi eksemplari versioon on edukalt uuendatud. Kuvada peaks kaks eksemplari: üks versioonis 13 ja teine versioonis 15, mis on ainus aktiivne. Kontroll tehakse järgmise käsuga:

1
pg_lsclusters

Kui versiooniuuendus õnnestus, võib versiooni 13 andmebaasi eksemplari kustutada:

1
pg_dropcluster 13 main

Võib alustada versiooni 13 PostgreSQL-i pakettide kustutamist:

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

CyberElements Bastion andmebaasi migreerimine

Toote konfiguratsioon on talletatud andmebaasis, mis tuleb migreerida, et see saaks sisaldada uue versiooniga tehtud muudatuste konfiguratsioone. Toiming tehakse Mediation Controller serveris kasutajana root.

Cluster-arhitektuur

Cluster-arhitektuuri korral tuleb toiming teha ainult ühest Mediation Controller serverist, olenemata sellest, millisest.

Samuti tuleb käivitada järgmine käsk:

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

Andmete migreerimine käivitatakse sellega samaväärse käsuga:

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

Siin tuleb <org_clr> asendada migreeritava organisatsiooni nimega. Pange tähele, et kui Mediation Controller serveris on mitu organisatsiooni (multi-tenant), tuleb käsku käivitada nii mitu korda, kui on migreeritavaid organisatsioone.

Näide

CyberElements Bastion platvormi puhul, millel on organisatsioonid systancia ja systancia-test, tuleb käivitada järgmised käsud:

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

Pärast andmebaasi migreerimist tuleb teenus Apache2 taaskäivitada:

1
systemctl restart apache2

Konfiguratsioonide taastamine

Mõned konfiguratsioonid kirjutati versiooniuuenduse käigus üle ja need tuleb taastada.

Fail commonParameters.conf:

Teisaldage HTML5 Gateway serveritega seotud sildid <Location>, mis asuvad tavaliselt faili lõpus, failist /etc/ipdiva/httpd/commonParameters.conf.dpkg-old faili /etc/ipdiva/httpd/commonParameters.extra.conf (looge fail, kui seda pole olemas). Kui silte <Location> pole, võib kopeerida järgmised näited.

 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>

Fail djangosettings.ini:

Kopeerige faili /etc/ipdiva/care/djangosettings.ini.dpkg-old teise rea „allowed_hosts“ teave faili /etc/ipdiva/care/djangosettings.ini. Seda saab automatiseerida järgmise käsuga kasutajana root:

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

Taastamiste rakendamine:

Taastamiste rakendamiseks tuleb kasutajana root taaskäivitada teenus Apache2:

1
systemctl restart apache2

Valideerimine

Kui versiooniuuendus on lõpule viidud, tuleb CyberElements Bastion taristu enne tootmisse naasmist valideerida, et veenduda selle nõuetekohases toimimises. Kui valideerimine nurjub, kaaluge tagasipööramist CyberElements Bastion serverite varukoopiate taastamise teel.

Avage organisatsiooni administraatoriliides ja seejärel juhtriba menüü „About“, et kontrollida, kas Mediation Controller serveri versioon on edukalt uuendatud versioonile 4.6.

Platvormi funktsionaalsuse esmaseid teste võib alustada, kuid CyberElements Bastion rakenduste optimaalse jõudluse tagamiseks soovitame kasutada Edge Gateway serveri versiooni 4.6.