Varmuuskopioiden tärkeydestä ja upea retropelilöytö eBaystä

Varmuuskopioiden tärkeydestä

Tunsin äsken oloni hyvin tyytyväiseksi nyt kun kolttonen.fi sivustoni kaikki verkkopalvelut on menestyksekkäästi siirretty uudelle hostaajalle omaan Red Hat Enterprise Linux 7.6 virtuaalikoneeseen. Sen unohdin aiemmassa blogissani tänään päivällä mainita, että 85€ kuukausimaksuni ei sisällä ollenkaan varmuuskopionti-palvelua. Sellainen olisi muistaakseni maksanut Louhella melkein saman verran kuin itse virtuaalikonekin eli ehkä noin 80€/kk. En mene vannomaan, mutta taisi olla tuota luokkaa.

Varmistukset ovat tietysti elintärkeitä eritoten sisällön eli tuotetun datan osalta. Sivustollani on kuitenkin useiden vuosien ajalta materiaalia ja sen häviäminen olisi kannaltani sen luokan katastrofi, että pimahtaisin välittömästi eikä toipumisesta olisi tietoa. Niinpä olenkin ottanut varmistuksia datasta säännöllisesti ja uploadaan niitä eri paikkoihin, jotta en joudu koskaan tilanteeseen, jossa joutuisin tyhjän päälle.

Nytkin Louhen pakettiini kuuluu kuitenkin rajaton verkkoliikenne, joten rakensin vaan erittäin yksinkertaisen backup-virityksen shelliskriptien ja Linux-työkalujen avulla. Inkrementaalisia backuppeja se ei osaa, mutta helppohan nekin olisi tehdä erikseen vaikkapa ihan tutun SSH:n ja rsync-ohjelman avulla.

Tein siitä huolimatta niin, että otan aina full backupit ja prosessi käynnistetään etänä esimerkiksi läppäriltäni. Siellä on komento tee_backup, joka ottaa SSH-yhteyden Louhella sijaitsevaan virtuaalikoneeseeni. Siellä on yksinkertainen wrapperiskripti, joka ajaa sudo-ohjelman kautta varsinaisen make_backup skriptin rootin oikeuksin. Kyseinen make_backup taas kutsuu kahta eri skriptiä, jotka ovat make_pg_dump ja make_slapd_dump.

Kuten ehkä arvasit, ensimmäinen kutsuu PostgreSQL-tietokannan mukana tulevaa pg_dumpall työkalua, joka puolestaan kutsuu samaan ohjelmistojakelupakettiin kuuluvaa pg_dump ohjelmaa jokaisen tietokannan kohdalla. Skripti make_pg_dump ajetaan postgres käyttäjänä ja se siis tekee SQL-dumpin kaikesta PostgreSQL-tietokannan sisällöstä. Kyseisen dumpin avulla tietokannat voi rakentaa uudelleen melko vähällä vaivalla kunhan luo ensin tarvittavat tietokannat vaikkapa createdb komennolla. Dumppi pakataan suomalaista tekoa olevalla xz ohjelmalla, jota kehittää The Tukaani Project.

Luullakseni xz pakkaa dataa useissa tapauksissa pienempään tilaan kuin perinteiset gzip ja bzip2 työkalut, jotka myös ovat hyviä ja ovat olleet pitkään käytössä Unix-maailmassa.

Palataan kuitenkin siihen backup-juttuun vielä. Kun make_backup on saanut PostgreSQL-dumpin tehtyä, se kutsuu apuskriptiä make_slapd_dump. Se taas tekee LDIF-muotoisen dumpin OpenLDAP hakemistosta. Se tallentaa ensin kannan numero 0 eli konfiguraation slapcat-ohjelmalla ja pakkaa sen xz työkalulla. Sen jälkeen se tekee LDIF-dumpin LDAP-hakemiston varsinaisesta dataosuudesta ldapsearch-ohjelmalla ja tuokin dumppi pakataan ihan samalla lailla tehokasta xz ohjelmaa apuna käyttäen.

Sekä SQL- että LDIF-dumpit tallennetaan normaalisti pakattuina tiedostoina tiedostojärjestelmään, joka minulla on RHEL7-virtuaalikoneessani XFS eli alunperin Silicon Graphicsin kehittämä Unix-tiedostojärjestelmä.

