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

Linux.fista
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
(44 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
[[Tiedosto:135e3d55-669d-4e0e-95fe-66dfd6d6b783.jpg|pienoiskuva]]
Tässä luodaan kolmen Debian 11/12 palvelimen [[homelab]] ja/tai testiklusteri.
Tässä luodaan kolmen Debian 11/12 palvelimen [[homelab]] ja/tai testiklusteri.


==Laitteistovaatimukset==
== Laitteistovaatimukset ==
Jokaisessa 3:ssa koneessa tulee minimissään löytyä seuraavat ominaisuudet:
Jokaisessa 3:ssa koneessa tulee minimissään löytyä seuraavat ominaisuudet:
* 4GB RAM
* 4GB RAM
* 2 ytiminen prosessori(suositeltava minimi 4 ydintä) ja valmistajasta riippuen [https://en.wikipedia.org/wiki/X86_virtualization#Processor VT-x tai AMD-V ominaisuudella]
* 2 ytiminen prosessori(suositeltava minimi 4 ydintä) ja valmistajasta riippuen [https://en.wikipedia.org/wiki/X86_virtualization#Processor VT-x tai AMD-V ominaisuudella]
* 1 kpl kiintolevy 10GB, jossa juuriosio ja johon on asennettu käyttöjärjestelmä
* 1 kpl kiintolevy 10GB (/dev/sda), jossa juuriosio ja johon on asennettu käyttöjärjestelmä
* 1 kpl kiintolevy 50GB, joka liitetään klusterin yhteiseksi levyksi
* 1 kpl kiintolevy 50GB (/dev/sdb), joka liitetään klusterin yhteiseksi levyksi
* 1 kpl Gigabitin verkkokortti RJ-45
* 1 kpl Gigabitin verkkokortti RJ-45


Laittistovaatimuksille ei perinteisesti ole ylärajaa. Edellämainitut ominaisuudet siis minimi vaatimukset ja mitä tehokkaampi laitteisto käytössä, sitä sulavammin ohjelmisto toimii.
Laittistovaatimuksille ei perinteisesti ole ylärajaa. Edellämainitut ominaisuudet siis minimi vaatimukset ja mitä tehokkaampi laitteisto käytössä, sitä sulavammin ohjelmisto toimii.


==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.
Seuraavat toimenpiteet tehdään jokaisessa klusterin palvelimessa.
== Muokataan /etc/hosts- tiedosto ==
sudo nano /etc/hosts
Lisätään rivit:
192.168.1.200  control.lan  control
192.168.1.201  node-1.lan  node-1
192.168.1.202 node-2.lan  node-2
Poistutaan ctrl+x
== Asennetaan [[ZFS]] -tiedostojärjestelmä ==
sudo apt install apt linux-headers-amd64 zfsutils-linux zfs-dkms zfs-zed
== Luodaan [[zpool]] looginen varanto ==
Haetaan /dev/sdb:n disk-id
  ls -lh /dev/disk/by-id/
Luodaan varanto tulosteesta saadusta disk-id:stä
Debian 11:
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]] ==
Debianin pakettivarastoista ei löydy Linstoria, eikä sen vaatimaa DRBD 9 versiota, pelkästään version nro 8 löytyy, eikä se tue kuin kahta palvelinta, eikä myöskään Linstor tue kasiversiota. Joten käännämme tarvittavat paketit Ubuntun PPA:sta löytyvistä paketeista.
Nämä pitää tehdä Debian 11 koneella ja toisella Debian 12 koneella, valmiit .deb paketit voi kopioida ja asentaa käännöskoneena käytetyltä Debian 12 koneelta toiselle.
Asennetaan Debian SDK
sudo apt install devscripts build-essential dkms
Asennetaan [https://sdkman.io/ SDKMAN] ja Linstorin vaatima uusin [https://gradle.org/ Gradle] sen avulla.
SDKMAN:
curl -s "https://get.sdkman.io" | bash
Ja sen jälkeen Gradle:
sdk install gradle 8.7
'''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
Kernelin tarvitsema DRBD-moduuli:
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 ..
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
To be continued ....
[[Luokka:Ohjeet]]
[[Luokka:Ohjeet]]
[[Luokka:Debian GNU/Linux]]
[[Luokka:Debian GNU/Linux]]
[[Luokka:Palvelimet]]
[[Luokka:Palvelimet]]
[[Luokka:Emulaattorit ja virtuaalikoneet]]
[[Luokka:Emulaattorit ja virtuaalikoneet]]

Versio 27. huhtikuuta 2024 kello 23.56

Tässä luodaan kolmen Debian 11/12 palvelimen homelab ja/tai testiklusteri.

Laitteistovaatimukset

Jokaisessa 3:ssa koneessa tulee minimissään löytyä seuraavat ominaisuudet:

  • 4GB RAM
  • 2 ytiminen prosessori(suositeltava minimi 4 ydintä) ja valmistajasta riippuen VT-x tai AMD-V ominaisuudella
  • 1 kpl kiintolevy 10GB (/dev/sda), jossa juuriosio ja johon on asennettu käyttöjärjestelmä
  • 1 kpl kiintolevy 50GB (/dev/sdb), joka liitetään klusterin yhteiseksi levyksi
  • 1 kpl Gigabitin verkkokortti RJ-45

Laittistovaatimuksille ei perinteisesti ole ylärajaa. Edellämainitut ominaisuudet siis minimi vaatimukset ja mitä tehokkaampi laitteisto käytössä, sitä sulavammin ohjelmisto toimii.

Ohjelmistovaatimukset

  • 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(node 1 ja 2) Debian 12 tuoreella minimaalisella asennuksella.

Tässä ohjeessa emme käy Debianin 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.

Seuraavat toimenpiteet tehdään jokaisessa klusterin palvelimessa.

Muokataan /etc/hosts- tiedosto

sudo nano /etc/hosts

Lisätään rivit:

192.168.1.200   control.lan  control
192.168.1.201   node-1.lan   node-1
192.168.1.202	node-2.lan   node-2

Poistutaan ctrl+x

Asennetaan ZFS -tiedostojärjestelmä

sudo apt install apt linux-headers-amd64 zfsutils-linux zfs-dkms zfs-zed

Luodaan zpool looginen varanto

Haetaan /dev/sdb:n disk-id

 ls -lh /dev/disk/by-id/

Luodaan varanto tulosteesta saadusta disk-id:stä Debian 11:

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

Debianin pakettivarastoista ei löydy Linstoria, eikä sen vaatimaa DRBD 9 versiota, pelkästään version nro 8 löytyy, eikä se tue kuin kahta palvelinta, eikä myöskään Linstor tue kasiversiota. Joten käännämme tarvittavat paketit Ubuntun PPA:sta löytyvistä paketeista.

Nämä pitää tehdä Debian 11 koneella ja toisella Debian 12 koneella, valmiit .deb paketit voi kopioida ja asentaa käännöskoneena käytetyltä Debian 12 koneelta toiselle.

Asennetaan Debian SDK

sudo apt install devscripts build-essential dkms

Asennetaan SDKMAN ja Linstorin vaatima uusin Gradle sen avulla.

SDKMAN:

curl -s "https://get.sdkman.io" | bash

Ja sen jälkeen Gradle:

sdk install gradle 8.7

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ä: 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

Kernelin tarvitsema DRBD-moduuli:

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 ..
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:

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:


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:

ResourceName Port ResourceGroup State
homelabdisk0 7000 DfltRscGrp ok

Ja jos kaikki meni oikein niin tarkastuskomento:

linstor resource list

Tulostaa jotakuinkin seuraavaa:

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


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.

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


To be continued ....