Pereiti prie turinio

Mediation Controller versijos atnaujinimas veikimo metu

Svarbu

Mediation Controller versijos atnaujinimo veikimo metu dokumentacija skirta visiems Mediation Controller serveriams, veikiantiems su Debian 11. Debian versiją galima patikrinti šia komanda (vykdoma per SSH arba konsolės prieigą):

1
cat /etc/debian_version

Informacija

Primename, kad Debian kompiuteriuose pereiti į root reikia šia komanda:

1
su -

Planavimas ir pasirengimas

Tinklo srautų atidarymas

Atnaujinant produkto versiją, dėl perėjimo nuo Debian 11 prie Debian 12 iš Debian saugyklų reikia atsisiųsti daug paketų. Turi būti atidaryta TCP 80 prieiga prie security.debian.org ir ftp.fr.debian.org.

Norint patikrinti, ar kompiuteryje atidaryti srautai, galima paleisti Debian saugyklų sinchronizavimą. Jei rodomi klaidų pranešimai dėl prieigos prie Debian saugyklų, vadinasi, tinklo srautas neatidarytas – greičiausiai jį blokuoja įmonės užkarda. Saugyklų sinchronizavimą galima paleisti šia komanda:

1
apt update

Veidrodžio ir reikiamų įrankių atsisiuntimas

CyberElements Cleanroom 4.6 veidrodį galima atsisiųsti šiuo saitu (reikia susikurti kliento paskyrą): Systancia Marketplace

Raktą systancia.gpg, kuriuo autentifikuojama CyberElements Bastion saugykla, taip pat reikia atsisiųsti iš Systancia Marketplace.

Be veidrodžio, versijos atnaujinimo procesui reikės trečiųjų šalių įrankių:

  • SSH klientas (Windows sistemoje galima naudoti įrankį PuTTY)
  • SCP klientas (Windows sistemoje galima naudoti įrankius WinSCP arba FileZilla)

Įrankio screen diegimas ir naudojimas

Įrankis screen leidžia vienoje konsolėje atidaryti kelis apvalkalo terminalus. Šį įrankį būtina naudoti atnaujinant CyberElements Bastion versiją, kad būtų pašalinta priklausomybė nuo tinklo ryšio stabilumo. Iš tiesų, nenaudojant įrankio screen, nutrūkus SSH ryšiui su CyberElements Bastion serveriais diegimas būtų sustabdytas.

Naudojant įrankį screen, iš naujo prisijungus prie CyberElements Bastion įrangos apvalkalo konsolės, galima atkurti terminalą, kuriame buvo vykdomas naujinimo procesas.

Paketą screen reikėtų įdiegti šia komandine eilute:

1
apt install --no-install-recommends screen

Norint atidaryti naują screen terminalą, reikia vykdyti šią komandą:

1
screen -S <ID>

Pakeiskite <ID> pavadinimu, identifikuojančiu seansą.

Pavyzdys

Atnaujinant CyberElements versiją, identifikatorių cye-upgrade lengva atpažinti. Todėl komanda būtų tokia:

1
screen -S cye-upgrade

Norint atkurti screen atidarytą terminalą, tereikia vykdyti šią komandą:

1
screen -r <ID>

Pakeiskite <ID> pavadinimu, nustatytu atidarant seansą.

Pavyzdys

Anksčiau su identifikatoriumi cye-upgrade atidarytą terminalą galima atkurti šia komanda:

1
screen -r cye-upgrade

Norėdami uždaryti terminalą, kai versijos atnaujinimas baigtas, terminale įveskite komandą exit arba paspauskite spartųjį klavišą ctrl+d.

Taip grįšite į konsolę. Pranešimas „screen is terminating“ patvirtina, kad terminalas uždarytas.

Disko vietos išplėtimas virtualiesiems įrenginiams

Systancia Cleanroom 4.4 arba 4.5 virtualiesiems įrenginiams reikia prie /usr skaidinio pridėti 4 GB disko plėtinį. Šis veiksmas būtinas, kad versijos atnaujinimui pakaktų disko vietos ir operacija nestrigtų.

