Ero sivun ”Debian homelab(opennebula, drbd, linstor ja ocfs2)” versioiden välillä

Siirry navigaatioon Siirry hakuun
ei muokkausyhteenvetoa
Ei muokkausyhteenvetoa
Ei muokkausyhteenvetoa
(19 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 16: Rivi 16:
* 2 kpl(node 1 ja 2) Debian 12 tuoreella minimaalisella asennuksella.  
* 2 kpl(node 1 ja 2) Debian 12 tuoreella minimaalisella asennuksella.  


Tässä ohjeessa emme käy [[Debian]]in perusasennusta läpi, koska se onnistuakseen tässä pitää osata asentaa Debian ja tietää myös muita peruskäsitteitä Debianista ja Linux-järjestelmästä yleisesti.
Tässä ohjeessa emme käy [[Debian]]in perusasennusta läpi, koska onnistuakseen tässä pitää osata asentaa Debian ja tietää myös muita peruskäsitteitä Debianista ja Linux-järjestelmästä yleisesti.


Seuraavat toimenpiteet tehdään jokaisessa klusterin palvelimessa.
Seuraavat toimenpiteet tehdään jokaisessa klusterin palvelimessa.
Rivi 239: Rivi 239:
'''<big>Huom! Tuota yllämainittua komentoa/ominaisuutta ei voi käyttää kuin [[Ocfs2]] ja [[GFS2]] tiedostojärjestelmien kanssa. Muilla(esim. [[ext4]] tai [[btrfs]] )järjestelmä vikaantuu pahasti.</big>'''
'''<big>Huom! Tuota yllämainittua komentoa/ominaisuutta ei voi käyttää kuin [[Ocfs2]] ja [[GFS2]] tiedostojärjestelmien kanssa. Muilla(esim. [[ext4]] tai [[btrfs]] )järjestelmä vikaantuu pahasti.</big>'''


== OCFS2-tiedostojärjestelmän asennus ja käyttöönotto ==
== [[Ocfs2]]-tiedostojärjestelmän asennus ja käyttöönotto ==


Seuraavat komennot annetaan jälleen kaikissa kolmessa palvelimessa.
Seuraavat komennot annetaan jälleen kaikissa kolmessa palvelimessa.
Rivi 290: Rivi 290:
  name = node-2
  name = node-2


'''HUOM! Debianin paketissa on bugi ja klusteri ei käynnisty ennenkuin teet pari manuaalista liitosta komennoilla. Tämä täytyy tehdä jokaisen käynnistyksen jälkeen, tai automatisoida se esimerkiksi crontabiin:'''
'''HUOM! Debianin paketissa on bugi ja klusteri ei käynnisty ennenkuin teet pari manuaalista liitosta komennoilla. Tämä täytyy EHKÄ tehdä jokaisen käynnistyksen jälkeen, tai automatisoida se esimerkiksi crontabiin:'''


  sudo mount -t ocfs2_dlmfs none /dlm && sudo sudo mount -t configfs none /config
  sudo mount -t ocfs2_dlmfs none /dlm && sudo sudo mount -t configfs none /config


Mikäli edellinen komento antaa virheen ja juuritiedostojärjestelmässä ei ole kansioita dlm ja config, voit luoda ne komennolla:
Mikäli edellinen komento antaa virheen ja juuritiedostojärjestelmässä ei ole kansioita dlm ja config, voit luoda ne ja liittää komennolla:


  sudo mkdir /dlm && sudo mkdir /config
  sudo mkdir /dlm && sudo mkdir /config && sudo mount -t ocfs2_dlmfs none /dlm && sudo mount -t configfs none /config


Tämän jälkeen klusteri voidaan käynnistää kaikissa kolmessa palvelimessa komennolla ja samalla tarkistaa toiminta:
Tämän jälkeen klusteri voidaan käynnistää kaikissa kolmessa palvelimessa komennolla ja samalla tarkistaa toiminta:
Rivi 369: Rivi 369:
| homelabdisk0 || node-2 ||  || InUse || Ok || UpToDate || 2024-04-26 17:59:13
| homelabdisk0 || node-2 ||  || InUse || Ok || UpToDate || 2024-04-26 17:59:13
|}
|}


