Hyppää sisältöön

Mediation Controller -palvelimen versiopäivitys käytön aikana

Tärkeää

Dokumentaatio Mediation Controller -palvelimen versiopäivityksestä käytön aikana on tarkoitettu kaikille Mediation Controller -palvelimille, jotka toimivat Debian 11 -käyttöjärjestelmällä. Debian-version voi tarkistaa seuraavalla komennolla (suoritetaan SSH- tai konsoliyhteydessä):

1
cat /etc/debian_version

Tietoa

Muistutuksena: siirtyminen root-käyttäjäksi Debian-koneilla on tehtävä seuraavalla komennolla:

1
su -

Suunnittelu ja valmistelu

Verkkoliikenteen avaaminen

Tuotteen päivityksen yhteydessä on ladattava useita paketteja Debian-repositoryista, koska Debian-versiosta 11 siirrytään versioon 12. Pääsy portin TCP 80 kautta osoitteisiin security.debian.org ja ftp.fr.debian.org on avattava.

Koneen liikenteen avautumisen testaamiseksi voidaan käynnistää Debian-repositoryjen synkronointi. Jos Debian-repositoryihin pääsyä koskevia virheilmoituksia näytetään, verkkoliikenne ei ole avattu, todennäköisesti yrityksen palomuurin estämänä. Repositoryjen synkronointi voidaan käynnistää seuraavalla komennolla:

1
apt update

Peilipalvelimen ja tarvittavien työkalujen lataaminen

CyberElements Cleanroom 4.6 -peilipalvelin voidaan ladata tästä linkistä (edellyttää asiakastilin luomista): Systancia Marketplace

Peilipalvelimen lisäksi päivitysprosessia varten tarvitaan kolmannen osapuolen työkaluja:

  • SSH-asiakasohjelma (Windowsissa voidaan käyttää työkalua PuTTY)
  • SCP-asiakasohjelma (Windowsissa voidaan käyttää työkaluja WinSCP tai FileZilla)

Työkalun screen asennus ja käyttö

Työkalu screen mahdollistaa useiden komentotulkkipäätteiden avaamisen yhdessä konsolissa. Tämän työkalun käyttö on välttämätöntä CyberElements Bastion -version versiopäivityksessä, jotta riippuvuus verkkoyhteyden vakaudesta poistuu. Ilman screen-työkalua asennus nimittäin keskeytyisi, jos SSH-yhteys CyberElements Bastion -palvelimiin katkeaa.

Työkalua screen käyttämällä voidaan CyberElements Bastion -laitteiden komentotulkkikonsoliin uudelleen kirjauduttaessa palata siihen päätteeseen, jossa päivitysprosessi suoritettiin.

Screen-paketti tulisi asentaa seuraavalla komentorivillä:

1
apt install --no-install-recommends screen

Uuden screen-päätteen avaamiseksi on suoritettava seuraava komento:

1
screen -S <ID>

Korvaa <ID> nimellä, joka yksilöi istunnon.

Esimerkki

CyberElements-versiopäivityksissä tunniste cye-upgrade on helposti tunnistettavissa. Komento olisi siis seuraava:

1
screen -S cye-upgrade

Työkalulla screen avatun päätteen palauttamiseksi riittää suorittaa seuraava komento:

1
screen -r <ID>

Korvaa <ID> istunnon avaamisen yhteydessä määritetyllä nimellä.

Esimerkki

Aiemmin tunnisteella cye-upgrade avattu pääte voidaan palauttaa seuraavalla komennolla:

1
screen -r cye-upgrade

Sulkeaksesi päätteen päivityksen valmistuttua kirjoita päätteeseen komento exit tai käytä näppäinyhdistelmää ctrl+d.

Näin palaat konsoliin. Ilmoitus ”screen is terminating” vahvistaa, että pääte on suljettu.

Virtuaalisten appliance-laitteiden levytilan laajennus

Systancia Cleanroom 4.4- tai 4.5 -virtuaalisissa appliance-laitteissa /usr-osioon on lisättävä 2 GB:n levylaajennus. Tämä toimenpide on tarpeen, jotta versiopäivitykseen on riittävästi levytilaa eikä toimenpide jää jumiin.

