Raspberry Pi -opas 60 sekunnissa

Viime viikolla käytin jokaisen Raspberry Pi:n, joka minulla oli, rakentaakseni kuuden solmun HexaPi-laskentaklusterin.

Sen jälkeen minulta on kysytty useita kertoja: mihin se on hyvä? Joten aion vilkaista Raspberry Pi Projects – Build an OctaPi -kirjan viimeistä osaa ja lisätä siihen myös oman yksinkertaisen esimerkkini.

Oh, ja lisäsin klusteriin vielä yhden Raspberry Pi -palvelimen kunnioittaen silti sääntöäni ”ei kahta samanlaista palvelinta”, joten se on nyt itse asiassa HeptaPi-seitsemän palvelimen klusteri. Tämän viestin lopussa lisään kuvauksen joistakin uusista laitteistoista, joita hankin ja käytin tähän projektiin.

Ensin, mihin se on hyvä? Minulla on yksinkertainen esimerkki omasta kokemuksestani. Matkustan melko paljon, otan mielelläni paljon kuvia digitaalisella peilikameralla ja otan usein monikuvapanoraamakuvia (Sveitsin Alpit ovat erityisen hyviä kohteita tällaiseen valokuvaukseen). Kun pääsen kotiin, käytän hugin panorama photo stitcher -ohjelmaa näiden yksittäisten kuvien yhdistämiseen paljon suuremmiksi panoraamakuviksi.

Jos teen tämän panoraamakuvankäsittelyn yhdellä tietokoneella, joudun tekemään ”aikataulutuksen” itse – eli minun on pidettävä sitä silmällä, ja kun yksi panoraamakuva on valmis, minun on aloitettava seuraava.

Jos ryhdyn hieman kunnianhimoisemmaksi, voin perustaa eränhallintaohjelman ja asettaa yhdistettävät kuvaryhmät sitten jonoon, mutta ne tulevat silti tehtyä vain yksi kerrallaan. Jos minulla on useampia tietokoneita käytettävissä tehtävään, joudun sitten itse tekemään kuvien jakelun ja panoraamojen talteenoton, ja taas joudun itse tekemään ”aikataulutuksen” jokaisella tietokoneella. Niin tai näin, se on suhteellisen työläs ja aikaa vievä prosessi, ja valitettavasti huomaan usein, että minulta loppuu aika (tai kärsivällisyys) ennen kuin kaikki kuvani on käsitelty.

HeptaPi-klusterin avulla voisin perustaa eräkäsittelyprosessorin, joka perustuisi johonkin OctaPi-klusteriprojektiin sisältyvään Python-esimerkkiin, ja asentaa sitten hugin jokaiselle klusteripalvelimelle. Sitten voisin syöttää kuvaryhmiä eräprosessorille, joka jakaisi ne klusteripalvelimille käsiteltäviksi ja saisi vastineeksi valmiin panoraamakuvan.

Sijoitukseni tässä olisi sovelluskohtaisen eräohjausohjelman kirjoittaminen ja sitten yhdessä käsiteltävien kuvaryhmien tunnistaminen. Kun tämä olisi tehty, varsinainen aika, joka kuluisi siihen, että saisin kaikki ihanat panoraamakuvani, lyhenisi dramaattisesti — ja voisin lyhentää sitä vielä entisestään yksinkertaisesti lisäämällä klusteriin milloin tahansa lisää Raspberry Pi -järjestelmiä!

Yleisempi vastaus kysymykseen, mihin Pi-klusteri sopii, on: kaikenlaisiin töihin tai tehtäviin, jotka voidaan jakaa useisiin itsenäisiin osiin. Huomaa, että vain itse tehtävien on oltava itsenäisiä — myös tulokset voivat olla, kuten panoraamakuvissani, mutta voi olla myös niin, että jokaisen tehtävän tulos vaikuttaa johonkin suurempaan tulokseen. Tällöin tulokset voidaan kerätä asiakasjärjestelmään, ja sitten niitä voidaan jatkokäsitellä (ehkä jopa lähettämällä ne uudestaan uutena tehtävänä) lopullisen tuloksen tuottamiseksi.

