Yhteenveto Allas-palvelun käyttökatkosta

Yhteenveto Allas-palvelun käyttökatkosta

Osana avoimuuden periaatettamme julkaisemme yhteenvedon datanhallintajärjestelmä Altaan käyttökatkosta, toimintojen palautuksesta sekä kehittämisestä tulevien ongelmien ennaltaehkäisemiseksi.

Allas-palvelun ongelmat marraskuussa

CSC:n Allas-palvelussa tapahtui suunnittelematon käyttökatko maanantain 16.11.2020 ja perjantain 20.11.2020 välisenä aikana. Tämän lisäksi palvelu oli avoinna vain datan lukua varten perjantain 20.11.2020 ja maantantain 23.11.2020 välisenä aikana.

Datanhallintajärjestelmällä oli myös toinen suunnittelematon käyttökatko lauantain 28.11 ja tiistain 1.12 välisenä aikana.

Nämä käyttökatkot olivat poikkeuksellisen pitkiä palvelussa, joka on suunniteltu toimivan kokonaan ilman käyttökatkoja myös suurien muutoksien aikana, esimerkiksi palvelun siirrossa konesalien välillä.

Vikatilanteen tausta

Datanhallintajärjestelmä Allas perustuu Ceph-objektitallennusohjelmistoon. Altaan Ceph-tallennusohjelmistoon asennettiin pieni versiopäivitys torstaina 12.11. Asennettu ohjelmistoversio oli otettu jo aikaisemmin käyttöön testiympäristössä, jossa ohjelmiston toimivuus oli todettu ennen Altaan ohjelmistopäivitystä.

Ohjelmistovika aiheutti Ceph-tallennusympäristön palvelimilla muistinkäytön lisääntymistä, aiheuttaen myös levylle tallennettujen levyjärjestelmän sisäisten kirjanpitotietojen kasvun.

Muistinkäytön kasvu alkoi perjantaina 13.11. iltapäivällä. Maanantaina 16.11. noin klo 0.30 tallennusympäristön palvelimilta loppui muisti, ja Altaan Ceph-tallennusympäristö siirtyi vikatilaan. Altaan suorituskyvyssä nähtiin tämän jälkeen huomattavia ongelmia, minkä vuoksi palvelu suljettiin lopulta maanantaina klo 11.11.

Korjaukset olivat aikaavieviä, ja korjausten toteuttaminen ja testaus kesti tiistaista perjantaihin. Noin viikko korjauksen jälkeen muistinkäyttö lisääntyi taas, ja jouduimme sammuttamaan asiakaspääsyn Altaaseen lauantaina 28.11 voidaksemme varmistua olla joutumatta tilanteeseen, josta palautuminen kestää yhtä kauan. Tilanne saatiin korjattua tiistaina 1.12 aamulla.

Parhaan tietomme mukaan, ongelmat alkoivat versiopäivityksen jälkeen. Tämä ohjelmistobugi tulee esille vain suurissa ympäristöissä tietyllä konfiguraatiolla. Vain yhdessä kolmesta Ceph-järjestelmästämme oli ongelmia. Ohjelmistopäivityksen aiheuttaman bugi ei itsessään olisi aiheuttanut vikatilannetta.

Tämän lisäksi hiljattain alkanut uusi asiakaskäyttö oli paljastanut toisen, lähes harmittoman bugin Allas rajapinnassa, mikä lisäsi palvelinkuormaa. Näillä kahdella bugilla ei olisi ollut suurta vaikutusta, mutta uskomme, että tämä rajapintabugi laukaisi kolmannen bugin. Nämä kolme ongelmaa yhdessä aiheutti muistinkasvua, ja johtivat ensimmäiseen käyttökatkoon.

