Serverid

Vana Ubuntu serveris: kuidas minna uuele LTS-ile

Server töötab, leht avaneb, keegi ei kurda. Aga kui sisse logides teatab süsteem, et selle versiooni tavatugi on lõppenud, ei tähenda see, et kõik on korras. See tähendab, et uusi turvaparandusi enam ei tule.

Ubuntu LTS-versioonil on viis aastat tavatuge. Selle aja jooksul tulevad turvauuendused automaatselt. Pärast seda saab tuge osaliselt pikendada (Ubuntu Pro / ESM), aga see on ajutine lahendus, mitte plaan. Varem või hiljem tuleb server viia uuele LTS-versioonile.

Allpool on kirjas, mis valikud on, kumba ma millises olukorras soovitan ja mida enne uuendamist kindlasti kontrollida.

Mida toeta jäänud versioon päriselt tähendab

Server ei lakka toe lõppemise päeval töötamast. Probleem tuleb vaikselt:

  • Turvaaugud jäävad lappimata. Kui OpenSSL-is, SSH-s või kernelis leitakse viga, ei jõua sinu serverisse parandust. Avalikult teadaolev haavatavus ja lappimata server on just see kombinatsioon, mida automaatsed skännerid otsivad.
  • Uus tarkvara ei paigaldu. Rakenduse uus versioon nõuab uuemat PHP-d, Pythonit või teeki, mida vanas versioonis pole.
  • Probleem kasvab ajas. Mida kauem oodata, seda suurem on hüpe. Ühe LTS-sammu uuendus on rutiin; kolme sammu jagu mahajäämus on juba projekt.

Kaks teed: kohapeal uuendus või uus server

Uuendus kohapeal (do-release-upgrade)

Ubuntu oma tööriist viib süsteemi järgmisele LTS-versioonile. Oluline piirang: üks LTS-samm korraga — näiteks 22.04 → 24.04 → 26.04. Vahelt üle hüpata ei saa. LTS-ilt LTS-ile pakutakse uuendust tavaliselt alles pärast uue versiooni esimest parandusväljaannet.

Sobib, kui server on suhteliselt korras, mahajäämus on üks samm, seadistus on teada ja rakendusi on vähe.

Riskid: kui midagi läheb poole pealt katki, on server poolikus olekus. Kolmanda osapoole hoidlad (PPA-d) lülitatakse uuenduse ajal välja ja need tuleb pärast ise tagasi seada. Ja kui samme on mitu, tuleb iga samm eraldi läbi teha ja testida.

Uus server Ubuntu 26.04-l ja kolimine

Uus masin pannakse püsti puhtalt, rakendused ja andmed kolitakse üle ning vana server jääb seniks tööle.

Sobib, kui mahajäämus on mitu versiooni, serveris on aastate jooksul kogunenud dokumenteerimata muudatusi, või niikuinii on plaanis vahetada majutust või riistvara.

Eelis: tagasitee on alati olemas — vana server töötab edasi, kuni uus on kontrollitud. Uued serverid paigaldan Ubuntu 26.04-le; see on ka hea võimalus seadistus lõpuks dokumenteerida. Kuidas kolimine samm-sammult käib, on kirjas eraldi postituses: serveri kolimine ilma seisakuta.

Minu rusikareegel: üks LTS-samm ja korras server → uuendus kohapeal. Kaks või enam sammu või „keegi ei tea täpselt, mis seal töötab“ → uus server.

Kontrollnimekiri enne uuendamist

1. Täielik varukoopia või hetktõmmis

Enne kui midagi puutuda: kogu serveri hetktõmmis (kui majutus seda võimaldab) ja eraldi andmebaaside dump ning failide koopia. Ja kontrolli, et varukoopiast saab ka päriselt taastada — varukoopia, mida pole kunagi proovitud, on lootus, mitte plaan.

2. Proovi enne kloonil

Tee serverist koopia ja tee uuendus kõigepealt seal. Nii näed, mis katki läheb, ilma et päris leht maas oleks. See on kõige väärtuslikum üksik samm kogu nimekirjas.

3. Keele- ja andmebaasiversioonide hüpped

