aankondigingen:2021:c2021d01-software-updates-202101

C2021D01: Software updates januari 2021

Aankondiging: Software onderhoud hosting omgeving

Beste klant/collega,

(Is dit bericht niet goed leesbaar? Bekijk dan de online versie.)

Wij vragen aandacht voor het volgende:

  1. Aankondiging OS upgrade testcluster
  2. Storage onderhoud
  3. NodeJS-10 End-Of-Life
  4. Reguliere software updates

In de week van 25–29 januari voeren wij OS upgrades in het testcluster uit. Dit doen we door alle diensten die op een host draaien tijdelijk naar andere hosts te migreren, vervolgens de OS upgrade uit te voeren op die host en na afloop de diensten weer terug te migreren. Voor redundant uitgevoerde diensten (webservers, loadbalancers, elastic search clusters) is de impact minimaal. Niet redundant uitgevoerde diensten (databases, diverse java/tomcat instances) gaan 2x een onderbreking merken van enkele seconden tot ongeveer een minuut. (het heen, en weer terug migreren van de dienst) Zowel de migraties van de diensten als de eigenlijke OS upgrades worden gedurende kantooruren uitgevoerd.

Als het testcluster gedaan is en er geen showstoppers gevonden worden dan is daarna de productieomgeving (het appcluster) aan de beurt. Dat zal via een vergelijkbare procedure gedaan worden, met als meest in het oog springende verschil dat het heen&weer migreren van de niet-redundante diensten in een nachtelijks servicewindow plaats zal vinden. De planning voor het appcluster laten we op een later moment weten. Het ligt in de lijn der verwachtingen dat dat in de week van 8–12 februari gaat worden, maar dat zou kunnen schuiven op basis van bevindingen in het testcluster.

Achtergrond mbt OS upgrades

Het appcluster draait op een linux variant genaamd “Scientific Linux (SL)”, wat weer een variant is op “Red Hat Enterprise Linux (RHEL)”. Echter, de versie die we thans draaien, SL-6, is uit support en het is voor ons dus van belang om te migreren naar een nieuwere, wel gesupporte versie. Daarbij is de keuze gevallen op “CentOS”, wat ook weer een variant op RHEL is. De versie die we zullen gaan draaien is Centos-8 Stream, oftewel de meest recente versie op dit moment.

Het appcluster zit zodanig in elkaar dat een upgrade van het onderliggende OS op de gebruikers maar minimale impact heeft. Dat komt omdat alle zaken waar gebruikers mee te maken hebben (webservers, applicatieservers, databases e.d.) ontkoppeld zijn van het onderliggende OS. Het is dus zo dat ondanks dat het OS veranderd wordt, de versies van apache, php, java, tomcat, enz allemaal gelijk blijven. Op die manier zorgen we (vanuit klantperspectief) voor een eenvoudig upgrade pad. Als het goed is hoeft er in de meeste gevallen namelijk helemaal niets aangepast te worden. Slechts in een aantal gevallen kunnen we in het oude en het nieuwe OS niet dezelfde versie van een softwarecomponent leveren. In die gevallen nemen we contact op met de betrokken gebruikers om een zo glad mogelijke transitie te bewerkstelligen.

In de nacht van 26 op 27 januari, tussen 1:00AM en 3:00AM vindt er onderhoud plaats aan de NPO storage omgeving. Het betreft een half-jaarlijkse firmware upgrade van de NAS fileservers.

Aanleiding/ achtergrond

De NPO storage omgeving bestaat uit twee functionele hoofdcomponenten, te weten een SAN1) en een NAS2). Misschien heb je thuis wel een NAS systeempje staan om je foto's op te bewaren of om films of muziek mee af te spelen. De NAS systemen bij de NPO zijn de grote broertjes daarvan. In een NAS zit normaal een of meerdere harddisks waar de bestanden uiteindelijk opgeslagen worden. Het grote broertje van een losse harddisk is een SAN, dat is een hele verzameling van harddisks die via een storage netwerk aan b.v. een NAS beschikbaar gemaakt worden.

Voor zowel SAN als NAS systemen geldt dat deze ingebakken software hebben (zogeheten “firmware”) en die firmware moet van tijd tot tijd bijgewerkt worden naar een nieuwere versie waarin bugs opgelost zijn. De firmware van de SAN componenten is in november gedaan, de NAS component is nu aan de beurt.