Ei tämä tietenkään ole klusteritietokoneiden ainoa käyttötarkoitus. On olemassa redundanssin ja vikasietoisuuden kaltaisia asioita, jotka perustuvat siihen, että asiakkaasi lähettää työn kuinka monelle palvelimelle tahansa, joka on käytettävissä; jos palvelin otetaan pois käytöstä huollon ajaksi (tai kaatuu tai mitä tahansa), käsittely voi silti jatkua klusterin jäljellä olevilla palvelimilla.

Nämä kaikki ovat käsitteitä, joita tyypillisesti sovelletaan paljon suuremmissa, hienostuneemmissa klusterijärjestelmissä — jopa kokonaisiin pilvipalveluiden datakeskuksiin asti. Mutta pointtini tässä on se, että voit rakentaa yksinkertaisen klusterin käyttämällä hyvin edullisia Raspberry Pi -järjestelmiä, etkä ainoastaan saa erittäin hyödyllistä tietoa ja kokemusta sitä tehdessäsi, vaan saat myös käyttökelpoisen resurssin, kun olet valmis.

Nyt siirryn laitteistoon, jota käytin tässä projektissa. Mainitsin, että olen lisännyt klusteriin toisen palvelimen sen jälkeen, kun lähetin alkuperäisen kirjoituksen. Tämä tapahtui, koska selasin Pi-Shop.ch-sivustoa ja huomasin Raspberry Pi 2 v1.2.

Yleispiirteet ovat samat kuin alkuperäisessä Pi 2:ssa, mutta uusi malli käyttää samaa prosessoria kuin Pi 3 (mutta pienemmällä kellotaajuudella). Ei mikään iso juttu, eikä luultavasti edes hirveästi kiinnosta useimpia ihmisiä, koska Pi 3 on nyt muutenkin paljon suositumpi. Mutta se riitti motivoimaan minua hankkimaan sellaisen ja lisäämään sen klusteriin.

Tärkeää tässä lisäyksessä oli se, että minun ei tarvinnut tehdä mitään asiakasjärjestelmälle (ohjaimelle) tai muille palvelimille. Valmistelin vain uuden Pi 2:n täsmälleen samalla tavalla kuin olin valmistellut muutkin ja liitin sen sitten omaan Pi-klusterin langattomaan verkkoon. Seuraavan kerran, kun käynnistin työn asiakasohjelmalla, se huomasi, että uusi palvelin oli käytettävissä, ja alkoi käyttää sitä yhdessä muiden kanssa.

Alun perin projektissa mainitsin myös, että minulla ei ollut tarpeeksi USB-wi-fi-sovittimia, jotta olisin voinut liittää kaikki Pi-järjestelmäni, ja uuden Pi 2:n lisääminen tarkoitti tietenkin sitä, että tarvitsin sovittimen myös sitä varten. Pi-Shopissa on listattuna pari uutta sovitinta, joten ajattelin, että tämä on hyvä tilaisuus kokeilla niitä.

Tärkein kriteeri, joka kannattaa pitää mielessä, kun ostaa USB-wi-fi-sovittimen Raspberry Pi:lle, on se, että haluat olla varma, että se toimii kunnolla suoraan laatikosta.

Tiedän, että tämä saattaa kuulostaa hölmöltä, mutta se on täysin päinvastainen lähestymistapa kuin se, jota käytän ostaessani tällaisia oheislaitteita muihin Linux-kannettaviini ja -pöytäkoneisiini. Oletan, että suurin osa ihmisistä ostaa ja käyttää Raspberry Pi -järjestelmiä johonkin tiettyyn tarkoitukseen – oli se sitten koulutusta, harrastamista tai jotain tiettyä projektia tai laitekäyttöä varten. On tietysti mahdollista saada melkein mikä tahansa USB-sovitin toimimaan melkein minkä tahansa Linux-jakelun kanssa, mutta ellet halua ottaa riskiä siitä, että joudut käyttämään merkittävän osan koulu-/harrastus-/työajastasi ajureiden asentamiseen, valitse helppo tie ja varmista, että ostat sovittimen, joka on jo testattu ja toimii.

Yksinkertaisin tapa varmistua tästä on ostaa valtuutetulta Raspberry Pi -jälleenmyyjältä ja varmistaa, että heidän verkkosivullaan lukee, että ostamasi sovitin on todennettu toimivaksi Piin kanssa.