Ensimmäisessä palutumisessa saimme mitigoitua yhden kolmesta bugista. Toinen käyttökatko aiheutui siitä, että klusteri suoritti vielä palatusoperaatioita. Tämä hidasti klusterin toimintaa ja pahensi kahta jäljellä olevaa bugia. Näistä toiseen bugiin saimme korjauksia toisen käyttökatkon aikana.

Miksi palautumisessa kesti niin pitkään?

Altaan Ceph-tallennusohjelmiston vika aiheutti korjausta vaatineita ongelmia tallennusympäristöön ja sen toimintaan. Ongelmista osa vaikutti merkittävästi myös Altaan suorituskykyyn. Tallennusympäristön palauttaminen toimintakuntoon vaati suuren määrän palautustoimenpiteitä. Palautumistoimenpiteet vaativat myös paljon aikaa suuren datamäärän ja vikatilanteen myötä syntyneiden suorituskykyongelmien vuoksi.

Palautumistoimenpiteissä keskeisenä tavoitteena oli myös varmistaa Altaaseen tallennetun tiedon eheys ja säilyvyys, joten palautumistoimenpiteet tehtiin erityisen huolellisesti.

On poikkeuksellista, että Ceph-tallennusjärjestelmä joudutaan ajamaan alas palautumistoimenpiteiden suorittamiseksi. Vikasietoisuus on keskeinen osa järjestelmän arkkitehtuuria, mutta nyt nähty vikatilanne ei ollut korjattavissa ilman palvelukatkoa. Palautumisaikataulun ennakoiminen oli vaikeaa johtuen ainutlaatuisesta, käsintehtävästä palautustyöstä. Palautumisen nopeuttamiseksi rakennettiin myös uusia työkaluja.

Mitä teemme jatkossa toisin

Ongelmat näyttävät johtuneen kolmesta erillisestä bugista yhdistettynä tiettyyn Allas -rajapinnan käyttötapaukseen. Koska käyttökatkon taustalla oli useampi erillinen ongelma, on vaikea saada kokonaiskuvaa kaikista näiden ongelmien välisistä interaktioista. Olemme löytäneet pohjimmaisen syyn ainakin yhteen tilaan, joka aiheutti ongelman. Lisäämme jatkossa monitorointia, jotta voimme reagoida tällaisiin tapauksiin ennaltaehkäisevästi.

Olemme myös lisänneet useamman mitigaation Allas-klusteriin pienentämään mahdollisten tulevien ongelmien vaikutusta.

Onko Altaassa oleva tieto turvassa?

Allas-tallennuspalvelu säilyttää sinne syötettyä tietoa yhtä turvallisesti kuin muutkin vikasietoiset tallennusjärjestelmät. Edes nyt nähdyn vikatilanteen aikana Altaan tiedot eivät olleet vaarassa. Tiedon eheys ja säilyvyys on keskeinen suunnittelukriteeri sekä Allas-tallennuspalvelun että Ceph-tallennusohjelmiston toteutuksessa.

Edes luotettava tallennusjärjestelmä ei voi koskaan korvata varmuuskopioita. Esimerkiksi vahingossa poistetut tiedostot eivät ole palautettavissa muualta kuin varmuuskopioista. Siksi - järjestelmästä riippumatta - suosittelemme aina tietojen varmuuskopiointia.

Kuinka todennäköisesti vastaava vikatilanne toistuu Allas-palvelussa?

Tällaisen vikatilanteen toistuminen on epätodennäköistä. Kaikkia vikaskenaarioita on mahdotonta ennustaa, mutta nyt tehdyillä toimenpiteillä rajataan vastaavien ohjelmistovirheiden vaikutuksia. Altaan palveluarkkitehtuuri on toteutettu vikasietoisesti kaikilla tasoilla, mikä tuo suojaa muita tunnistettuja häiriötilanteita vastaan.

Lue tarkempi yhteenvetoraportti

Tutustu Allas-palveluun

(linkkien sisällöt englanninkielisiä)

Lisää tästä aiheesta » Siirry sisältöihin ja uutisiin »