Kun muodostat yhteyden Mediation Controller -palvelimeen joko SSH:n kautta tai konsolitilassa, tervetuloviesti kertoo, että olet yhteydessä Systancia-koneeseen. Lisärivi ilmoittaa appliance-laitteen version.

Esimerkki

Version 4.5 Mediation Controller -virtuaaliappliance antaa seuraavan tuloksen:

 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

Jos kone ei ole version 4.4 tai 4.5 mukana toimitettu virtuaalinen appliance, tämän luvun voi ohittaa ja siirtyä suoraan versiopäivitykseen.

Backup erittäin suositeltava

Seuraavat vaiheet muuttavat Mediation Controller -palvelimen levyn osiointia. Jos manuaalisia muutoksia on tehty, nämä ohjeet eivät ehkä sovellu ja kone voi jäädä jumiin.

Ota koneesta backup ennen jatkamista tai monista tarvittaessa virtuaalikone. Snapshoteja ei voi käyttää, koska ne estävät erityisesti VMwaressa levyn laajentamisen.

Laajenna hypervisorissa virtuaalikoneen levytilaa 2 GB:llä. Jos levyn laajentaminen ei ole mahdollista, tarkista, ettei snapshoteja ole, ja sammuta muussa tapauksessa virtuaalikone, jos laajennusta käytön aikana ei tueta.

Kun levytila on laajennettu virtuaalikoneen tasolla, /usr-osion laajentaminen edellyttää seuraavia komentoja, jotka suoritetaan root-käyttäjänä:

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

Versiopäivitys

Debian-pakettien päivittäminen

Koska CyberElements Bastion -versiopäivitys edellyttää Debianin versiopäivitystä, on suositeltavaa päivittää Debian 11 -paketit asianmukaisesti ennen siirtymistä Debian 12:een. Suorita tätä varten seuraavat komennot käyttäjänä root (järjestelmän päivitys ja sen jälkeen tarpeettomien pakettien poisto):

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

Voi ilmestyä ilmoituksia, joissa sinua pyydetään muuttamaan useiden määritystiedostojen määrityksiä. Valitse näissä tapauksissa vaihtoehto, joka säilyttää nykyisen määrityksen.

Microsoft SQL Server -ajurien valmistelu

Lisätoimenpiteitä tarvitaan, jos Microsoft SQL Server -ajurit on asennettu (näin on Systancian tarjoamissa virtuaalisissa appliance-laitteissa).
Sen tarkistamiseksi, ovatko ne palvelimella, voi suorittaa seuraavan komennon root-käyttäjänä:

1
apt list --installed ms*

Jos vastausta ei tule, ajureita ei ole asennettu ja voit siirtyä peilin valmisteluvaiheeseen.
Muussa tapauksessa, jos ajurit on asennettu, luettelossa pitäisi olla kaksi pakettia: msodbcsql17 ja mssql-tools. Noudata tämän osion ohjeita.

Esimerkkejä

Palvelin, jolle ajureita ei ole asennettu, antaisi edellisellä komennolla seuraavan tuloksen:

1
Listing... Done

Palvelin, jolle ajurit on asennettu, antaa tämän kaltaisen tuloksen (pakettien versiot voivat poiketa):

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]

Seuraavat komennot tarvitaan tietyn pakettiversion asentamiseen, jotta versiopäivitys onnistuu:

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

Määritä Debian 12:lle sopiva Microsoftin repository versiopäivityksen valmistelemiseksi:

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 -peilipalvelimen valmistelu

Valmisteluvaiheessa haettu peilipalvelin (tiedosto, jonka tunniste on tgz) on lähetettävä palvelimelle SCP:n avulla. Se on sijoitettava hakemistoon /tmp/.

Valmistele sen jälkeen peilipalvelin suorittamalla seuraavat komennot käyttäjänä root (aiemman versiopäivityksen jäljelle jääneet tiedostot poistetaan):

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

APT:n määritys

APT-paketinhallinta on määritetty hakemaan Debian 11 -paketit; se on määritettävä uudelleen hakemaan Debian 12 -paketit. Lisäksi viittaus paikalliseen CyberElements Bastion -peiliin on päivitettävä. Suorita tätä varten seuraavat komennot käyttäjänä 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

