Pāriet uz saturu

Mediation Controller servera jaunināšana darbības laikā

Svarīgi

Mediation Controller servera jaunināšanas darbības laikā dokumentācija ir paredzēta jebkuram Mediation Controller serverim, kurā darbojas Debian 11. Debian versiju var pārbaudīt ar šādu komandu (izpildāma, izmantojot SSH vai konsoles piekļuvi):

1
cat /etc/debian_version

Informācija

Atgādinām, ka pārslēgšanās uz root Debian datoros jāveic ar šo komandu:

1
su -

Plānošana un sagatavošana

Plūsmu atvēršana

Jauninot produktu, pārejas no Debian 11. versijas uz 12. versiju dēļ no Debian krātuvēm ir jālejupielādē daudzas pakotnes. Ir jāatver TCP 80 piekļuve resursiem security.debian.org un ftp.fr.debian.org.

Lai pārbaudītu plūsmu atvēršanu datorā, var palaist Debian krātuvju sinhronizāciju. Ja tiek parādīti kļūdu ziņojumi par piekļuvi Debian krātuvēm, tīkla plūsma nav atvērta un, visticamāk, to bloķē uzņēmuma ugunsmūris. Krātuvju sinhronizāciju var sākt ar šādu komandu:

1
apt update

Spoguļa un nepieciešamo rīku lejupielāde

CyberElements Cleanroom 4.6 spoguli var lejupielādēt, izmantojot šo saiti (nepieciešams izveidot klienta kontu): Systancia Marketplace

No Systancia Marketplace jālejupielādē arī atslēga systancia.gpg, kas autentificē CyberElements Bastion krātuvi.

Papildus spogulim jaunināšanas procesam būs nepieciešami trešo pušu rīki:

  • SSH klients (operētājsistēmā Windows var izmantot rīku PuTTY)
  • SCP klients (operētājsistēmā Windows var izmantot rīkus WinSCP vai FileZilla)

Rīka screen instalēšana un lietošana

Rīks screen ļauj atvērt vairākus čaulas termināļus vienā konsolē. Šis rīks noteikti jāizmanto CyberElements Bastion versijas jaunināšanai, lai novērstu atkarību no tīkla savienojamības stabilitātes. Proti, neizmantojot rīku screen, instalēšana tiktu apturēta, ja tiktu pārtraukts SSH savienojums ar CyberElements Bastion serveriem.

Izmantojot rīku screen, pēc atkārtotas savienojuma izveides ar CyberElements Bastion iekārtu čaulas konsoli var atgūt termināli, kurā tika izpildīts atjaunināšanas process.

Pakotne screen jāinstalē ar šādu komandrindu:

1
apt install --no-install-recommends screen

Lai atvērtu jaunu screen termināli, ir jāizpilda šāda komanda:

1
screen -S <ID>

Aizstājiet <ID> ar nosaukumu, kas identificē sesiju.

Piemērs

CyberElements versiju jaunināšanai identifikators cye-upgrade ir viegli atpazīstams. Tāpēc komanda būtu šāda:

1
screen -S cye-upgrade

Lai atgūtu ar screen atvērtu termināli, vienkārši izpildiet šādu komandu:

1
screen -r <ID>

Aizstājiet <ID> ar nosaukumu, kas tika definēts, atverot sesiju.

Piemērs

Iepriekš ar identifikatoru cye-upgrade atvērto termināli var atgūt ar šādu komandu:

1
screen -r cye-upgrade

Lai aizvērtu termināli pēc jaunināšanas pabeigšanas, terminālī ievadiet komandu exit vai nospiediet īsinājumtaustiņu ctrl+d.

Tādējādi jūs atgriezīsieties konsolē. Ziņojums „screen is terminating“ apstiprina, ka terminālis ir aizvērts.

Diska vietas paplašināšana virtuālajām ierīcēm

Systancia Cleanroom 4.4 vai 4.5 virtuālajām ierīcēm nodalījumam /usr ir jāpievieno 4 GB diska paplašinājums. Šī darbība ir nepieciešama, lai jaunināšanai būtu pietiekami daudz diska vietas un lai darbības laikā izvairītos no iestrēgšanas.