Jungiantis prie Mediation Controller per SSH arba konsolės režimu, pasveikinimo pranešimas informuos, kad esate prisijungę prie Systancia kompiuterio. Papildomoje eilutėje nurodoma appliance versija.

Pavyzdys

Mediation Controller virtualusis įrenginys, kurio versija 4.5, pateiks tokį 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

Jei kompiuteris nėra virtualusis įrenginys, pateiktas su 4.4 arba 4.5 versija, šį skyrių galima praleisti ir pereiti prie versijos atnaujinimo.

Primygtinai rekomenduojama sukurti atsarginę kopiją

Atlikus toliau nurodytus veiksmus, bus pakeistas Mediation Controller disko skaidymas. Jei buvo atlikta rankinių pakeitimų, toliau pateiktos instrukcijos gali netikti ir kompiuteris gali būti užblokuotas.

Prieš tęsdami sukurkite kompiuterio atsarginę kopiją arba, jei reikia, dubliuokite virtualiąją mašiną. Momentinių kopijų naudoti negalima, nes, ypač naudojant VMware, jos neleidžia išplėsti disko.

Hipervizoriaus lygmeniu padidinkite virtualiosios mašinos disko vietą papildomais 4 GB. Jei disko išplėsti neįmanoma, patikrinkite, ar nėra momentinių kopijų, o jei jų nėra, išjunkite virtualiąją mašiną, jei išplėtimas jai veikiant nepalaikomas.

Išplėtus disko vietą virtualiosios mašinos lygmeniu, norint išplėsti /usr skaidinį, būtina vykdyti šias komandas kaip 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

Versijos atnaujinimas

Debian paketų naujinimas

Kadangi CyberElements Bastion versijos atnaujinimui reikia atnaujinti Debian versiją, prieš pereinant prie Debian 12 rekomenduojama tinkamai naujinti Debian 11 paketus. Norėdami tai padaryti, vykdykite šias komandas kaip root (sistemos naujinimas, tada nereikalingų paketų šalinimas):

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

Gali būti rodomi pranešimai, raginantys pakeisti kelių konfigūracijos failų konfigūraciją. Tokiais atvejais pasirinkite parinktį išlaikyti esamą konfigūraciją.

Microsoft SQL Server tvarkyklių paruošimas

Jei įdiegtos Microsoft SQL Server tvarkyklės (taip yra CyberElements pateiktuose virtualiuosiuose įrenginiuose), reikia atlikti papildomų veiksmų.
Norėdami patikrinti, ar jos yra serveryje, galite vykdyti šią komandą kaip root:

1
apt list --installed ms*

Jei atsakymas nepasirodo, tvarkyklės neįdiegtos ir galite pereiti prie veidrodžio paruošimo veiksmo.
Kitu atveju, jei tvarkyklės įdiegtos, turėtų būti išvardyti du paketai: msodbcsql17 ir mssql-tools. Vykdykite šio skyriaus instrukcijas.

Pavyzdžiai

Serveris, kuriame tvarkyklės neįdiegtos, vykdant ankstesnę komandą pateiktų tokį rezultatą:

1
Listing... Done

Serveris, kuriame tvarkyklės įdiegtos, pateiks panašų rezultatą (paketų versijos gali skirtis):

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]

Norint įdiegti konkrečią paketų versiją ir užtikrinti sėkmingą versijos atnaujinimą, būtina vykdyti šias komandas:

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

Sukonfigūruokite Debian 12 pritaikytą Microsoft saugyklą, kad pasirengtumėte versijos atnaujinimui:

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 veidrodžio paruošimas

Pasirengimo etape gautą veidrodį (failą su plėtiniu tgz) reikia nusiųsti į serverį per SCP. Jį reikėtų padėti kataloge /tmp/.

Tada paruoškite veidrodį vykdydami šias komandas kaip root (bus panaikinti likę ankstesnio versijos atnaujinimo failai):

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

APT konfigūracija

