Viikko 6 – Palvelinten hallinta oman moduulin kasaaminen

Kurssi on lopuillaan ja paljon on opittu, nyt luomme vielä oman moduulin, jossa konfiguroimme jotakin jännää.

Tervetuloa seuraamaan bitcoin louhinnan automaattista käyttöönottoa saltin tilojen avulla.

 

Tehtävät löytyvät kurssin sivulta – Terokarvinen.com Palvelinten-Hallinta

Tässä harjoituksessa luodaan salti:n avulla oma sls tila, mikä valittiin viimeviikolla. Tämä tila lähetetään GitHubiin git:n avulla ja kloonataan sieltä käyttövalmiina.

Käytän testi koneessa xubuntu-16.04.4-desktop-amd64.iso, mikä on ajettu usbtikulle UNetBootilla

Specsit minion koneesta (Läppäri HP EliteBook 8440p)

Tehtävät - Viikko 6

h6 – DL perjantaina

Tämän tehtävän määräaika on jo w19 perjantaina 2018-05-11, koska tämä tehtävä korvaa viikon lähiopetustunnit.

a) Kultainen polku. Tee ensimmäinen versio modulistasi, joka toimii ainakin optimiolosuhteissa. Jos jokin säätö on poikkeuksellisen hankala, voit tehdä sen tässä versiossa käsin, ja dokumentoida ajamasi käskyt. (Valmis moduli tarvitaan vasta esitykseen ensi viikolla).

b) Kokeile moduliasi tyhjässä koneessa. Voit käyttää virtualboxia, vagranttia tai livetikkua.

c) Käyttäjätarina (user story): ketkä ovat modulisi käyttäjät? Mitä he haluavat saada aikaan modulillasi? Missä tilanteessa he sitä käyttävät? Mitkä ovat tärkeimmät parannukset käyttäjän kannalta, joita moduliin pitäisi vielä tehdä? Tähän c-kohtaan vain sanallinen vastaus, tämä kohta ei poikkeuksellisesti edellytä testejä tietokoneella.

d) Kertaa materiaali ja valmistaudu kokeeseen. Tätä d-kohtaa ei tarvitse raportoida.

 

Tehtävä A) Kultainen polku

Otin tehtäväksi bitcoin louhintaan tarvittavan työkalun asennuksen automaattisesti saltin avulla, githubin repon kautta.

Huom! Tällä voi louhia monia eri kryptovaluuttoja, ei ainoastaan bitcoinia!

Aluksi kokeilin miten tämä toimii käsin, joten seurasin ohjeita shubhamilta How to mine bitcoin with CPU
Tämän asennus ja suorittaminen kävi todella helposti, ei ollut ongelmia ollenkaan.
En kirjoita käsin kokeilusta ollenkaan, koska en näe sitä tarpeelliseksi. Linkin takaa löytyy todella hyvät ja helpot ohjeet.

 

Luodaan nyt tämä salt tila, ja lähetetään se githubiin

Luodaan repository GitHubiin, loin tähän harjoitukseen repositoryn nimellä “aarrekaivos”

Minulla on herja, että tämän niminen repository on jo olemassa, koska loin sen jo aiemmin.

 

Tarvitset git ohjelman, jotta saat kloonattua tämän repositoryn koneelle.

Aloitetaan peruskomennoilla.
Päivitetään pakettiluottelo ja asennetaan git, sekä salt-minion. Voit myös asentaa salt-masterin jos haluat.
Tarvitsemme salt:ia, jotta voimme ajaa tämän salt tilan.

sudo apt-get update
sudo apt-get install -y git salt-minion

Kloonataan tämä repository nyt omalle koneelle

git clone https://github.com/jamij/aarrekaivos

Meillä pitäisi olla nyt kansio “aarrekaivos” missä on vain tiedostot “LICENSE” ja “README.md”. Lisäämme muut tiedostot myöhemmin.

 


Aloitetaan luomaan tämä salt tila, jolla tämän minerin saa kuntoon.

Haluaisin vielä tässä muistuttaa, että tämä on täysin pelkistetty versio tästä salt tilasta. Missä kaikki ohjelmat ajetaan xubuntu käyttäjän alle, johon on haettu tämä “aarrekaivos” repository.