Uusien repositoryjen määrityksen lisäksi suosittelemme vahvasti soveltamaan seuraavaa asetusta, jolla APT ohjeistetaan olemaan asentamatta suositeltuja riippuvuuksia, jotka eivät ole ehdottoman tarpeellisia, jotta asennettujen komponenttien määrä pienenee. Seuraava komento soveltaa tätä asetusta käyttäjänä root:

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

Lopuksi on päivitettävä repositoryjen pakettiluettelo seuraavalla komennolla:

1
apt update

Versiopäivityksen käynnistäminen

Ota SSH-yhteys Mediation Controller -palvelimeen, siirry root-käyttäjäksi ja avaa sen jälkeen screen edellä kuvatulla tavalla.

Aloita päivittämällä tietyt paketit, jotta versiopäivitys voidaan tehdä. Ensimmäisen komennon suorituksessa on odotettavissa virheilmoitus, mutta toinen komento korjaa virheen:

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

Kun Mediation Controller -palvelin päivitetään Debian 11:stä Debian 12:een, collectd-paketti päivitetään, minkä jälkeen se ei ole enää yhteensopiva CyberElements Bastion -tuotteen luoman määritystiedoston (/etc/collectd/collectd.conf) kanssa. Tämä voi aiheuttaa virheen päivityksen aikana.

Poista collectd käytöstä tämän välttämiseksi:

1
2
systemctl stop collectd 
systemctl disable collectd

Sen jälkeen versiopäivityksen voi käynnistää seuraavalla komennolla:

1
apt dist-upgrade -y

Versiopäivityksen aikana sinulta kysytään useita kysymyksiä siitä, säilytetäänkö määritystiedostot ja päivitetäänkö ne Debian 12:n vakiomäärityksen mukaisiksi vai säilytetäänkö nykyinen erityinen määritys. Alla suosituksemme useimmista tiedostoista, joita voit kohdata:

Määritystiedosto Suositeltu toimenpide
/etc/issue Säilytä, vastaa N
/etc/issue.net Säilytä, vastaa N
/etc/security/limits.conf Säilytä, vastaa N
/etc/login.defs Säilytä, vastaa N
/etc/shibboleth/shibboleth2.xml Säilytä, vastaa N
/etc/shibboleth/shibd.logger Ota muutokset käyttöön, vastaa Y
/etc/default/ntpsec Ota muutokset käyttöön, vastaa Y
/etc/snmp/snmpd.conf Ota muutokset käyttöön, vastaa Y
/etc/logrotate.d/IPdivaServer Ota muutokset käyttöön, vastaa Y
/etc/ssh/sshd_config Säilytä, vastaa Keep the local version currently installed
/etc/ssh/ssh_config Ota muutokset käyttöön, vastaa Y
/etc/apache2/ports.conf Säilytä, vastaa N
/etc/init.d/apache2 Säilytä, vastaa N
/etc/modsecurity/modsecurity.conf-recommended Ota muutokset käyttöön, vastaa Y
/etc/ipdiva/httpd/commonParameters.conf Ota muutokset käyttöön, vastaa Y
/etc/ipdiva/care/djangosettings.ini Ota muutokset käyttöön, vastaa Y
/etc/crontab Ota muutokset käyttöön, vastaa Y
/etc/openssl.cnf Ota muutokset käyttöön, vastaa Y
/etc/audit/rules.d/audit.rules Säilytä, vastaa N
/etc/pam.d/su Säilytä, vastaa N
/etc/sysctl.conf Säilytä, vastaa N

Hyväksy glibc-paketin määritysilmoitus:

Hyväksy palvelujen automaattinen uudelleenkäynnistys:

Kun versiopäivitys on valmis, suorita seuraavat komennot, jotta collectd otetaan uudelleen käyttöön, tarpeettomat paketit poistetaan ja kone käynnistetään uudelleen:

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

Cluster-tilan Mediation Controller -palvelimien erityistoimet

Suorita SLAVE-Mediation Controller -palvelimella seuraavat komennot, jotta MASTER-Mediation Controller -palvelimen ja SLAVE-palvelimen yhteinen salaisuus synkronoidaan uudelleen:

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