Impact

Voor de NAS systemen geldt dat deze elk als clusters bestaande uit twee nodes draaien. Een firmware upgrade gebeurt node voor node. Tijdens de upgrade van de ene node wordt de gehele workload tijdelijk even door de andere node gedaan, waarna de workload weer eerlijk over beide nodes verdeeld kan worden. Het omschakelen van workload tussen de nodes duurt ongeveer 10 seconden tot een minuut. Tijdens zo'n omschakeling staat het ophalen en wegschrijven van bestanden even stil. In geval van websites en apps kan dat betekenen dat deze tijdelijk een timeout geven. Omdat er gedurende de nacht meerdere van dit soort overschakelmomenten nodig zijn kunnen dit soort timeouts een aantal malen gedurende de nacht plaatsvinden, maar ze zouden per keer nooit langer dan enige seconden tot een minuut mogen duren.

Per 30 april 2021 is NodeJS-10 End-Of-Life gebruikers hiervan om tijdig over te stappen naar NodeJS-12. De NodeJS-10 gebruikers zullen we de komende periode persoonlijk gaan aanschrijven.

Het software update rooster voor de komende tijd ziet er als volgt uit:

software update ronde uitrol in test gelegenheid tot testen uitrol in productie
Januari 7–8 januari 11–15 januari 18–21 januari
25–29 Januari OS upgrade testcluster
26 op 27 Januari Storage onderhoud NAS
Februari 4–5 februari 8–12 februari 15–18 februari
8–12 Februari OS upgrade appcluster
Maart 4–5 maart 8–12 maart 15–18 maart
April 1 april 5–9 april 12–15 april

De updates worden op 8 januari op het testcluster doorgevoerd, waarna de week van 11–15 januari gebruikt kan worden om te testen. In de periode van 18–21 januari worden de updates op de productie-omgevingen doorgevoerd volgens onderstaand schema:

wat impact op van naar
cacti 0 D1 1.2.14 1.2.16
cacti-spine 0 D1 1.2.15 1.2.16
phpmyadmin 0 D1 4.9.7 5.0.4
grafana 1 D1 7.3.3 7.3.6
mp4split 0 D1 1.7.6 1.10.28
atop 0 D1 2.5.0 2.6.0
nginx 0 D2 1.19.5 1.19.6
php 7.3 0 D2 7.3.25 7.3.26
php 7.4 0 D2 7.4.13 7.4.14
python 0 D2 3.8.6 3.8.7
node 12 0 D2 12.19.1 12.20.0
ImageMagick 0 D2 7.0.10-41 7.0.10-55
curl 0 D2 7.73.0 7.74.0
goaccess 0 D2 1.4.2 1.4.3
git 0 D2 2.29.2 2.30.0
httperf 0 D2 2020-08-02 2020-12-06
unrar 0 D2 6.0.2 6.0.3
bind 0 D2 9.11.25 9.11.26
unbound 0 D2 1.12.0 1.13.0
tomcat 8 2 N3 8.5.60 8.5.61
tomcat 9 2 N3 9.0.40 9.0.41
newrelic-java 2 N3 6.2.1 6.3.0
keycloak 2 N3 10.0.2 12.0.1
Elastic Search 7.x 0 D3 7.10.0 7.10.1

Veel software kan zonder, of met heel weinig impact ge-update worden. Voor deze zaken kiezen we ervoor om zo'n update overdag uit te voeren. Bij een aantal andere componenten is er iets meer impact merkbaar. Die voeren we uit in een nachtelijks change window. Hieronder is de impact genummerd van 0 (geen impact) via 1 (korte onderbreking van enkele seconden) tot 2 (onderbreking van enkele minuten op de dienstverlening). De tijdstippen zijn als volgt:

code tijdstip
D1 maandag 11 januari 8:00–17:00
D2 dinsdag 12 januari 8:00–12:00
N3 woensdag 13 januari 1:00–6:00 AM
D3 woensdag 13 januari 8:00–17:00

Team Hosting&Streaming is gedurende al het onderhoud via de normale kanalen bereikbaar. Zie de contact pagina.


1)
Storage Area Network
2)
Network Attached Storage
  • aankondigingen/2021/c2021d01-software-updates-202101.txt
  • Last modified: 2024/04/16 07:59
  • by 127.0.0.1