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

Siirry navigaatioon Siirry hakuun
(11 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 58: Rivi 58:
Asennetaan Debian SDK
Asennetaan Debian SDK


  sudo apt install devscripts build-essential dkms
  sudo apt -y install devscripts build-essential dkms


Asennetaan [https://sdkman.io/ SDKMAN] ja Linstorin vaatima uusin [https://gradle.org/ Gradle] sen avulla.
Asennetaan [https://sdkman.io/ SDKMAN] ja Linstorin vaatima uusin [https://gradle.org/ Gradle] sen avulla.


SDKMAN:
SDKMAN:
  curl -s "https://get.sdkman.io" | bash
  sudo apt -y install curl zip && curl -s "https://get.sdkman.io" | bash


Ja sen jälkeen Gradle:
Ja sen jälkeen Gradle:
Rivi 335: Rivi 335:
Tiedostojärjestelmän luonnin jälkeen tehdään kaikissa palvelimissa  /var/lib/one- kansio ja liitetään /dev/drbd1000 siihen seuraavalla komennolla:
Tiedostojärjestelmän luonnin jälkeen tehdään kaikissa palvelimissa  /var/lib/one- kansio ja liitetään /dev/drbd1000 siihen seuraavalla komennolla:


  sudo mkdir /var/lib/one && sudo mount /dev/drbd1000 /var/lib/one
  sudo mkdir /var/lib/one/datastores && sudo mount /dev/drbd1000 /var/lib/one/datastores


Tarkistetaan lsblk -f komennolla:
Tarkistetaan lsblk -f komennolla:
Rivi 351: Rivi 351:
Tulosteesta pitäisi löytyä jotakuinkin tälläinen rivi:
Tulosteesta pitäisi löytyä jotakuinkin tälläinen rivi:


  /dev/drbd1000        50G  0,1G  50G  1% /var/lib/one
  /dev/drbd1000        50G  0,1G  50G  1% /var/lib/one/datastores


Ja jos kaikki meni oikein niin linstorin tarkastuskomento:
Ja jos kaikki meni oikein niin linstorin tarkastuskomento:
Rivi 389: Rivi 389:
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  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
Luodaan verkkosilta OpenNebulaan asennettaville virtuaalikoneille
sudo nano /etc/network/interfaces
[[DHCP]] silta(ei suositeltava) konfiguraatiosta tehdään tälläinen:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug enp0s25
iface enp0s25 inet manual
#Bridge br1 network configurations
auto br1
iface br1 inet dhcp
bridge_ports enp0s25
bridge_stp off      # disable Spanning Tree Protocol
bridge_waitport 0    # no delay before a ort becomes available
bridge_fd 0          # no forwarding delay
Tai suositeltava staattininen silta konfiguraatiosta tehdään tälläinen:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug enp0s25
iface enp0s25 inet manual
#Bridge br1 network configurations
auto br1
iface br1 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports enp0s25
bridge_stp off      # disable Spanning Tree Protocol
bridge_waitport 0    # no delay before a ort becomes available
bridge_fd 0          # no forwarding delay


== Asennetaan [[OpenNebula]] ==
== Asennetaan [[OpenNebula]] ==
Rivi 405: Rivi 444:
  sudo apt update && sudo apt -y install opennebula opennebula-sunstone opennebula-fireedge opennebula-gate opennebula-flow opennebula-provision opennebula-node-kvm docker-machine-opennebula
  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
Lisätään asennuksen luoma oneadmin käyttäjä libvirt ja docker-ryhmiin


  sudo adduser oneadmin docker
  sudo adduser oneadmin docker && sudo adduser oneadmin libvirt


Vaihdetaan oneadmin-käyttäjäksi ja lisätään salasana:
Vaihdetaan oneadmin-käyttäjäksi ja lisätään salasana:
Rivi 434: Rivi 474:


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.
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.
HUOM! Oneadmin kayttäjän kotikansio on /var/lib/one ja ssh tiedot myös tallentuu ja haetaan sieltä. isäntiä ei saa lisättyä control-nodeen ellei näistä sijainneista löytyviä ssh-avaimia luoda ja kopioida esim. [[scp]]:n avulla koneelta toiselle /var/lib/one/.ssh/authorized_keys tiedostoon.
OpenNebula käyttää myös kansiota /var/tmp/one mutta asennuspaketti ei joka kerta sitä uudelle koneelle asennettaessa luo, joku bugi ilmeisesti, jolloin klusteri ei toimi. Siinä tapauksessa puuttuva /var/tmp/one kansio taytyy vain luoda [[mkdir]]-komennolla ja [[chown]]illa vaihtaa sen omistusoikeus oneadminille.


==Huomiota==
==Huomiota==
Rivi 451: Rivi 495:


* 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]].
* 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]].
==Viritysvinkkejä==
*Klusterin nopeutta saa kasvatettua huomattavasti verkkokorttien [[Verkkoliitynnät_monipuolisemmin#Yhteysnopeuden_kasvattaminen_ryhmitt.C3.A4m.C3.A4ll.C3.A4|bondingilla]] ja/tai tietenkin 2,5Gbitin tai jopa 10 Gigan verkkokorteilla ja kytkimillä.
*Toisekseen klusterin nopeutta saa kasvatettua paljon NVME-levyillä ja suurella määrällä RAM-muistia ja ajamalla niitä sovelluksia ja/tai virtuaalikoneita [[ramdisk]]issä jotka tarvitsevat paljon nopeutta/tehoa
*Helppo ja halpa tapa kasvattaa nopeutta on tietysti rakentaa [[zpool]]-pakka [[RAIDZ]]-muotoon stripingiä hyödyntymällä, joka vastaa muiden tiedostojärjestelmien [[RAID]]0-tasoa. Tässä systeemissä on [[varmuuskopiointi]] aivan äärimmäisen tärkeää. Vaikka klusteri ja DRBD-osioilta saa tiedot vaikka vain yksi kone olisi päällä niin siitä kun levy(t) menee tilttiin niin kaikki tieto on vaarassa hävitä.


==Aiheesta muualla==
==Aiheesta muualla==
334

muokkausta

Navigointivalikko