Veidojot savienojumu ar Mediation Controller serveri, vai nu ar SSH, vai konsoles režīmā, sveiciena ziņojums jūs informēs, ka ir izveidots savienojums ar Systancia datoru. Papildu rindiņa norāda appliance versiju.

Piemērs

Mediation Controller virtuālā ierīce ar versiju 4.5 sniegs šādu rezultātu:

 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

Ja dators nav virtuālā ierīce, kas piegādāta ar versiju 4.4 vai 4.5, šo nodaļu var izlaist un pāriet pie jaunināšanas.

Stingri ieteicams izveidot dublējumu

Tālāk norādītās darbības mainīs Mediation Controller servera diska nodalījumus. Ja ir veiktas manuālas izmaiņas, tālāk sniegtie norādījumi var nebūt piemēroti, un dators var tikt bloķēts.

Pirms turpināt, lūdzu, izveidojiet datora dublējumu vai, ja nepieciešams, izveidojiet virtuālās mašīnas kopiju. Momentuzņēmumus nevar izmantot, jo tie, īpaši VMware gadījumā, bloķē iespēju paplašināt disku.

Hipervizora līmenī paplašiniet virtuālās mašīnas diska vietu par papildu 4 GB. Ja disku nav iespējams paplašināt, pārbaudiet, vai nav momentuzņēmumu, un, ja to nav, izslēdziet virtuālo mašīnu, ja paplašināšana darbības laikā netiek atbalstīta.

Kad diska vieta ir paplašināta virtuālās mašīnas līmenī, lai paplašinātu nodalījumu /usr, ir nepieciešamas šādas komandas, kas jāizpilda kā 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

Jaunināšana

Debian pakotņu atjaunināšana

Tā kā CyberElements Bastion jaunināšanai nepieciešama Debian jaunināšana, pirms pārejas uz Debian 12 ieteicams pienācīgi atjaunināt Debian 11 pakotnes. Lai to izdarītu, izpildiet šādas komandas kā root (sistēmas atjaunināšana un pēc tam nevajadzīgo pakotņu noņemšana):

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

Var tikt parādīti ziņojumi, kuros tiek lūgts modificēt vairāku konfigurācijas failu konfigurāciju. Šādos gadījumos atlasiet opciju, kas saglabā pašreizējo konfigurāciju.

Microsoft SQL Server draiveru sagatavošana

Ja ir instalēti Microsoft SQL Server draiveri, ir nepieciešamas papildu darbības (tā tas ir CyberElements nodrošinātajās virtuālajās ierīcēs).
Lai pārbaudītu, vai tie ir serverī, kā root var izpildīt šādu komandu:

1
apt list --installed ms*

Ja atbilde netiek parādīta, draiveri nav instalēti un varat pāriet pie spoguļa sagatavošanas darbības.
Pretējā gadījumā, ja draiveri ir instalēti, ir jābūt norādītām divām pakotnēm: msodbcsql17 un mssql-tools. Izpildiet šajā nodaļā sniegtos norādījumus.

Piemēri

Serverī, kurā draiveri nav instalēti, iepriekšējā komanda sniegtu šādu rezultātu:

1
Listing... Done

Serverī, kurā draiveri ir instalēti, rezultāts būs līdzīgs šim (pakotņu versijas var atšķirties):

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]

Lai nodrošinātu veiksmīgu jaunināšanu, ir nepieciešamas šādas komandas noteiktas pakotņu versijas instalēšanai:

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

Lai sagatavotos jaunināšanai, konfigurējiet Debian 12 pielāgoto Microsoft krātuvi:

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 spoguļa sagatavošana

Sagatavošanas posmā iegūtais spogulis (fails ar paplašinājumu tgz) ir jānosūta uz serveri, izmantojot SCP. Tas jāievieto direktorijā /tmp/.

Pēc tam sagatavojiet spoguli, izpildot šādas komandas kā lietotājs root (tiks dzēsti atlikušie faili no iepriekšējās versijas jaunināšanas):

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

APT konfigurācija

Pakotņu pārvaldnieks APT ir konfigurēts Debian 11 pakotņu iegūšanai; tas jāpārkonfigurē Debian 12 pakotņu iegūšanai. Jāatjaunina arī atsauce uz lokālo CyberElements Bastion spoguli. Lai to izdarītu, izpildiet šādas komandas kā root:

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

