Klusterointia ja laitehankintoja

Viime viikolla saatiin varsin hyvin aikaan se, mitä pitikin: palvelimet tilatuiksi ja testi-Mappi-palvelut klusteroiduiksi.

Klusterointi

Jokainen testi-Mappi-palvelu on nyt RedHat-klusteroitu palvelu. Kuhunkin palveluun kuuluu neljä resurssia:

  • ip-osoite
  • metadatatiedostojärjestelmä
  • postintalletustiedostojärjestelmä ja
  • käynnistys-sammutus-status-skripti.

Kun palvelu nostetaan pystyyn tietyllä klusterin solmulla, liitetään solmun verkkoliitäntään haluttu ip-osoite, pystytetään tiedostojärjestelmät ja ajetaan käynnistysskripti. Kun palvelu sammutetaan tietyltä solmulta, tehdään vastaavat toimenpiteet toisin päin. Edellisviikkoisen virtualisoinnin ansiosta eri palvelut voidaan nostaa pystyyn millä tahansa solmulla tai vaikka kaikki palvelut samalla solmulla ilman, että ne häiritsevät toisiaan.

Tässä tietysti vaaditaan, että kullakin klusterisolmulla on käytettävissä tiettyjä resursseja, nimittäin

  • verkkoliitäntä, jolla on jo yksi osoite oikeassa verkossa
  • pääsy metadatalevylaitteeseen
  • hakemisto, johon metadatatiedostojärjestelmä liitetään
  • pääsy postinsäilytyslevylaitteeseen
  • hakemisto, johon postinsäilytystiedostojärjestelmä liitetään
  • käynnistys-sammutus-status-skripti

Laitteisto

Päädyimme lopulta seuraavaan palvelinkokoonpanoon:

Ensisijainen klusteri (Vallilassa)

  • 1 kpl Dell 1U-palvelin Mupdate Masteriksi
  • 4 kpl HP Blade -palvelimia klusterisolmuiksi

Bladeista kaksi on tarkoitus sijoittaa olemassaolevaan Blade-kehikkoon ja kaksi uuteen, kesään mennessä normaalibudjetista hankittavaan Blade-kehikkoon. Sähkönsyöttö ei ikävä kyllä ole tällä ratkaisulla redundanttia, mutta ainakaan koko klusteri ei mene alas, jos toista kehikkoa on huollettava.

Mupdate Master on erillinen palvelin, koska sen on pakko olla; lisäksi tämä ratkaisee klusterissa sen ongelman, mitä tehtäisiin, jos toisen Blade-kehikon kaaduttua jäisi jäljelle tasan puolet klusterisolmuista (jäljelle jääväkin puolikas ajaisi itsensa alas, koska sillä olisi vain tasan puolet solmuista, eikä se niin ollen voisi olla varma, ettei toinenkin puolikas ole ylhäällä ja yrittäisi myös käyttää klusterin hallinnoimia resursseja). Nyt klusterisolmuista ei koskaan jää jäljelle tasan puolta, koska solmuja on pariton määrä.

Toissijainen eli replikoiva klusteri (Kumpulassa)

  • 1 kpl Dell 1U-palvelin Mupdate Masteriksi
  • 4 kpl Dell 1U-palvelimia kuituliitännöin klusterisolmuiksi

Kumpulaan ei hankita Bladeja eikä kehikoita, koska näille ei olisi järkevästi tilaa konesalissa.

Palvelimien lisäksi kumpaankin klusteriin pystytetään solmujen välille olemassaolevista osista kahdennettu verkko, jonka kautta klusterin valvonta- ja hallinnointiliikenne kulkee. Verkko kahdennetaan, koska jos se hajoaisi, koko klusteri ajaisi itsensä alas. Kahdentaminen toteutetaan käytännössä Linuxin Channel Bonding -ominaisuuden avulla, jolla siis kaksi verkkoliitäntää saadaan näyttämään yhdeltä.

Lisäksi solmujen välille tarvitaan oma verkko fencingiä varten. Tässä on kyse siitä, että klusterin kadotettua muut yhteydet esimerkiksi jumittuneeseen solmuun se saadaan ajetuksi alas hallitusti (tai sitten väkisin, mutta alas joka tapauksessa). Solmulla olleet palvelut kun uskalletaan nostaa pystyyn jonnekin muualle vasta sitten, kun voidaan olla varmoja, ettei kadonnut solmu enää yritä itse koskea näiden palveluiden vaatimiin resursseihin.