Aloitetaan luomalla “aarrekaivos/” kansion alapuolelle “srv” kansio ja tämän sisälle alikansio “salt” ja tämän sisälle vielä alikansio “programs”.

Luodaan “srv/salt” kansioon tiedosto top.sls ja lisätään sinne seuraava pätkä tekstiä

base:
  '*':
    - programs

Tämä “top.sls” tiedosto ajaa “init.sls” tiedoston, mikä luodaan “programs/” kansion alle.

 


 

Luodaan “programs/” kansioon tiedosto “init.sls” ja lisätään sinne seuraava pätkä tekstiä

install_packages:
  pkg.installed:
    - pkgs:
      - git
      - htop
      - automake
      - autoconf
      - pkg-config
      - libcurl4-openssl-dev
      - libjansson-dev
      - libssl-dev
      - libgmp-dev
      - make
      - g++

run_git_clone:
  cmd.run:
    - name: git clone https://github.com/tpruvot/cpuminer-multi
    - cwd: /home/xubuntu/aarrekaivos/srv/salt/

/home/xubuntu/aarrekaivos/srv/salt/cpuminer-multi/run.sh:
  file.managed:
    - source: salt://programs/run.sh

run_build_sh_first:
  cmd.run:
    - name: ./build.sh
    - cwd: /home/xubuntu/aarrekaivos/srv/salt/cpuminer-multi/

run_chmod_second:
  cmd.run:
    - name: chmod +x run.sh
    - cwd: /home/xubuntu/aarrekaivos/srv/salt/cpuminer-multi/

run_run_sh_third:
  cmd.run:
    - name: ./run.sh
    - cwd: /home/xubuntu/aarrekaivos/srv/salt/cpuminer-multi/

Olen tehnyt tämän tiedoston jo valmiiksi ja testannut toimivaksi. Avaan seuraavaksi, mitä missäkin kohdassa tapahtuu.

 


 

Tämän tilan alussa asennetaan tarvittavat ohjelmat, jotta cpuminer-multi työkalu toimisi. Sekä asennetaan htop, jolla voimme helposti nähdä, että louhinta oikeasti toimii täysillä. Asennamme myös git:n, jotta minionkone osaa seuraavassa kohdassa ladata tarvittavan repositoryn githubista.

#init.sls
install_packages:
  pkg.installed:
    - pkgs:
      - git
      - htop
      - automake
      - autoconf
      - pkg-config
      - libcurl4-openssl-dev
      - libjansson-dev
      - libssl-dev
      - libgmp-dev
      - make
      - g++

 


 

Seuraavaksi kopioimme tuon cpuminer-multi työkalun githubista ja määrittelemme mihin se kloonataan.

 

#init.sl
run_git_clone:
  cmd.run:
    - name: git clone https://github.com/tpruvot/cpuminer-multi
    - cwd: /home/xubuntu/aarrekaivos/srv/salt/

 


 

Tässä kohdassa kopioimme run.sh tiedoston “srv/salt/programs/” kansiosta, tuonne juuri ladattuun cpuminer-multi työkalukansion sisään.

#init.sls
/home/xubuntu/aarrekaivos/srv/salt/cpuminer-multi/run.sh:
  file.managed:
    - source: salt://programs/run.sh

run.sh sisältää scriptin, jolla tämä työkalu ajetaan ja missä määritetään oma kryptovaluutta lompakko.

MUISTA LISÄTÄ OMA AVAIN KOHTAAN “your-key-here”!! muuten skripti ei toimi.

#run.sh
#!/bin/bash
./cpuminer -a sha256d -o stratum+tcp://connect.pool.bitcoin.com:3333 -u your-key-here -p c=BTC

Täältä voit lukea mitä valuttaa on mahdollista louhia. https://github.com/tpruvot/cpuminer-multi#algorithms

 


 

Seuraavana rakenamme tämän cpuminer-multi työkalun ohjeiden mukaisesti. https://github.com/tpruvot/cpuminer-multi#build

#init.sls
run_build_sh_first:
  cmd.run:
    - name: ./build.sh
    - cwd: /home/xubuntu/aarrekaivos/srv/salt/cpuminer-multi/

 


 

Vaihdamme tässä “run.sh” skriptin käyttäjäoikeksia, jotta voimme suorittaa tämän “run.sh” skriptin

