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

Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
(30 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 13: Rivi 13:


== Ohjelmistovaatimukset ==
== Ohjelmistovaatimukset ==
* 1 kpl Debian 11 tuoreella minimaalisella asennuksella. Tämä palvelin toimii sekä osana klusteria, että käyttöliittymänä ja hallitsee muita klusterissa olevia palvelimia ja palveluita.
* 1 kpl (controlnode)Debian 11 tuoreella minimaalisella asennuksella. Tämä palvelin toimii sekä osana klusteria, että käyttöliittymänä ja hallitsee muita klusterissa olevia palvelimia ja palveluita.
* 2 kpl 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 se onnistuakseen tässä pitää osata asentaa Debian ja tietää myös muita peruskäsitteitä Debianista ja Linux-järjestelmästä yleisesti.
Rivi 43: Rivi 43:


Luodaan varanto tulosteesta saadusta disk-id:stä
Luodaan varanto tulosteesta saadusta disk-id:stä
 
Debian 11:
  sudo zpool create homelabpool <disk-id>
  sudo zpool create controltank <disk-id>
Debian 12 node-1
sudo zpool create nodetank1 <disk-id>
Debian 12 node-2
sudo zpool create nodetank2 <disk-id>


== Asennetaan [[DRBD]] ja [[Linstor]] ==
== Asennetaan [[DRBD]] ja [[Linstor]] ==
Rivi 64: Rivi 68:
  sdk install gradle 8.7
  sdk install gradle 8.7


Luodaan kansiot ja haetaan Ubuntun PPA:sta dsc-tiedot  
'''HUOM! Tässä ohjeessa haetaan uusimmat ohjeen kirjoittamisen aikaan(27.4.2024) olleet dsc:t. Linbitin PPA:sta poistuu vanhoja ja uusia tulee tilalle melko usein, joten ei kannata tästä suoraan copypeistata, vaan hakea uusimmat dsc:t täältä: [https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack/+packages Linbit/Ubuntu PPA DRBD9 stack] '''
 
Luodaan kansiot ja haetaan Ubuntun PPA:sta dsc-tiedot:


  cd ~ && mkdir drbd && mkdir drbd-utils && mkdir -p linstor/server && mkdir -p linstor/client && mkdir -p linstor/python && mkdir drbd-linstor-debs
  cd ~ && mkdir drbd && mkdir drbd-utils && mkdir -p linstor/server && mkdir -p linstor/client && mkdir -p linstor/python && mkdir drbd-linstor-debs
Rivi 71: Rivi 77:
  cd drbd && dget --extract --allow-unauthenticated https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack/+sourcefiles/drbd/9.2.9~rc.1-1ppa1~jammy1/drbd_9.2.9~rc.1-1ppa1~jammy1.dsc
  cd drbd && dget --extract --allow-unauthenticated https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack/+sourcefiles/drbd/9.2.9~rc.1-1ppa1~jammy1/drbd_9.2.9~rc.1-1ppa1~jammy1.dsc
  cd drbd-9.2.9~rc.1 && sudo mk-build-deps --install --remove && dpkg-buildpackage --build=binary --no-sign && cd ..
  cd drbd-9.2.9~rc.1 && sudo mk-build-deps --install --remove && dpkg-buildpackage --build=binary --no-sign && cd ..
mv drbd-dkms*.deb drbd-ueficert*.deb ~/drbd-linstor-debs/ && cd ..
Käyttöjärjestelmän tarvitsema drbd-utils paketti:
cd drbd-utils && dget --extract --allow-unauthenticated https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack/+sourcefiles/drbd-utils/9.28.0~rc.1-1ppa1~jammy1/drbd-utils_9.28.0~rc.1-1ppa1~jammy1.dsc
cd drbd-utils-9.28.0~rc.1 && sudo mk-build-deps --install --remove && dpkg-buildpackage --build=binary --no-sign && cd ..
mv drbd-utils*.deb  ~/drbd-linstor-debs/ && cd ..
Linstor server paketit:
cd linstor/server && dget --extract --allow-unauthenticated https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack/+sourcefiles/linstor-server/1.27.0-1ppa1~jammy1/linstor-server_1.27.0-1ppa1~jammy1.dsc
cd linstor-server-1.27.0
nano debian/control
Muutetaan Build-Dependseistä
gradle (>=4.4.1-13)
Tallennetaan ja poistutaan ctrl+x
sudo mk-build-deps --install --remove && dpkg-buildpackage --build=binary --no-sign && cd ..
mv linstor*.deb ~/drbd-linstor-debs/ && cd ..
Linstor client paketti:
cd client && dget --extract --allow-unauthenticated https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack/+sourcefiles/linstor-client/1.22.0-1ppa1~jammy1/linstor-client_1.22.0-1ppa1~jammy1.dsc
cd linstor-client-1.22.0 && sudo mk-build-deps --install --remove && dpkg-buildpackage --build=binary --no-sign && cd ..
mv linstor*.deb ~/drbd-linstor-debs/ && cd ..
Linstor python paketti:
cd python && dget --extract --allow-unauthenticated https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack/+sourcefiles/python-linstor/1.22.0-1ppa1~jammy1/python-linstor_1.22.0-1ppa1~jammy1.dsc
cd python-linstor-1.22.0 &&  sudo mk-build-deps --install --remove && dpkg-buildpackage --build=binary --no-sign && cd ..
mv python-linstor*.deb ~/drbd-linstor-debs/ && cd ~/drbd-linstor-debs/
Asennetaan riippuvuudet ja käännetyt paketit:
sudo apt install python3-natsort && sudo dpkg -i *.deb
Paketit asentuvat yleensä puhtaaseen Debian-asennukseen, mutta jos on tehty pienikin muokkaus niin häiriöitä voi esiintyä. Jos paketit eivät asennu ilman erroreita niin komento:
sudo reboot
Ja pakettien uudelleenasennus:
cd ~/drbd-linstor-debs/ && sudo dpkg -i *.deb
Jos vieläkään ei asennu niin komento:
sudo dmesg
Myös /var/log-tiedoston tutkiminen voi auttaa. Jos mikään ei auta niin paketit verkkolevylle tai muistitikulle talteen ja Debianin uudelleenasennus ja sitten pakettien asennus "puhtaaseen tauluun".
== Luodaan DRBD/Linstor klusteri ==
'''Huom! Nämä komennot annetaan AINOASTAAN Debian 11 control-koneessa.'''
Käynnistetään ja kytketään linstor-controller päälle:
sudo systemctl enable --now linstor-controller
Lisätään palvelimet klusteriin:
linstor node create control 192.168.1.200 --node-type combined
linstor node create node-1 192.168.1.201
linstor node create node-1 192.168.1.202
Komennolla:
linstor node list
Tulostuu seuraavaa:
{| class="wikitable"
|-
! Node !! NodeType !! Addresses !! State
|-
| control || COMBINED || 192.168.1.200:3366 (PLAIN) || Online
|-
| node-1 || SATELLITE || 192.168.1.201:3366 (PLAIN) || Online
|-
| node-2 || SATELLITE || 192.168.1.202:3366 (PLAIN) || Online
|}
Luodaan tallennusvaranto:
linstor storage-pool create zfs control homelabpool controltank
linstor storage-pool create zfs node-1 homelabpool nodetank1
linstor storage-pool create zfs node-2 homelabpool nodetank2
Komennolla:
linstor storage-pool list
Tulostuu jotakuinkin seuraavaa:
{| class="wikitable"
|-
! StoragePool !! Node  !! Driver !! PoolName !! FreeCapacity !!  TotalCapacity !! CanSnapshots !! State !! SharedName
|-
| DfltDisklessStorPool || control || DISKLESS || || || || False || Ok || control;DfltDisklessStorPool
|-
| DfltDisklessStorPool || node-1 || DISKLESS || || || || False || Ok || node-1;DfltDisklessStorPool
|-
| DfltDisklessStorPool || node-2 || DISKLESS || || || || False || Ok || node-2;DfltDisklessStorPool
|-
| homelabpool || control || ZFS || controltank || 50.00 GiB || 50.00 GiB || True || Ok || control;homelabpool
|-
| homelabpool || node-1 || ZFS || nodetank1 || 50.00 GiB || 50.00 GiB || True || Ok || node-1;homelabpool
|-
| homelabpool || node-2 || ZFS || nodetank2 || 50.00 GiB || 50.00 GiB || True || Ok || node-2;homelabpool
|-
|}
Luodaan resurssiryhmä ja määritellään tallennustila sille:
linstor resource-group create homelabrg --storage-pool homelabpool --place-count 3
Luodaan volume-ryhmä:
linstor volume-group create homelabrg
Luodaan looginen tallennustila:
linstor resource-definition create homelabdisk0
linstor volume-definition create homelabdisk0 40G
linstor resource create control homelabdisk0 --storage-pool homelabpool
linstor resource create node-1 homelabdisk0 --storage-pool homelabpool
linstor resource create node-1 homelabdisk0 --storage-pool homelabpool
Tarkistuskomento:
linstor resource-definition list
Tulostaa jotakuinkin seuraavaa:
{| class="wikitable"
|-
! ResourceName !! Port !! ResourceGroup !! State
|-
| homelabdisk0 || 7000 || DfltRscGrp || ok
|-
|}
Ja jos kaikki meni oikein niin tarkastuskomento:
linstor resource list
Tulostaa jotakuinkin seuraavaa:
{| class="wikitable"
|-
! ResourceName !! Node !! Port !! Usage !! Conns !! State !! CreatedON
|-
| homelabdisk0 || control ||  || Unused || Ok || UpToDate || 2024-04-26 17:55:13
|-
| homelabdisk0 || node-1 ||  || Unused || Ok || UpToDate || 2024-04-26 17:58:13
|-
| homelabdisk0 || node-2 ||  || Unused || Ok || UpToDate || 2024-04-26 17:59:13
|}
Seuraavaksi sallitaan kaikkien klusterin palvelinten liittää samanaikaisesti Linstorin luoma jaettu /dev/drbd1000 resurssi:
linstor controller drbd-options --allow-two-primaries yes
'''<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 ==
Seuraavat komennot annetaan jälleen kaikissa kolmessa palvelimessa.
Asennetaan komennolla:
sudo apt install ocfs2-tools
Luodaan klusteri:
sudo o2cb add-cluster homelabcluster
Lisätään palvelimet klusteriin:
sudo o2cb add-node homelabcluster control --ip 192.168.1.200 --port 7777 --number 0
sudo o2cb add-node homelabcluster node-1 --ip 192.168.1.201 --port 7777 --number 1
sudo o2cb add-node homelabcluster node-2 --ip 192.168.1.202 --port 7777 --number 2
Rekisteröidään klusteri:
sudo o2cb register-cluster homelabcluster




334

muokkausta

Navigointivalikko