Ensimmäinen kokeilemani laite oli Miniature WiFi-laite (802.11b/g/n) 150Mbps. Uskon, että tämä on itse asiassa Adafruitin Miniature WiFi Module, vaikka kuvat eivät näytäkään samalta – ehkä se on custom-pakkaus tai jotain sellaista. Joka tapauksessa se, jonka sain, näyttää tässä esitetyn kuvan kaltaiselta, ja se todellakin toimi suoraan laatikosta, kuten mainostettiin. Se maksoi vain CHF 9.90 (noin €8.99/£8.00/$10.50).

Se perustuu Realtekin RTL5370-siruun, ja siinä on sininen power/link/status-LED.

Koska olin ’kokeile uusia juttuja’ -tilassa, ja huomasin, että Pi-Shopissa oli tarjolla toinenkin USB-wi-fi-sovitin suuremmalla läpivirtauskyvyllä varustettuna, joten päätin kokeilla myös tuota. Sen nimi on yksinkertaisesti ’USB WiFi Adapter for Raspberry Pi (300Mbps)’, ja se näyttää oikealla olevan kuvan kaltaiselta.

Se on huomattavasti kalliimpi, 23,90 CHF (noin 21,70 €/£19,40/$25), joten kannattaa varmaan miettiä tarkemmin, ennen kuin ostat sen edellä mainitun sijaan. Muista, että kyse on Raspberry Pi -järjestelmistä, eivätkä ne ole tunnettuja USB-liitäntöjensä nopeudesta ja tehokkuudesta. Joten nopeusero, joka on suurin piirtein tämän sovittimen ainoa etu, ei välttämättä ole merkittävä laitteen todellisessa käytössäsi.

Tämä laite perustuu Realtek 8192SU -piiriin, ja siinä on myös virta/linkki/tila-LED.

Kuva: TP-Link Technologies

Viimeinen uusi laitteisto tähän projektiin on se, jonka uskon osoittautuvan yleisimmin käyttökelpoiseksi – TP-Link TL WR802N Wireless N Nano Router.

Tämä edullinen laite (noin 30 CHF/€27/£24/$32) on hyvin pieni ja kevyt, ja se sisältää useita valmiiksi määritettyjä ja valmiiksi konfiguroituja tiloja yleisiin käyttötarkoituksiin. Käytin sitä erillisen WLAN-verkon perustamiseen ilman internetyhteyttä (Reititin-tila), mutta se voi tietysti tarjota internetyhteyden joko RJ45-johdinverkkoliitännän kautta (Access Point -tila) tai langattoman WISP-yhteyden kautta (Hotspot-tila).

Se voi myös täydentää olemassa olevaa WLAN-verkkoa (Range Extender -tila) tai toimia WLAN-sovittimena laitteelle, jossa on vain langallinen verkkoyhteys (Client -tila).

WR802N:n mukana tulee oma virtalähde, mutta se voi saada virtaa myös Raspberry Pi -virtalähteestä (tai muusta MicroUSB-älypuhelinlaturista) tai jopa liittämällä sen tietokoneen USB-porttiin.

Ensimmäiset vaikutelmani tästä laitteesta ovat olleet erittäin positiivisia, ja odotan, että siitä on paljon hyötyä sekä kotona että matkoilla.

Kun päätin rakentaa Pi-klusterin, odotin, että siitä tulisi gee-whiz-tyyppinen mielenkiintoinen juttu, mutta oletin myös, että ottaisin sen ennen pitkää uudelleen hajalle. Nyt kun se on pystyssä ja toiminnassa, huomaan miettiväni muita mielenkiintoisia tapoja käyttää sitä ja parantaa sitä.

Muista, että sinun ei tarvitse olla suuri määrä Raspberry Pi -järjestelmiä pystyttääksesi sellaisen – kaksi palvelinta ja yksi asiakas riittää aluksi. Mutta varo, kun olet saanut sen toimimaan, saatat huomata, että se on hyvä tekosyy ostaa lisää ja parempia osia sen laajentamiseksi.

  • Raspberry Pi: Miten rakensin OctaPi-tyylisen laskentaklusterin
  • Raspberry Pi: Käsi kädessä Fedora 26:n kanssa
  • Raspbian GNU/Linux:
  • Raspberry Pi Zero W, hands-on: Erittäin tervetullut uusi perheenjäsen
  • Käsikokeilu: Raspberry Pi 7-tuumainen kosketusnäyttö ja kotelo

Vastaa

Sähköpostiosoitettasi ei julkaista.