Kolmannessa vaiheessa make_backup skripti lukee mm. /etc/kkbackup.conf tiedoston, jossa kerrotaan tar-ohjelmalle mitkä hakemistot sen kuuluu ottaa mukaan arkistotiedostoon, jonka se muodostaa ja pakkaa xz ohjelmalla.

Kun tar.xz tyyppinen tiedosto on lopulta muodostettu, se sisältää toivoakseni kaiken oleellisen datan, joka pitää ottaa säännöllisesti talteen. Tuon vaiheen jälkeen tee_backup kopioi arkistotiedoston scp-ohjelmalla läppärille ja poistaa sen virtuaalikoneen /var/tmp/backup hakemistosta.

Tämä prosessi on siis todella yksinkertainen ja mekaaninen, mutta juuri siksi se onkin niin kätevä ja toimii luotettavasti. Minä voin vain läppäriltäni antaa yhden yksinkertaisen tee_backup komennon shellissä ja odottaa muutaman minuutin kun virtuaalikoneesta otetaan ajantasalla oleva varmistus, joka samalla siirtyy talteen koneelleni.

Esimerkiksi tämänkaltaisissa tehtävissä Bash ja Linuxin komentoriviparadigma putkituksineen osoittaa voimansa. Shell-ohjelmointi voi toisaalta myös olla ihan hirveää jos sitä yrittää soveltaa tilanteissa, joissa joku "oikea" ohjelmointikieli olisi sopivampi. Siitä huolimatta shelliskriptit ovat monessa tapauksessa äärimmäisen käteviä ja oikeita ratkaisuita.

Monissa muissa ympäristöissä näiden asioiden tekeminen olisi työn ja tuskan takana, mutta koska Unix/Linux-maailmassa voimme hyödyntää helposti komentoriville suunniteltuja apukomentoja, niiden avulla saa nopeasti rakennettua vaikka miten siistejä systeemeitä.

Ajattelin myöhemmin lisätä tähän sellaisen vaiheen, että tar.xz-paketti kopioitaisiin vielä vaikka ulkoiselle USB-levylle tai jonnekin muualle vaikkapa GPG:llä vahvasti salattuna. Salatun tiedoston uskaltaisi puskea vaikka niihin kirottuihin "pilvipalveluihin". Toteutus on erittäin helppoa, sillä gpg-komento mukautuu myös hienosti komentorivikäyttöön ja toimii putkituksissa.

Yhteenvetona siis sanotaan, että tuskinpa minun kannattaa maksaa Louhelle varmuuskopioinnista, koska voin hoitaa ne itsekin ainakin oleellisen datan osalta. Mutta totuuden nimissä se on myönnettävä, että jos virtuaalikoneeni jotenkin totaalisesti räjähtäisi allaolevan levyjärjestelmän suhteen, niin Louhen backupeista olisi silloin paljon apua.

Nimittäin vaikka saankin datani otettua talteen omatoimisesti ilman mitään vaivannäköä, niin uuden virtuaalikoneen pystyttämisen käyttöjärjestelmineen ja ohjelmistoineen ei käy nopeasti mikäli se pitää tehdä alusta alkaen - siis lähtien liikkeelle nollapisteestä. Eli jos Louhella sattuisi joskus jokin paha katastrofi ja virtuaalikoneeni posahtaisi sen seurauksena totaalisesti, niin minulta menisi varmaankin monia päiviä saada kaikki toimintakuntoon.

Siitä huolimatta taidan kuitenkin ottaa riskin ihan tietoisesti, mutta toisaalta voisin kyllä kysellä Louhelta saisiko heiltä halvemmalla vaikka full backupin kerran kuukaudessa. Silloin käyttöjärjestelmä ja ohjelmistot olisi mahdollista saada taas nopeasti ylös jos jotain sattuu. Ja kuten sanottua, datat minulla onkin jo monessa paikassa tallessa.

Upea retropelilöytö eBaystä

Synapse Softwaren Picnic Paranoia moduuli 8-bittiselle Atarille

