Virtualisointijärjestelmässä käynnissä evakuointisiirto

Aloittaja J.Jäntti, sunnuntai, 02.06.2019, 21:26

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

J.Jäntti

FinWX:ää pyörittävä virtualisointijärjestelmä on jo pidemmän aikaa kärsinyt lievistä toiminnallisista ongelmista koskien siinä kiinni olevaa levyjärjestelmää.
Levypakka on osoittautunut rakenteeltansa hälyttävän huonoksi. Vaikka käytössä onkin 10 Gigabitin kuparilinkki, on levypakkaa rakentaessa jäänyt huomiotta tapa, jolla levypakka keskustelee sisäisesti itse levyjen kanssa.

Tällä hetkellä tilanne on se, että kone itsessään on suhteellisen tehokas prosessoriltaan mutta kaikki muu ympärillä onkin sitten enemmän tai vähemmän sekundaroinaa, jotka tekevät laitteeseen pullonkauloja. Näistä yksi ja kaikista merkityksellisin lienee emolevyllä oleva Intelin levyohjain (Cougar Point), joka on nimestään huolimatta osoittautunut melkoiseksi sudeksi (tarkoituksellista sanaleikkiä). Kyseinen levyohjain voi toimia tavallisena IDE-, AHCI- tai jopa RAID-ohjaimena, mutta sen rakenteellinen puoli on jäänyt emolevyvalmistalla puolitiehen pahasti, sillä kyseinen piiri on jäähdyttämätön. Ilman erikseen hommattua jäähdytyssiiliä tuo kapistus rojahtaa levypakalle tulevasta kuormasta kertaheitolla nurin, joten tämä otettiin levypakkaa rakentaessa huomioon.

Cougar Point-ohjain on ollut äärimmäisen huono kapistus tähän hommaan - siis suorastaan luokattoman huono. Levypakka on rakennettu olemaan ZFS mirror+ZIL (eli käytännössä RAID1 välimuistilla) ja levypakkaan hypitään kiinni NFS:n yli, sillä virtuaalikoneiden kiintolevyt ovat käytännössä vain tiedostoja. Huomasimme ongelmia tilanteessa, jossa useampi kone, useimmiten Windows-sellainen, alkaa kuormittamaan levypakkaa enemmän, alkaa virtualisointialustan koneilla olemaan äärimmäisen hankalaa toimia normaalisti. Tämä johtuu siitä, että Cougar Pointilta loppuu prosessointikyky täysin kesken ja tämä alkaa näkymään virtualisointialustalla I/O Delay-prosenttien rajuna hyppynä ylöspäin. Samalla, kun I/O Delay kasvaa häiritsevän korkeaksi (menee kovassa kuormassa 30-50% tasolle, alkaa itse virtualisointialusta kuormittumaan tilanteesta äärimmäisen pahoin jolloin sen Load Average-arvot läsähtävät kattoon, ollen reilusti 10-20 välissä, mikä ei 4-ytimiselle virtualisointialustakoneelle ole lainkaan normaalia touhua ja se roikkuu käytännössä kuoleman ja itsemurhan partaalla, kun se joutuu samaan aikaan sekä käsittelemään virtuaalikoneilta tulevia levypyyntöjä ja siinä samalla epätoivoisena odottamaan luvattoman hitaasti reagoivan levypakan suoriutuvan tehtävästään antaakseen sille lisää työtä. Jos yrittää katsoa virtualisointipuolelta mitä levypakalle kuuluu kapasiteetin puolesta, se saattaa ilmoittaa hetken odottelun jälkeen olevansa "Offline", vaikkei sitä ole oikeasti lainkaan.

Kun levyille suorittaa luku- tai kirjoitustyötä, joka on jatkuvaa, Cougar Pointin hitaus näkyy rumasti: Levypakkaan kohdistuva luku/kirjoitusliikenne on luokkaa vaivalloiset 200-300Mbit/s, tai noin 20-30 Megatavua sekunnissa. Virtualisointialustan ja levypakan välinen 10-Gigainen linkki käytännössä hoitaa tuollaisen kuorman toinen käsi selän taakse sidottuna, joten syy ei ole siellä millään mittarilla. Levypakan levyt itsessään puolestaan lukevat ja kirjoittavat dataa äärimmäisen laiskasti, koska Cougar Point ei kykene levyjä ruoskimaan nopeaan toimintaan, vaikka data siirretään ensin SSD-levyllä toimivaan välimuistiin ensin, sillä data siirtyy jopa SSD-levyllekin äärimmäisen hidasta vauhtia.

Tätä kirjoittaessa siirrossa levypakalta pois on toiseksi viimeisen virtuaalikoneen kiintolevy. Siirtoa tehdään siis levypakalta lukien ja paikalliselle levylle kirjoittaen. Se on kamalaa katsottavaa: Liikenne levyiltä ulos on 150-200Mbit/s (n. 15-20MB/s), Load Averaget virtualisointialustalla huitovat tällä hetkellä lukemissa 20.04, hyppien paikoin senkin yli ja I/O Delay-arvo paukkuu tasaisesti 75-80% tuntumassa. Tällä hetkellä vain Linux-virtuaalikoneet (jolla mm. FinWX pyörii) on toimintakykyisiä, mutta Windows-koneet ovat osittain jäissä kun niitä yrittää ohjailla.

Viimeinen kone, jonka virtuaalinenkiintolevy siirretään, on FinWX:n web-serverin levy. Kun se on tehty, levypakka pyörii tyhjää ja se saa alustalta lähtöpassit kokonaan.
Uusi levyjärjestelmä on rakenteilla ja siihen uhrataan merkittävästi enemmän ajatusta ja suunnitelmallisuutta, kuin mitä tälle tämänhetkiselle laitteelle on ikinä uhrattu. Virheitä tuli tehtyä, mutta niistä opitaan eikä niitä tulla toistamaan.
Juha Jäntti
Foorumin ja sivuston ylläpitäjä
Finland Weather Exchange (FinWX)

http://www.finwx.net/
------------------------------------------
Ukkoskausi avattu Suomessa: --.--.2024
Ukkoskausi avattu Helsingissä: --.--.2024
-------------------------------------------
Ukkospäivälaskuri 2024; Helsinki/Viikinmäki
0 ukkospäivää.
------------------------------------------
X, FinWX:n ylläpidon ilmoitukset
------------------------------------------