Paketų tvarkytuvė APT sukonfigūruota gauti Debian 11 paketus; ją reikia iš naujo sukonfigūruoti, kad gautų Debian 12 paketus. Taip pat reikia atnaujinti nuorodą į vietinį CyberElements Bastion veidrodį. Norėdami tai padaryti, vykdykite šias komandas kaip 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

Vietinis veidrodis autentifikuojamas raktu systancia.gpg, atsisiųstu parengimo etape. Nusiųskite jį į serverį per SCP, į katalogą /tmp/, tada įdiekite jį šia komanda kaip root:

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

Be naujų saugyklų konfigūravimo, primygtinai rekomenduojame taikyti šį parametrą, kad APT nediegtų rekomenduojamų, bet nebūtinų priklausomybių – taip sumažės įdiegtų komponentų skaičius. Šis parametras taikomas kaip root vykdant šią komandą:

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

Galiausiai reikia atnaujinti saugyklų paketų sąrašą šia komanda:

1
apt update

Versijos atnaujinimo paleidimas

Prisijunkite prie Mediation Controller serverio per SSH ir persijunkite į root, tada atidarykite screen seansą, kaip nurodyta aukščiau.

Pirmiausia atnaujinkite tam tikrus konkrečius paketus, kad būtų galima atlikti versijos atnaujinimą. Vykdant pirmąją komandą tikėtinas klaidos pranešimas, tačiau klaidą ištaisys antroji komanda:

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

Atnaujinant Mediation Controller versiją iš Debian 11 į Debian 12, paketas collectd atnaujinamas ir tampa nesuderinamas su CyberElements Bastion sugeneruotu konfigūracijos failu (/etc/collectd/collectd.conf). Dėl to naujinimo metu gali įvykti klaida.

Kad to išvengtumėte, išjunkite collectd:

1
2
systemctl stop collectd 
systemctl disable collectd

Po to versijos atnaujinimą galima paleisti šia komanda:

1
apt dist-upgrade -y

Versijos atnaujinimo metu jūsų bus kelis kartus paklausta, ar išlaikyti konfigūracijos failus ir juos atnaujinti pagal standartinę Debian 12 konfigūraciją, ar palikti esamą specifinę konfigūraciją. Štai mūsų rekomendacijos dėl daugumos failų, su kuriais galite susidurti:

Konfigūracijos failas Rekomenduojamas veiksmas
/etc/issue Norėdami palikti, atsakykite N
/etc/issue.net Norėdami palikti, atsakykite N
/etc/security/limits.conf Norėdami palikti, atsakykite N
/etc/login.defs Norėdami palikti, atsakykite N
/etc/shibboleth/shibboleth2.xml Norėdami palikti, atsakykite N
/etc/shibboleth/shibd.logger Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/default/ntpsec Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/snmp/snmpd.conf Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/logrotate.d/IPdivaServer Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/ssh/sshd_config Norėdami palikti, atsakykite Keep the local version currently installed
/etc/ssh/ssh_config Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/apache2/ports.conf Norėdami palikti, atsakykite N
/etc/init.d/apache2 Norėdami palikti, atsakykite N
/etc/modsecurity/modsecurity.conf-recommended Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/ipdiva/httpd/commonParameters.conf Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/ipdiva/care/djangosettings.ini Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/crontab Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/openssl.cnf Norėdami pritaikyti pakeitimus, atsakykite Y
/etc/audit/rules.d/audit.rules Norėdami palikti, atsakykite N
/etc/pam.d/su Norėdami palikti, atsakykite N
/etc/sysctl.conf Norėdami palikti, atsakykite N

Sutikite su glibc paketo konfigūracijos pranešimu:

Sutikite su automatiniu paslaugų paleidimu iš naujo:

Baigę versijos atnaujinimą, vykdykite šias komandas, kad vėl suaktyvintumėte collectd, pašalintumėte nereikalingus paketus ir paleistumėte kompiuterį iš naujo:

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

Veiksmai, būdingi Mediation Controller klasteriui

SLAVE Mediation Controller serveryje vykdykite šias komandas, kad iš naujo sinchronizuotumėte bendrą paslaptį tarp MASTER Mediation Controller ir SLAVE:

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

PostgreSQL duomenų bazės egzemplioriaus versijos atnaujinimas