Sitten viimeinkin tämän illan blogin aiheeseen, joka sai minut taas palaamaan läppärini ääreen. Makailin siis hetki sitten tyytyväisenä sohvalla ja ajattelin, että kävisinkö eBayssä tsekkaamassa olisiko siellä mitään kiinnostavaa. Etsiskelin huvikseni Commodore 64 pelejä, mutta mitään haluamaani ei osunut silmiin. En ollut lainkaan yllättynyt tai pettynyt, sillä tiedän hyvin, että sillä rintamalla ei enää helposti löydy mitään.

Päähäni pälkähti sitten kokeilla hakua "atari synapse" ja heti sen jälkeen alkoikin tapahtua!

Näin 8-bittiselle Atarille vuonna 1982 julkaistun pelin Picnic Paranoia. Wikipedian mukaan pelin on ohjelmoinut Russ Segal. Atarimanian mahtavilla retrosivuilla on myös tietoa kyseisestä pelistä. Kuten näet, julkaisija on legendaarinen Synapse Software ja tämä peli on saatavilla kasettina, lerppuna ja moduulina. Atarimania on luokitellut kaikki kolme mediaa yhtä harvinaisiksi ja numeerinen arvio on 8/10. Nämä luvut eivät ole absoluuttisia totuuksia, mutta ne ovat kuitenkin suuntaa-antavia hyvinkin usein.

Mielestäni paljon kertoo jo sekin, että Atarimanialla ei ole dumppia lerpusta tai moduulista, vaan ainoastaan kasetista. Mikäli Picnic Paranoia olisi helppo löytää, heillä olisi toki dumpit kaikista medioista, mutta koska näin ei ole, voimme luottaa siihen, että moduuli on hyvin harvinainen. Ehkä 8/10 luokitus voisi olla jopa alakanttiin - en osaa sanoa. En väitä mitään, mutta olen äärimmäisen tyytyväinen tästä löydöstä.

Olen ihaillut Synapse Softwarea jo vuosien ajan, mutta tästä pelistä en ollut aiemmin edes kuullutkaan. Peli postitetaan minulle USA:sta ja yhteensä tälle hankinnalle tuli hintaa vähän yli 270€. Halpaa huvia tämä ei siis ollut, mutta Picnic Paranoia on panostuksen arvoinen. En kadu yhtään, vaan päinvastoin olen erittäin iloinen. Summaan sisältyy onneksi postitus ja myös tullimaksut ja verot kuuluvat siihen. Kerran se vain kirpaisee.

Innostuin sen verran paljon, että en ehtinyt tarkistaa kaikkia yksityiskohtia kohteesta, mutta tämä pelimoduuli siis mitä ilmeisimmin tulee eBayn Global Shipping Programin kautta, koska muuten nuo import charges kulut jäisivät ymmärtääkseni aina maksettavaksi Suomen päässä käsipelillä. Vain GSP:n avulla kaikki kulut voi hoitaa etukäteen yhdellä klikkauksella.

Mitähän tässä vielä blogin päätteeksi uskaltaisi todeta? Ehkä sen, että viime päivät ovat olleet poikkeuksellisen antoisia monessakin suhteessa. Jokunen pieni projekti on edennyt ja tosiaan kolttonen.fi verkkopalvelut on onnistuneesti migratoitu Louhelle uuteen virtuaalikoneeseen. Nimipalvelun ja domainin siirron osalta Louhen toiminta ei sujunut täysin nappiin, mutta ongelmat saatiin selvitettyä - tosin ne selvitin minä eikä Louhen puhelintuki.

Siitä huolimatta en jaksa ollenkaan alkaa valittamaan ja vaikeroimaan Louhelle pienistä vastoinkäymisistä. Pääasia minulle on nimittäin se, että parin tunnin nimipalvelusähellyksen jälkeen kolttonen.fi verkkopalvelut ovat ylhäällä ja nimipalvelussa tietueet osoittavat jälleen sinne minne pitääkin. Siispä "Loppu hyvin, kaikki hyvin".

Ja vieläpä nyt kaiken huipuksi tänä iltana retropelikeräilyrintamallakin tuli tällainen täysin ennakoimaton, upea löytö eteen! En odottanut yhtään mitään mennessäni eBayn sivuille äsken. Ei kai tässä voi kuin olla kiitollinen siitä, että kaikki tuntuisi sujuvan poikkeuksellisen hyvin.