== Asennetaan KVM, Qemu, libvirt ja Docker ==
== Asennetaan KVM, Qemu, libvirt ja Docker ==
Rivi 391: Rivi 390:
  sudo apt update && sudo apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  sudo apt update && sudo apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


== Asennetaan [[OpenNebula]] ==
'''Nämä komennot vain Debian 11 control node.'''
Lisätään pakettivaraston avain ja pakettivarasto:
sudo -i
wget -q -O- https://downloads.opennebula.io/repo/repo2.key | gpg --dearmor --yes --output /etc/apt/keyrings/opennebula.gpg
echo "deb [signed-by=/etc/apt/keyrings/opennebula.gpg] https://downloads.opennebula.io/repo/6.8/Debian/11 stable opennebula" > /etc/apt/sources.list.d/opennebula.list
exit
Asennetaan Opennebula käyttöliittymä ja virtualisointiympäristö:
sudo apt update && sudo apt -y install opennebula opennebula-sunstone opennebula-fireedge opennebula-gate opennebula-flow opennebula-provision opennebula-node-kvm docker-machine-opennebula
Lisätään asennuksen luoma oneadmin käyttäjä docker-ryhmään
sudo adduser oneadmin docker
Vaihdetaan oneadmin-käyttäjäksi ja lisätään salasana:
sudo -u oneadmin /bin/sh
echo 'oneadmin:vaihdaminut123' > /var/lib/one/.one/one_auth
Kytketään ja käynnistetään OpenNebula:
sudo systemctl enable --now opennebula opennebula-sunstone opennebula-fireedge opennebula-gate opennebula-flow
Jos kaikki meni putkeen ja palomuurista portti 9869 auki, voit selaimella mennä osoitteeseen https://<debian11_control_ip-osoite>:9869
Ja kirjautua oneadmin käyttäjänä ja aiemmin antamallisi salasanalla hallintapaneeliin.
'''Nämä komennot vain Debian 12 koneissa.'''
Koska osassa opennebulan paketeista on vielä tätä ohjetta kirjoitettaessa ristiriitaisuuksia Debian 12:n pakettien kanssa niin asennetaan pelkästään varmasti toimivat paketit näihin palvelimiin seuraavasti:
mkdir opennebula && cd opennebula
wget https://downloads.opennebula.io/repo/6.8/Debian/11/pool/opennebula/opennebula-common_6.8.0-1_all.deb
wget https://downloads.opennebula.io/repo/6.8/Debian/11/pool/opennebula/opennebula-common-onecfg_6.8.0-1_all.deb
wget https://downloads.opennebula.io/repo/6.8/Debian/11/pool/opennebula/opennebula-node-kvm_6.8.0-1_all.deb
sudo dpkg -i *.deb && sudo apt -f install
Oneadmin-käyttäjälle täytyy luoda salasanaton [[ssh]]-kirjautuminen palvelimien välille ja sitten voidaan Debian 12 palvelimet lisätä Debian 11 hallintapaneelista virtuaalikoneisänniksi.
==Huomiota==
* Nyt on kolmen palvelimen korkean käytettävyyden [[homelab]] -perusta konfiguroitu.
* Klusteriin voi nyt lisätä palvelimia ja lisätä ne [[OpenNebula]]an isänniksi. Voi lisätä kovalevyjä ja tehdä niistä [[Linstor]]in ja [[Ocfs2]]:n avulla lisää jaettuja levyjä ja ajaa vaikka [[NFS]] ja/tai [[Samba]] -servereitä niillä.
* Voi lisätä [[Docker]] -kontteja eri sovelluksille tai ajaa vaikka [[Kubernetes]]tä klusterissa
* Voi rakentaa kokonaisen virtualisoidun pilviympäristön palomuureineen, verkkolevyineen reitittimineen yms.
* Yhteisen jaetun levyn ansiosta voit sulavasti siirtää jopa sammuttamatta virtuaalikoneen isännältä toiselle. Ks. [https://en.wikipedia.org/wiki/Live_migration Wikipedian Live migration artikkeli(englanniksi)]


* Voi ajaa klusterin päällä esim. [[Distcc]]:tä ja tehdä esim. Linux-[[ytimen_kääntäminen]] nopeammaksi. Tai minkä muun paketin tahansa.


To be continued ....
==Erittäin tärkeää==


* Linstoria ajetaan tässä dual-primary moodissa ja äkillisen virtakatkoksen tai muun häiriön tapahtutuessa palvelinten uudelleenkäynnistyksen yhteydessä saattaa tapahtua nk. [https://www.google.com/search?q=split+brain+drbd&sca_esv=ee520a4c543f855e&sxsrf=ACQVn08x_CGXtg7oj1_8Cg7hJNlTDRbH9g%3A1714227872009&ei=oAotZrQLpY3A8A_v4JCoDg&udm=&oq=split+brain+dr&gs_lp=Egxnd3Mtd2l6LXNlcnAiDnNwbGl0IGJyYWluIGRyKgIIAjIIEAAYgAQYywEyCBAAGIAEG split-brain reaktio], joka tarkoittaa, että palvelin ei tiedä miltä koneelta tieto haetaan replikoitavaksi ja on haasteellista saada järjestelmä tästä virheestä toipumaan ilman uudelleenasennusta ja tietojen häviämistä. Joten etenkin tuotantokäytössä on syytä heti käyttöönoton jälkeen aloittaa [[crontab]]in ja vaikka [[rsync]]in avulla Linstorin DRBD-osion säännöllinen tiheä [[varmuuskopiointi]].
 
==Aiheesta muualla==
*[https://openzfs.org/wiki/Main_Page OpenZFS wiki (englanniksi)]
*[https://linbit.com/user-guides-and-product-documentation/ DRBD ja Linstor virallinen dokumentaatio (enlanniksi)]
*[https://brian-candler.medium.com/linstor-networked-storage-without-the-complexity-c3178960ce6b Linstor klusterin tekeminen LXC kontteihin (englanniksi)]
*[https://pub.nethence.com/storage/drbd-linstor DRBD ja Linstor -ohje (englanniksi)]
*[https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack Linbitin Ubuntu paketit]
*[https://wiki.debian.org/BuildingTutorial#Method_1:_apt_source Debian wikin pakettien teko-ohje (englanniksi)]
*[https://wiki.debian.org/CreatePackageFromPPA Debian wikin Ubuntu pakettien käännösohje (englanniksi)]
*[https://ocfs2.wiki.kernel.org/ Ocfs2 wiki (englanniksi)]
*[https://docs.docker.com/engine/install/debian/ Dockerin Debian dokumentaatio (englanniksi)]
*[https://libvirt.org/ Libvirt dokumentaatio (englanniksi)]
*[https://linux-kvm.org/page/Main_Page KVM hypervisorin dokumentaatio (englanniksi)]
*[https://docs.opennebula.io/6.8/overview/opennebula_concepts/opennebula_overview.html OpenNebulan virallinen dokumentaatio (englanniksi)]
*[https://computingforgeeks.com/install-opennebula-kvm-node-on-debian/ OpenNebula KVM-noden konfigurointi -ohje (englanniksi)]
 
 
[[Luokka:Verkko]]
[[Luokka:Tiedostojärjestelmät]]
[[Luokka:Ohjeet]]
[[Luokka:Ohjeet]]
[[Luokka:Debian GNU/Linux]]
[[Luokka:Debian GNU/Linux]]
[[Luokka:Palvelimet]]
[[Luokka:Palvelimet]]
[[Luokka:Emulaattorit ja virtuaalikoneet]]
[[Luokka:Emulaattorit ja virtuaalikoneet]]
[[Luokka:Pilvipalvelut]]
334

muokkausta

Navigointivalikko