Mediation Controller serveryje atnaujinkite PostgreSQL duomenų bazės egzempliorių iš 13 versijos į 15 versiją. Tam vykdykite toliau pateiktas instrukcijas su atitinkamomis root teisėmis.

Prieš perkėlimą patikrinkite PostgreSQL egzempliorių būseną:

1
pg_lsclusters

Vykdykite šias komandas, kad atnaujintumėte duomenų bazės egzempliorių iki PostgreSQL 15 versijos:

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

Patikrinkite, ar duomenų bazės egzemplioriaus versija sėkmingai atnaujinta. Turėtų būti rodomi du egzemplioriai: vienas 13 versijos, kitas 15 versijos, kuris yra vienintelis aktyvus. Patikra atliekama šia komanda:

1
pg_lsclusters

Jei versijos atnaujinimas pavyko, 13 versijos duomenų bazės egzempliorių galima panaikinti:

1
pg_dropcluster 13 main

Galima pradėti naikinti PostgreSQL 13 versijos paketus:

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

CyberElements Bastion duomenų bazės perkėlimas

Produkto konfigūracija saugoma duomenų bazėje, kurią reikia perkelti, kad joje galėtų būti naujos versijos atliktų pakeitimų konfigūracijos. Operacija atliekama Mediation Controller serveryje kaip root.

Cluster architektūra

Cluster architektūroje operaciją reikia atlikti tik iš vieno Mediation Controller serverio, nesvarbu, kurio.

Taip pat reikia vykdyti šią komandą:

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

Duomenų perkėlimas paleidžiamas komanda, lygiaverte šiai:

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

Čia <org_clr> reikia pakeisti perkeliamos organizacijos pavadinimu. Atkreipkite dėmesį: jei Mediation Controller turi kelias organizacijas (multi-tenant), komandą reikės vykdyti tiek kartų, kiek yra perkeliamų organizacijų.

Pavyzdys

CyberElements Bastion platformoje, kurioje yra organizacijos systancia ir systancia-test, reikės vykdyti šias komandas:

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

Po duomenų bazės perkėlimo būtina iš naujo paleisti Apache2 paslaugą:

1
systemctl restart apache2

Konfigūracijų atkūrimas

Kai kurios konfigūracijos versijos atnaujinimo metu buvo perrašytos ir jas reikia atkurti.

Failas commonParameters.conf:

Perkelkite su HTML5 Gateway susijusias <Location> žymes, paprastai esančias failo pabaigoje, iš failo /etc/ipdiva/httpd/commonParameters.conf.dpkg-old į /etc/ipdiva/httpd/commonParameters.extra.conf (jei failo nėra, sukurkite jį). Jei <Location> žymių nėra, galima nukopijuoti toliau pateiktus pavyzdžius.

 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>

Failas djangosettings.ini:

Nukopijuokite informaciją iš failo /etc/ipdiva/care/djangosettings.ini.dpkg-old 2 eilutės „allowed_hosts“ į failą /etc/ipdiva/care/djangosettings.ini. Tai galima automatizuoti vykdant šią komandą kaip root:

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

Atkūrimų taikymas:

Norint pritaikyti atkūrimus, būtina kaip root iš naujo paleisti Apache2 paslaugą:

1
systemctl restart apache2

Patikra

Baigus versijos atnaujinimą, prieš grįžtant į gamybinę aplinką būtina patikrinti CyberElements Bastion infrastruktūrą ir įsitikinti, kad ji veikia tinkamai. Jei patikra nepavyksta, apsvarstykite galimybę grąžinti ankstesnę būseną atkuriant CyberElements Bastion serverių atsargines kopijas.

Atidarykite organizacijos administratoriaus sąsają, tada valdymo juostoje eikite į meniu „About“ ir patikrinkite, ar Mediation Controller versija sėkmingai atnaujinta iki 4.6.

Galima pradėti pirmuosius platformos veikimo testus, tačiau, kad CyberElements Bastion taikomosios programos veiktų optimaliai, rekomenduojame naudoti Edge Gateway 4.6 versiją.