Lokālais spogulis tiek autentificēts ar sagatavošanas posmā lejupielādēto atslēgu systancia.gpg. Nosūtiet to uz serveri, izmantojot SCP, direktorijā /tmp/ un pēc tam instalējiet to ar šādu komandu kā root:

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

Papildus jauno krātuvju konfigurēšanai stingri iesakām lietot šādu iestatījumu, kas liek APT neinstalēt ieteiktās atkarības, kuras nav absolūti nepieciešamas, tādējādi samazinot instalēto komponentu skaitu. Šī komanda lieto minēto iestatījumu kā lietotājs root:

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

Visbeidzot ir jāatjaunina krātuvēs esošo pakotņu saraksts ar šādu komandu:

1
apt update

Versijas jaunināšanas aktivizēšana

Piekļūstiet Mediation Controller serverim, izmantojot SSH, pārslēdzieties uz root un pēc tam atveriet screen sesiju, kā norādīts iepriekš.

Sāciet ar dažu konkrētu pakotņu atjaunināšanu, lai varētu veikt versijas jaunināšanu. Izpildot pirmo komandu, ir sagaidāms kļūdas ziņojums, taču kļūda tiks izlabota ar otro komandu:

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

Jauninot Mediation Controller serveri no Debian 11 uz Debian 12, pakotne collectd tiek atjaunināta un kļūst nesaderīga ar CyberElements Bastion ģenerēto konfigurācijas failu (/etc/collectd/collectd.conf). Tas var izraisīt kļūdu atjaunināšanas laikā.

Lai no tā izvairītos, atspējojiet collectd:

1
2
systemctl stop collectd 
systemctl disable collectd

Pēc tam jaunināšanu var sākt ar šo komandu:

1
apt dist-upgrade -y

Jaunināšanas laikā jums tiks uzdoti vairāki jautājumi par to, vai saglabāt konfigurācijas failus un atjaunināt tos atbilstoši standarta Debian 12 konfigurācijai, vai arī saglabāt esošo specifisko konfigurāciju. Tālāk sniegti mūsu ieteikumi lielākajai daļai failu, ar kuriem varat saskarties:

Konfigurācijas fails Ieteicamā darbība
/etc/issue Lai saglabātu, atbildiet N
/etc/issue.net Lai saglabātu, atbildiet N
/etc/security/limits.conf Lai saglabātu, atbildiet N
/etc/login.defs Lai saglabātu, atbildiet N
/etc/shibboleth/shibboleth2.xml Lai paturētu, atbildiet N
/etc/shibboleth/shibd.logger Lai lietotu izmaiņas, atbildiet Y
/etc/default/ntpsec Lai lietotu izmaiņas, atbildiet Y
/etc/snmp/snmpd.conf Lai lietotu izmaiņas, atbildiet Y
/etc/logrotate.d/IPdivaServer Lai lietotu izmaiņas, atbildiet Y
/etc/ssh/sshd_config Lai paturētu, atbildiet Keep the local version currently installed
/etc/ssh/ssh_config Lai lietotu izmaiņas, atbildiet Y
/etc/apache2/ports.conf Lai paturētu, atbildiet N
/etc/init.d/apache2 Lai paturētu, atbildiet N
/etc/modsecurity/modsecurity.conf-recommended Lai lietotu izmaiņas, atbildiet Y
/etc/ipdiva/httpd/commonParameters.conf Lai lietotu izmaiņas, atbildiet Y
/etc/ipdiva/care/djangosettings.ini Lai lietotu izmaiņas, atbildiet Y
/etc/crontab Lai lietotu izmaiņas, atbildiet Y
/etc/openssl.cnf Lai lietotu izmaiņas, atbildiet Y
/etc/audit/rules.d/audit.rules Lai paturētu, atbildiet N
/etc/pam.d/su Lai paturētu, atbildiet N
/etc/sysctl.conf Lai paturētu, atbildiet N

Akceptējiet pakotnes glibc konfigurācijas ziņojumu:

Akceptējiet pakalpojumu automātisku restartēšanu:

Kad jaunināšana ir pabeigta, izpildiet šādas komandas, lai atkārtoti aktivizētu collectd, noņemtu nevajadzīgās pakotnes un restartētu datoru:

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

Darbības, kas attiecas tikai uz Mediation Controller serveriem arhitektūrā Cluster

