Kuinka hallita Linux -palvelimia paremmin (kuin ennen) Perttu Muurimäki
Tilastokeskus mikä on ja mitä tekee? Tilastokeskus tukee demokraattista ja tietoon perustuvaa päätöksentekoa sekä tutkimusta tuottamalla yhteiskuntaoloja kuvaavia luotettavia tilastoja, selvityksiä ja aineistoja. Tilastokeskus kehittää valtion tilastotointa yhteistyössä muiden valtion viranomaisten kanssa. Tilastokeskus ei ole pörssi, pankki taikka sairaala ei todella arvokasta dataa ei todella kovia saatavuusvaatimuksia tieteellisesti suuntautunut organisaatio tietoteknisesti pragmaattinen ja konservatiivinen tekniikka- vaan ei toimittajavetoinen
Muutoksen vuosikymmen 2011 MS SQL Server korvasi Sybasen (AIX/RS6000) 2013 Microsoft korvasi Novellin verkkolevyjen, hakemistopalvelun ja kirjautumispalvelun toimittajana (edirectory AD) 2014 valtion yhteinen viestintäratkaisu VYVI (sähköposti, kalenteri, pikaviestintä, ) korvasi oman Teamware -ympäristön (Solaris) 2015 toimialariippumaton tekniikka siirtyi Valtoriin konesali, levyjärjestelmät, ethernet-verkko, kuituverkko, palomuuri, palvelimet 2018 oma konesali lakkautetaan
Tilastokeskuksen työvälineet tänään Tilastotuotannon pääsovellus on SAS SAS:ia ajetaan sekä työasemassa että palvelimella (AIX/Power) Tilastotietokannat MS SQL Serverissä Tilastoja tuotetaan myös omilla.net -sovelluksilla jotka lähinnä toimivat SAS / SQL -ajojen käyttöliittyminä. Kaikki ympärillä oleva tuotetaan muutamalla sadalla Linux ja Windows -virtuaalipalvelimella (VMware) Toimialariippumaton tekniikka Valtorin käsissä
Noin 20 vuotta Linux-käyttöä Vuonna 2000 Tilastokeskuksen www-palvelu CSC:n hostaamalla Red Hat -palvelimella Vaivihkaista infrakäyttöä (DNS, MTA, intra, www, ) VMware ja virtualisointi 2003-2004 alkaen lisäsi palvelinten lukumäärää huimasti (etupäässä Ubuntuja tutumpi ja ilmainen) OES -palvelinten tulo 2005 toi SLES:it taloon ja Linuxit laajempaan käyttöön Vuonna 2012 reilut 100 Linux -palvelinta (valtaosa virtuaalisia) 3 distribuutiota (lukuisia versioita kustakin) ei kokoaikaista Linux-ylläpitäjää ei keskitettyä hallintaa pääkäyttäjäoikeuksia jaettu vapaamielisesti
Mitä Linuxilla tehdään? Tiedonhankintaa hallinnollisten aineistojen vastaanotto (tiedostosiirrot organisaatioiden välillä) kenttähaastattelijoiden aineistojen vastaanotto Jakelua "tavallinen" www-jakelu (Django, Apache, Nginx, Solr) paikkatietojen www-jakelu (Geoserver, Oskari, Jena Fuseki) - Sisäistä viestintää (blogialusta, wikialusta) Käytetään tietokanta-alustana (exist-db, Postgresql, MySQL/Mariadb) Käytetään SAS -AIX -palvelinten support -alustana (AD-yhteydet, SVN-yhteydet,...) Infraa (vanha DNS, sähköpostipalvelu, lokipalvelimet, www-edustapalvelimet, versionhallinta, sovelluskehityksen tiketöinti, ) Kaikenlaista pikkuhommaa (AD -tietojen päivitys, lisenssipalvelin,...)
Ryhdistäytyminen Strategiamuistio syksyllä 2012: Ulkoisten ohjelmistotarjoajien ylivoimaisesti yleisimmin tuetut Linux-distribuutiot ovat Red Hat ja SUSE. Näin ollen on Linuxin käytössä järkevää konsolidoida kaikki palvelimet jompaan kumpaan näistä suurimmista toimijoista. Koska TK:ssa on jo ennestään support-lisenssit SUSE -distribuution laajaan käyttöön sekä käyttökokemusta usealta vuodelta on kokonaisedullisinta pyrkiä käyttämään yksinomaan SUSE -distribuutiota. Liitteissä on vielä lisäargumentteja. Toimenpide-ehdotuksissa: Uudet perustettavat Linux-palvelimet varustetaan SUSE 11/ OpenSUSE 12 käyttöjärjestelmillä syksystä 2012 lähtien. Lähetetään TI/Käytöstä muutama henkilö SUSE-palvelin kursseille 2013 alkaen (ks. liite 3 koulutuskalenteri).
Uusi tiukempi hallintapolicy: johtoajatuksena segregaatio... Käyttöjärjestelmä vs. sillä tuotettavat palvelut Käyttöjärjestelmän ylläpito erillään sovelluksista (pl. jakelun mukana tulevat sovellukset) root there can be only one (vastuiden eriyttäminen) Sovellukset sovellustunnuksien taakse henkilökohtaisilla tunnuksilla ei ajeta mitään sudo su - <sovellustunnus> Käyttöjärjestelmän hallinnoimien ja itse ETÄhallinnoitujen tiedostojen eriyttäminen tiedostoja EI MUOKATA - niitä lisätään ja poistetaan (/etc/sudoers.d, /etc/init.d/, /etc/systemd/system, /etc/apache2/vhosts.d, /etc/permissions.d, /etc/cron.d, /etc/logrotate.d)
...Uusi tiukempi hallintapolicy: johtoajatuksena segregaatio Tiedostojärjestelmien eriyttäminen LVM kaikkiin palvelimiin system taltioryhmä vain käyttöjärjestelmälle sovelluksille oma taltioryhmä sovelluksilla ja sovellusinstansseilla omat levyalueet ja tunnukset 3. osapuolien sovellusten eristäminen /opt:in alle (Tivoli TSM, VMware tools,...)
Varovaisesti kohti ammattimaisempaa hallintaa Aluksi vain päivitykset keskitettyyn hallinnointiin (SMT) Sitten liitettiin SMT:hen lisäohjelmistolähteitä. Tiedostot ajettiin koneisiin ssh:n ylitse (pdsh distributed shell) Versionhallintaa käytettiin jos muistettiin Muokattuja tiedostoja kopioitiin koneesta toiseen Ongelmina edelleen SMT:n yksipuolisuus Ei helppoa käyttöliittymää Pienten hommien tekeminen ilman komentorivikokemusta ja -osaamista mahdotonta Hartioiden kapeus
SUSE Manager 2... SUSE Manager 2 käyttöön 2014 Parannus kaikkeen! Tärkeimmät seikat Selkeä ja helppo käyttöliittymä. Värillisiä palloja. Keskitetty konfiguraatioiden hallinta Oikea etähallinta Vähemmällä käytöllä Automaattiset päivitykset Auditointi AutoInstall
...SUSE Manager 2 Mahdollisuuksia joita ei vielä kunnolla hyödynnetä Konfiguraatioita voisi vielä lisätä keskitettyyn hallintaan (palomuuri) Organisaatioiden käyttö. Tällä hetkellä vain oletusorganisaatio Proxyjen käyttö Push vs. Pull SCOM integraatio Puutteita Kunnollinen muullakin välineellä käytettävissä oleva versiohallinta Commit -viestien puuttuminen
...SUSE Manager 2 Jatkuvaa käyttöönottoa Uusia ominaisuuksia käyttöön sitä mukaan kun niille tulee tarvetta Aiempien käytäntöjen jatkuvaa kriittistä tarkastelua Käyttöjärjestelmien kehitys mahdollistaa uusia asioita (/etc/fstab /etc/systemd/system/*.mount) SUSE Manager 3 käyttöön 2017 Salt SUSE Managerista riippumaton CI/CD -putki käyttöön sovellusten ylläpidossa (2017-2018) Ansible
Varmuuskopiot Data Sovellukset Käyttöjärjestelmä CD/CI -putki SUSE Manager
Kiitos mielenkiinnostanne! perttu.muurimaki@stat.fi