PostgreSQL-tietokantainstanssin versiopäivitys

Päivitä Mediation Controller -palvelimella PostgreSQL-tietokantainstanssi versiosta 13 versioon 15. Suorita tätä varten seuraavat ohjeet sopivin root-oikeuksin.

Tarkista PostgreSQL-instanssien tila ennen migraatiota:

1
pg_lsclusters

Suorita seuraavat komennot tietokantainstanssin päivittämiseksi PostgreSQL-versioon 15:

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

Tarkista, että tietokantainstanssi on päivitetty oikein. Näkyviin pitäisi tulla kaksi instanssia, toinen versiossa 13 ja toinen versiossa 15, joka on ainoa aktiivinen. Tarkistus tehdään seuraavalla komennolla:

1
pg_lsclusters

Jos versiopäivitys onnistui, version 13 tietokantainstanssin voi poistaa:

1
pg_dropcluster 13 main

Version 13 PostgreSQL-pakettien poiston voi käynnistää:

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

CyberElements Bastion -tietokannan migraatio

Tuotteen määritys tallennetaan tietokantaan, joka on migroitava, jotta se voi sisältää uuden version tuomien muutosten asetukset. Toimenpide tehdään Mediation Controller -palvelimella root-käyttäjänä.

Cluster-arkkitehtuuri

Cluster-arkkitehtuurissa toimenpide on tehtävä vain yhdeltä Mediation Controller -palvelimelta, riippumatta siitä, mikä se on.

Lisäksi on suoritettava seuraava komento:

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

Tietojen migraatio käynnistetään tätä vastaavalla komennolla:

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

Tässä <org_clr> on korvattava migroitavan organisaation nimellä. Huomaa: jos Mediation Controller -palvelimella on useita organisaatioita (multi-tenant), komento on suoritettava niin monta kertaa kuin on migroitavia organisaatioita.

Esimerkki

Jos CyberElements Bastion -alustalla on organisaatiot systancia ja systancia-test, on suoritettava seuraavat komennot:

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

Tietokannan migraation jälkeen Apache2-palvelu on käynnistettävä uudelleen:

1
systemctl restart apache2

Määritysten palauttaminen

Jotkin määritykset korvattiin versiopäivityksen aikana, ja ne on palautettava.

commonParameters.conf-tiedosto:

Siirrä HTML5 Gateway -palvelimiin liittyvät <Location>-tunnisteet, jotka ovat yleensä tiedoston lopussa, tiedostosta /etc/ipdiva/httpd/commonParameters.conf.dpkg-old tiedostoon /etc/ipdiva/httpd/commonParameters.extra.conf (luo tiedosto, jos sitä ei ole). Jos <Location>-tunnisteita ei ole, seuraavat esimerkit voi kopioida.

 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>

djangosettings.ini-tiedosto:

Kopioi tiedoston /etc/ipdiva/care/djangosettings.ini.dpkg-old rivin 2 ”allowed_hosts” tiedot tiedostoon /etc/ipdiva/care/djangosettings.ini. Tämän voi automatisoida seuraavalla komennolla root-käyttäjänä:

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

Palautusten käyttöön ottaminen:

Palautusten käyttöön ottaminen edellyttää Apache2-palvelun uudelleenkäynnistystä root-käyttäjänä:

1
systemctl restart apache2

Validointi

Kun versiopäivitys on valmis, CyberElements Bastion -infrastruktuuri on validoitava sen oikean toiminnan varmistamiseksi ennen tuotantoon palaamista. Jos validointi epäonnistuu, harkitse paluuta edelliseen tilaan CyberElements Bastion -palvelimien backupien palautuksella.

Siirry organisaation järjestelmänvalvojan liittymään ja sen jälkeen hallintapalkin ”About”-valikkoon tarkistaaksesi, että Mediation Controller -palvelimen versio on päivitetty oikein versioon 4.6.

Alustan toiminnan ensimmäiset testit voi käynnistää, mutta suosittelemme Edge Gateway -palvelimen versiota 4.6, jotta CyberElements Bastion -sovellusten suorituskyky on paras mahdollinen.