SLAVE Mediation Controller serverī izpildiet šādas komandas, lai atkārtoti sinhronizētu koplietoto noslēpumu starp MASTER Mediation Controller serveri un SLAVE serveri:

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

PostgreSQL datu bāzes instances jaunināšana

Mediation Controller serverī atjauniniet PostgreSQL datu bāzes instanci no versijas 13 uz versiju 15. Lai to izdarītu, izpildiet tālāk sniegtos norādījumus ar atbilstošām root tiesībām.

Pirms migrācijas pārbaudiet PostgreSQL instanču statusu:

1
pg_lsclusters

Izpildiet šādas komandas, lai atjauninātu datu bāzes instanci uz PostgreSQL versiju 15:

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

Pārbaudiet, vai datu bāzes instance ir veiksmīgi jaunināta. Jāparādās divām instancēm — vienai versijā 13 un otrai versijā 15, kas ir vienīgā aktīvā. Pārbaude tiek veikta ar šādu komandu:

1
pg_lsclusters

Ja jaunināšana bija veiksmīga, versijas 13 datu bāzes instanci var dzēst:

1
pg_dropcluster 13 main

Var sākt versijas 13 PostgreSQL pakotņu dzēšanu:

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

CyberElements Bastion datu bāzes migrācija

Produkta konfigurācija tiek glabāta datu bāzē, kas ir jāmigrē, lai tajā varētu ietvert jaunās versijas ieviesto izmaiņu konfigurācijas. Darbība tiek veikta Mediation Controller serverī kā root.

Arhitektūra Cluster

Arhitektūrā Cluster darbība jāveic tikai no viena Mediation Controller servera, neatkarīgi no tā, kura.

Ir arī jāizpilda šāda komanda:

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

Datu migrāciju aktivizē ar komandu, kas līdzvērtīga šai:

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

Kur <org_clr> ir jāaizstāj ar migrējamās organizācijas nosaukumu. Ņemiet vērā: ja Mediation Controller serverī ir vairākas organizācijas (multi-tenants), komanda ir jāizpilda tik reižu, cik organizāciju ir jāmigrē.

Piemērs

CyberElements Bastion platformai, kurā ir organizācijas systancia un systancia-test, būs jāizpilda šādas komandas:

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

Pēc datu bāzes migrācijas ir jārestartē pakalpojums Apache2:

1
systemctl restart apache2

Konfigurāciju atjaunošana

Dažas konfigurācijas jaunināšanas procesa laikā tika pārrakstītas, un tās ir jāatjauno.

Fails commonParameters.conf:

Pārvietojiet ar HTML5 Gateway serveriem saistītos tagus <Location>, kas parasti atrodas faila beigās, no faila /etc/ipdiva/httpd/commonParameters.conf.dpkg-old uz /etc/ipdiva/httpd/commonParameters.extra.conf (izveidojiet failu, ja tas neeksistē). Ja tagu <Location> nav, var nokopēt tālāk sniegtos piemērus.

 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>

Fails djangosettings.ini:

Kopējiet informāciju no faila /etc/ipdiva/care/djangosettings.ini.dpkg-old 2. rindiņas „allowed_hosts“ uz failu /etc/ipdiva/care/djangosettings.ini. To var automatizēt ar šādu komandu kā root:

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

Atjaunošanas lietošana:

Lai lietotu atjaunošanu, kā root ir nepieciešams restartēt pakalpojumu Apache2:

1
systemctl restart apache2

Validēšana

Kad jaunināšana ir pabeigta, CyberElements Bastion infrastruktūra ir jāvalidē, lai pirms atgriešanās ražošanas vidē pārliecinātos, ka tā darbojas pareizi. Ja validēšana neizdodas, apsveriet atriti, atjaunojot CyberElements Bastion serveru dublējumus.

Atveriet organizācijas administratora saskarni un pēc tam vadības joslā atveriet izvēlni „About“, lai pārbaudītu, vai Mediation Controller servera versija ir veiksmīgi jaunināta uz 4.6.

Var sākt platformas funkcionalitātes sākotnējos testus, taču mēs iesakām izmantot Edge Gateway versiju 4.6, lai nodrošinātu optimālu CyberElements Bastion lietojumprogrammu veiktspēju.