run_chmod_second:
  cmd.run:
    - name: chmod +x run.sh
    - cwd: /home/xubuntu/aarrekaivos/srv/salt/cpuminer-multi/

 


 

Lopuksi ajamme tämän “run.sh” skriptin ja cpuminer-multi rupeaa louhimaan valittua kryptovaluuttaa

run_run_sh_third:
  cmd.run:
    - name: ./run.sh
    - cwd: /home/xubuntu/aarrekaivos/srv/salt/cpuminer-multi/

 


 

Luodaan vielä yksi tiedosto “high.sh” kansioon “aarrekaivos/”

salt-call --local state.highstate --file-root srv/salt/

Tässä ajetaan tämä salt tila lokaalisti ja kerrotaan että “srv/salt” tilat löytyvät tästä kansiosta, eikä normaalista “/srv/salt” kansiosta.

Nyt voimme ajaa tämän komennon antamalla terminaaliin komennon.

sudo bash high.sh

ja tämä salt tila rupeaa ajamaan itseään ja cpuminer-multi rupeaa louhimaan, kun tämä tila ajetaan loppuun asti.

Kokeillaan seuraavassa tehtävässä tämä puhtaalla asennuksella.

 

 

Tehtävä B) Kokeile moduliasi tyhjässä koneessa

Käynnistetään läppäri xubuntu livetikun avulla. xubuntu-16.04.4-desktop-amd64.iso, mikä on ajettu usbtikulle UNetBootilla

Specsit minion koneesta (Läppäri HP EliteBook 8440p)

 

Haemme repositoryn githubista. https://github.com/JamiJ/aarrekaivos

Aloitetaan ihan päivittämällä pakettilistaus ja asentamalla “git” sekä “salt-minion”, sekä kloonataan tuo repository

sudo apt-get update
sudo apt-get install -y git salt-minion
git clone https://github.com/jamij/aarrekaivos


navigoidaan kansioon “aarrekaivos/srv/salt/programs” ja nyt vaihdetaan oma kryptovaluutta lompakko id, “run.sh” tiedostoon.

#!/bin/bash
./cpuminer -a sha256d -o stratum+tcp://connect.pool.bitcoin.com:3333 -u your-key-here -p c=BTC

Vaihda “your-key-here” kohtaan oma kryptovaluutta lompakon id ja tallenna tämä tiedosto.

Nyt voimme navigoida kansioon “aarrekaivos/” ja ajaa komennon

sudo bash high.sh

 

Kun tämä tila ajaa omaa juttuaan, avataan toinen terminaali ja kirjoitetaan siihen “htop”, kunhan tämä skripti on ajanut loppuun.

Htop:lla varmistetaan että mineri lähtee käyntiin onnistuneesti.

Näemme, että “./build.sh” skripti meni onnistuneesti läpi ja seuraavaksi ajetaan komento “chmod +x run.sh” mikä antaa oikeudet tämän tiedoston ajamiseen. Viimeisenä ajetaan vielä “./run.sh” komento.

Tässä näemme, että “./run.sh” komento suoriutui onnistuneesti ja voimme katsoa htop:sta, onko meidän kryptolouhinta käynnissä.

Siellähän se prosessori pyörii täysillä ja cpuminer käyttää kokotehoa hyödykseen! Toimii!

 

Tehtävä C) Käyttäjätarina

Tämän moduulin käyttäjät ovat kryptolouhintaan erikoistuneet henkilöt, vaikka tämä on vain prosessorin kanssa louhimista, voi tästä helposti kehittää näytönohjaimen kanssa louhimista myös.

Epäilisin, että tämä tyyli helpottaa eräällälailla louhinnan aloittamista monessa eri koneessa, ei tarvitse jokaisessa käydä asentamassa aina kaikkia ohjelmia, vaan tässä tarvitsee asentaa kaksi ohjelmaa ja loput pelkältä master koneelta.

Tärkeimpänä päivityksenä tähän moduuliin olisi, että tämä tila osaisi lukea jokaisen koneen käyttäjänimen, minkä se lisää asennus paikkoihin. Tällä hetkellä tämä ohjelma ei toimi kun käyttäjäjillä joiden nimi on xubuntu.

 

One thought on “Viikko 6 – Palvelinten hallinta oman moduulin kasaaminen

Leave a Reply