Siin läheb kõige sagedamini midagi katki. Uus Ubuntu tähendab uut PHP-d, Pythonit, PostgreSQL-i või MySQL-i/MariaDB-d:

  • vana PHP-kood, mis kasutab eemaldatud funktsioone, hakkab andma vigu;
  • Pythoni rakenduse virtuaalkeskkond tuleb uue Pythoni peal uuesti luua;
  • PostgreSQL-i uus põhiversioon vajab andmete üleviimist vanast klastrist uude;
  • MySQL-i ja MariaDB vahel ning versioonide vahel muutuvad vaikeseaded.

Vaata enne üle, mis versioonid praegu kasutuses on ja mida rakendus toetab.

4. Seadistusfailide erinevused

Kui seadistusfaili on käsitsi muudetud, küsib uuendus, kas jätta oma versioon või võtta paketi uus. Vale valik võib kustutada aastatega tehtud seadistuse — või jätta alles vana, mis uue versiooniga enam ei tööta. Tee enne /etc kaustast koopia, et oleks millega võrrelda.

5. Kolmanda osapoole hoidlad

PPA-d ja tootjate hoidlad (nt andmebaasi, Dockeri või Elasticsearchi omad) ei uuene automaatselt koos süsteemiga. Kirjuta need üles, kontrolli, kas uue Ubuntu jaoks on olemas vastav versioon, ja seadista pärast uuendust uuesti.

6. Seisaku planeerimine

Kohapeal uuendus tähendab mõnda aega, mil teenused taaskäivituvad. Vali vaikne aeg, anna kasutajatele teada ja käivita uuendus tmux-i või screen-i sees, et katkev SSH-ühendus ei jätaks protsessi poolikuks.

7. Tagasipööramise plaan

Enne alustamist pane kirja: mis hetkel otsustad, et läks valesti, ja mida siis teed. Hetktõmmisest taastamine, DNS tagasi vanale serverile — mis iganes see on, peab see olema läbi mõeldud enne, mitte keset ööd.

Pärast uuendust

Kontrolli logid, teenuste olek, sertifikaadi uuendus, ajastatud tööd (cron), varunduse toimimine ja e-posti saatmine. Siis vaata üle ka turvaseaded — uus süsteem on hea hetk need korda teha. Selle jaoks on eraldi Linuxi serveri turvamise kontrollnimekiri.

Kui eelistad selle üle anda

Haldan Linuxi servereid igapäevaselt — eelistatult Ubuntut, aga ka Debiani ja RHEL-i pere süsteeme — koos Nginxi, Apache2, PostgreSQL-i, MySQL-i/MariaDB, Dockeri, Tomcati ja Elasticsearchi/OpenSearchiga. Olen viinud uutele versioonidele ka üle kümne aasta vanu rakendusi nii, et äriline funktsionaalsus jäi samaks. Vaata lähemalt Linuxi serverite paigalduse ja halduse teenust.

Kui sinu server töötab vanal Ubuntul ja sa ei ole kindel, kumb tee sobib, kirjuta mulle. Kirjelda oma olukorda paari lausega siin — milline Ubuntu versioon, mis serveris töötab — ja vastan ühe tööpäeva jooksul ning ütlen ausalt, kas ja kuidas saan aidata. Kui eelistad üldist kontaktvormi, leiad selle kontaktilehelt.

Korduma kippuvad küsimused

Kas ma saan üle hüpata mitu versiooni korraga?

Kohapeal uuendusega mitte — iga LTS-samm tuleb eraldi läbi teha. Kui samme on mitu, on uus server ja kolimine sageli kiirem ja turvalisem.

Kas Ubuntu Pro / ESM lahendab probleemi?

See pikendab turvauuendusi osale pakettidest ja annab aega. Aga rakenduste keele- ja andmebaasiversioonid jäävad vanaks, nii et uuendus tuleb ikkagi ette — lihtsalt hiljem.

Kas uuendamise ajal on leht maas?

Kohapeal uuendusel on lühike katkestus vältimatu. Uue serveri ja kolimise korral saab katkestuse viia minimaalseks, sest vana server töötab kuni ümberlülituseni.

Loe veel

Seotud teenused

Kes hoolitseb sinu serveri eest?

Paigaldus, uuendused, varukoopiad ja seire — Linuxi server, mille taga on keegi, kellele saab helistada.