Hyppää sisältöön

BeeGFS 8.3 -tiedostojärjestelmän käyttöönotto

Tässä osiossa opit, miten BeeGFS-tiedostojärjestelmä asennetaan Poutaan.

Tämä käyttöönottopas on testattu AlmaLinux 9:llä.

Mikä on BeeGFS

BeeGFS on kehitetty vahvasti suorituskykyyn keskittyen, ja se on suunniteltu helppokäyttöiseksi sekä yksinkertaiseksi asentaa ja hallita. Se on yksi johtavista rinnakkaisista tiedostojärjestelmistä, jonka suosio yhteisössä kasvaa jatkuvasti. BeeGFS on kehittynyt maailmanlaajuisesti arvostetuksi tiedostojärjestelmäksi, joka tarjoaa maksimaalisen suorituskyvyn, skaalautuvuuden, suuren joustavuuden ja vikasietoisuuden.

BeeGFS on loppukäyttäjille maksutta saatavilla. Yritysjärjestelmiin on saatavilla myös ammattimaista kaupallista tukea, yleensä yhteistyössä kansainvälisten avaimet käteen -ratkaisukumppaneiden kanssa.

Keskeiset hyödyt

  • Hajautettu tiedostosisältö ja metadata

Yksi BeeGFS:n keskeisimmistä periaatteista on arkkitehtonisten pullonkaulojen tiukka välttäminen. Tiedostosisällön juovittaminen useille tallennuspalvelimille on vain yksi osa tätä periaatetta. Toinen tärkeä näkökulma on tiedostojärjestelmän metadatan (esim. hakemistotiedot) hajauttaminen useille metadatapalvelimille. Erityisesti suuret järjestelmät ja metadataintensiiviset sovellukset hyötyvät tästä ominaisuudesta merkittävästi.

  • HPC-teknologiat

BeeGFS perustuu erittäin tehokkaisiin ja skaalautuviin monisäikeisiin ydinkomponentteihin, joissa on natiivi RDMA-tuki. Tiedostojärjestelmän solmut voivat palvella RDMA- (InfiniBand, Omni-Path, RoCE) ja TCP/IP-verkkoyhteyksiä samanaikaisesti ja vaihtaa automaattisesti redundanttiin yhteyspolkuun, jos jokin niistä epäonnistuu.

  • Helppokäyttöinen

BeeGFS ei vaadi kernel-paikkauksia (asiakas on paikkaamaton kernel-moduuli, palvelinkomponentit ovat userspace-daemoneita), mukana tulee graafisia klusterin asennustyökaluja, ja voit lisätä lisää asiakkaita ja palvelimia käynnissä olevaan järjestelmään milloin tahansa.

  • Optimoitu erittäin samanaikaiseen käyttöön

Yksinkertaisilla etätiedostojärjestelmillä, kuten NFS:llä, ei ole ainoastaan vakavia suorituskykyongelmia erittäin samanaikaisessa käytössä, vaan ne voivat jopa vioittaa dataa, kun useat asiakkaat kirjoittavat samaan jaettuun tiedostoon, mikä on tyypillinen käyttötapaus klusterisovelluksissa. BeeGFS on suunniteltu erityisesti tällaisia käyttötapauksia varten tarjoamaan optimaalista vikasietoisuutta ja suorituskykyä suuren I/O-kuorman tilanteissa.

  • Asiakas ja palvelin millä tahansa koneella

BeeGFS:n ajamiseen ei tarvita mitään tiettyä enterprise-Linux-jakelua tai muuta erityisympäristöä. BeeGFS-asiakas ja -palvelimet voivat toimia jopa samalla koneella, mikä mahdollistaa suorituskyvyn parantamisen pienissä klustereissa tai verkoissa. BeeGFS ei vaadi palvelimilta omaa tiedostojärjestelmäosiota – se käyttää olemassa olevia osioita, jotka on alustettu jollakin tavallisista Linux-tiedostojärjestelmistä, kuten XFS, ext4 tai ZFS. Suuremmissa verkoissa on myös mahdollista luoda useita erillisiä BeeGFS-tiedostojärjestelmäosioita eri asetuksilla.

Järjestelmävaatimukset

Tutustu viralliseen dokumentaatioon

Asennamme metadatan erillisille taltioille. Kuten dokumentaatiossa mainitaan:

Nyrkkisääntönä 500 Gt metadatakapasiteettia riittää noin 150 miljoonalle tiedostolle Huomaa, että vaikka ext4:ää yleensä suositellaan metadatan tallennukseen sen suorituskykyetujen vuoksi BeeGFS:n metadata-kuormissa verrattuna muihin paikallisiin Linux-tiedostojärjestelmiin, XFS:n etuna on dynaaminen inodejen määrä, mikä tarkoittaa, että uusia inodeja voidaan luoda niin kauan kuin levytilaa on vapaana

Pikaopas

BeeGFS-dokumentaatio on erittäin kattava ja opastava BeeGFS 8.3:n asentamiseen.

Tässä ohjeessa käytämme seuraavaa:

  • Ohjelmisto: AlmaLinux 9

  • Isäntäpalvelut:

    • beegfs-meta: Metadatapalvelin, johon on liitetty 500 Gt:n taltio
    • beegfs-mgmt: Hallintapalvelin
    • beegfs-storage-1: Tallennuspalvelin 1, johon on liitetty 1000 Gt:n taltio
    • beegfs-storage-2: Tallennuspalvelin 2, johon on liitetty kaksi 1000 Gt:n taltiota
    • beegfs-storage-3: Tallennuspalvelin 3, johon on liitetty 1000 Gt:n taltio
    • beegfs-client-1: Asiakas 1
    • beegfs-client-2: Asiakas 2

Pakettien lataus ja asennus

Löydät eri paketit tästä osoitteesta: https://www.beegfs.io/release/

AlmaLinux 9:llä suorita nämä komennot root-käyttäjänä kaikilla solmuilla:

yum install -y epel-release wget vim
yum update -y
rpm --import https://www.beegfs.io/release/beegfs_8.3/gpg/GPG-KEY-beegfs
wget https://www.beegfs.io/release/beegfs_8.3/dists/beegfs-rhel9.repo -O /etc/yum.repos.d/beegfs.repo

Suorita sitten solmusta riippuen tämä komento root-käyttäjänä:

  • beegfs-mgmt-solmu:
yum install -y beegfs-mgmtd libbeegfs-license
  • beegfs-meta-solmu:
yum install -y beegfs-meta
  • beegfs-storage-solmut:
yum install -y beegfs-storage
  • beegfs-client-solmut:
yum install -y kernel-devel-$(uname -r) beegfs-client beegfs-tools beegfs-utils

Määritys

Hallintapalvelu

Alusta tietokanta uutta BeeGFS-asennusta varten suorittamalla beegfs-meta-solmulla root-käyttäjänä:

/opt/beegfs/sbin/beegfs-mgmtd --init

Muokkaa tiedostoa /etc/beegfs/beegfs-mgmtd.toml

Oletuksena hallintapalvelu vaatii TLS:n määrittämisen. Voit poistaa sen käytöstä asettamalla tls-disable = true

Suosittelemme muuttamaan lokitason debug-tilaan: log-level = debug

Tallenna ja poistu. Käynnistä palvelu uudelleen:

systemctl restart beegfs-mgmtd

Metadatapalvelu

Esittelimme aiemmin eri isäntäpalvelut. Tässä ohjeessa tarkastelemme palvelinta beegfs-meta, johon on liitetty 500 Gt:n taltio.

Ensin meidän täytyy valmistella taltio. Meillä on dokumentaatio liitetyn taltion käytöstä.

Tässä tarkemmat ohjeet meidän tapaukseemme:

  • Listaa taltiot:
sudo parted -l
  • Olettaen, että liitetty taltio on /dev/vdb, alusta se:
sudo mkfs.xfs /dev/vdb
  • Luo hakemisto /mnt/beegfs_meta:
sudo mkdir -p /mnt/beegfs_meta
  • Liitä taltio:
sudo mount -o noatime /dev/vdb /mnt/beegfs_meta
  • Muokkaa tiedostoa /etc/fstab ja lisää tämä rivi:
/dev/vdb                /mnt/beegfs_meta                          xfs     defaults        0 0

Kun taltio on liitetty ja mountattu, voimme jatkaa metadatapalvelun alustamista (root-käyttäjänä).

Metadatapalvelun täytyy tietää, minne se voi tallentaa datansa ja missä hallintapalvelu on käynnissä. Tavallisesti käytössä on useita metadatapalveluja eri koneilla. Tässä tapauksessa käytämme vain yhtä.

Halutessasi voit myös määrittää mukautetun numeerisen metadatapalvelun tunnisteen (alue 1..65535). Valitsemme tässä metadatapalvelun tunnisteeksi numeron 2.

/opt/beegfs/sbin/beegfs-setup-meta -p /mnt/beegfs_meta -s 2 -m IP_ADDRESS_MGMT_NODE

Korvaa IP_ADDRESS_MGMT_NODE beegfs-mgmt-palvelimesi sisäisellä IP-osoitteella

Viimeiseksi tarkista muokkaamalla tiedostoa /etc/beegfs/beegfs-meta.conf, että storeClientXAttrs=true

Tallennuspalvelu

Esittelimme aiemmin eri isäntäpalvelut. Tässä ohjeessa tarkastelemme seuraavia:

  • beegfs-storage-1, johon on liitetty 1000 Gt:n taltio.

  • beegfs-storage-2, johon on liitetty kaksi 1000 Gt:n taltiota.

  • beegfs-storage-3, johon on liitetty 1000 Gt:n taltio.

Ohjeet taltioiden valmisteluun ovat samat kuin aiemmin metadatapalvelulle. Voit myös tutustua dokumentaatioomme

Tallennuspalvelun täytyy tietää, minne se voi tallentaa datansa ja miten hallintapalvelin tavoitetaan.

Tyypillisesti käytössä on useita tallennuspalveluja eri koneilla ja/tai useita tallennuskohteita (esim. useita RAID-taltioita) yhtä tallennuspalvelua kohden.

Halutessasi voit myös määrittää mukautetun numeerisen tallennuspalvelun tunnisteen ja numeerisen tallennuskohteen tunnisteen (molemmat alueella 1..65535). Koska tämä palvelu toimii esimerkissämme palvelimella nimeltä beegfs-client-1, valitsemme tämän tallennuspalvelun tunnisteeksi numeron 1 ja käytämme tallennuskohteen tunnisteena arvoa 101 osoittamaan, että tämä on tallennuspalvelun 1 ensimmäinen kohde (01).

Suorita root-käyttäjänä:

/opt/beegfs/sbin/beegfs-setup-storage -p /mnt/beegfs_storage-1 -s 1 -i 101 -m IP_ADDRESS_MGMT_NODE

Korvaa IP_ADDRESS_MGMT_NODE beegfs-mgmt-palvelimesi sisäisellä IP-osoitteella

Solmuun beegfs-storage-2 on liitetty kaksi 1000 Gt:n taltiota. Voit käyttää tätä komentoa lisätäksesi molemmat taltiot saman palvelutunnisteen alle:

/opt/beegfs/sbin/beegfs-setup-storage -p /mnt/beegfs_storage-1 -s 2 -i 201 -m IP_ADDRESS_MGMT_NODE
/opt/beegfs/sbin/beegfs-setup-storage -p /mnt/beegfs_storage-2 -s 2 -i 202

Asiakas

Asiakkaiden täytyy tietää, missä hallintapalvelu on käynnissä.

Suorita root-käyttäjänä:

/opt/beegfs/sbin/beegfs-setup-client -m IP_ADDRESS_MGMT_NODE

Korvaa IP_ADDRESS_MGMT_NODE beegfs-mgmt-palvelimesi sisäisellä IP-osoitteella

Asiakkaan liitoshakemisto määritellään erillisessä asetustiedostossa. Tätä tiedostoa käyttää beegfs-client-palvelun käynnistysskripti. Oletuksena BeeGFS liitetään hakemistoon /mnt/beegfs. Siksi tämä vaihe on tarpeen vain, jos haluat liittää tiedostojärjestelmän toiseen sijaintiin.

vim /etc/beegfs/beegfs-mounts.conf

Ensimmäinen rivi määrittää liitoshakemiston. Toinen rivi viittaa tätä liitospistettä vastaavaan asetustiedostoon.

Viimeiseksi tarkista muokkaamalla tiedostoa /etc/beegfs/beegfs-client.conf, että sysSELinuxEnabled=true

Todennus

On erittäin suositeltavaa suojata BeeGFS-asennus ottamalla käyttöön yhteyspohjainen todennus jaettu salaisuus -mekanismilla.

Meidän tapauksessamme jaamme yhteisen salaisuuden kaikille solmuille ja asetamme connAuthFile-parametrin jokaisen palvelun/asiakkaan asetuksiin. Oletuksena palvelut ja asiakkaat odottavat salaisuutta sijainnista /etc/beegfs/conn.auth

Todennus pois käytöstä - EI SUOSITELLA

Voit poistaa todennuksen käytöstä asettamalla connDisableAuthentication=true kaikissa palvelu- ja asetustiedostoissa (sijaitsevat polussa /etc/beegfs/*.conf) sekä auth-disable=true hallintapalvelun asetuksissa (etc/beegfs/beegfs-mgmtd.toml). Palvelut täytyy käynnistää uudelleen, jotta muutokset tulevat voimaan.

  1. Luo tiedosto, joka sisältää jaetun salaisuuden
dd if=/dev/random of=/etc/beegfs/conn.auth bs=128 count=1
  1. Varmista, että tiedosto on vain root-käyttäjän luettavissa:
chown root:root /etc/beegfs/conn.auth
chmod 400 /etc/beegfs/conn.auth

Kopioi tiedosto kaikkiin klusterin isäntiin (mgmtd, meta, storage, client).

Jos tämä on uusi BeeGFS 8 -asennus, kaikkien palveluiden ja asiakkaiden oletusasetustiedostoissa on jo valmiiksi asetettu todennustiedoston poluksi /etc/beegfs/conn.auth.

Jos otat yhteystodennuksen käyttöön ensimmäistä kertaa, aseta hallinnan asetustiedostossa auth-file = "/etc/beegfs/conn.auth" ja kaikille muille asiakkaille ja palvelimille connAuthFile=/etc/beegfs/conn.auth.

Käynnistä palvelut uudelleen, jotta muutos tulee voimaan:

systemctl restart beegfs-mgmtd.service
systemctl restart beegfs-meta.service
systemctl restart beegfs-storage.service
systemctl restart beegfs-client.service
systemctl restart beegfs-mon.service

Kun kaikki palvelut on käynnistetty onnistuneesti uudelleen, yksikään asiakas ilman jaetun salaisuuden tiedostoa ei voi muodostaa yhteyttä klusteriin. Ilman jaetun salaisuuden tiedostoa hallintadaemon kirjaa seuraavan viestin, kun log-level = "debug":

Received message from unauthenticated stream from 192.168.1.7:36082

Voit vaihtaa salaisuuden jo määritetyssä/suojatussa klusterissa. Korvaa vain tiedosto conn.auth uudella kaikilla solmuilla.

Palveluiden käynnistys

BeeGFS-palvelut voidaan käynnistää missä tahansa järjestyksessä käyttämällä vastaavia systemctl-palveluskriptejä. Oletuksena kaikki palvelut kirjaavat järjestelmälokiin (käytä -u <service> suodattaaksesi tietyn palvelun lokit).

Suorita root-käyttäjänä:

systemctl start beegfs-mgmtd
systemctl start beegfs-meta
systemctl start beegfs-storage # repeat this operation for all storage nodes
systemctl start beegfs-client # repeat this operation for all client nodes

Note

BeeGFS-asiakkailla on liitoksen järkevyystarkistus, ja ne peruuttavat liitostoiminnon, jos palvelimia ei tavoiteta. Jos haluat liittää tiedostojärjestelmän, vaikka palvelimia ei tavoitettaisi, aseta sysMountSanityCheckMS=0 tiedostoon /etc/beegfs/beegfs-client.conf.

Onnittelut, rinnakkainen tiedostojärjestelmäsi on nyt käytössä!

Yhteyksien tarkistaminen

Määritä asiakassolmu käyttämään BeeGFS:ää uudella beegfs-työkalulla.

Uusi työkalu ei käytä asetustiedostoa, vaan käyttää asetuksiin lippuja ja/tai ympäristömuuttujia. Tämä tarkoittaa, että jos haluat työkalulle pysyvän asetuksen, sen voi määrittää tiedostossa ~/.bashrc (tai vastaavassa oman komentotulkkisi tiedostossa).

Jos noudatit pikaoppaan suosituksia, lisämäärityksiä ei tarvita, ja työkalu toimii suoraan. Alla on yleisiä asetuksia, jotka on hyvä tuntea, jos poikkesit oppaasta.

Jos päätät käyttää itse allekirjoitettua TLS-varmennetta ja ottaa yhteystodennuksen käyttöön, mitään lisämääritystä ei tarvita, kunhan TLS-varmenne ja salaisuus ovat jo sijainneissa /etc/beegfs/cert.pem ja /etc/beegfs/conn.auth sillä koneella, jolla työkalua suoritat. Jos päätät poistaa TLS:n ja/tai yhteystodennuksen käytöstä, sinun täytyy määrittää nämä asetukset myös asiakassolmuilla:

echo "export BEEGFS_TLS_DISABLE='true'" >> ~/.bashrc
source ~/.bashrc

Kun oikeat asetukset ovat käytössä, tarkista asiakassolmuilla havaitut verkkoliitännät ja siirtoprotokollat seuraavilla komennoilla (root-käyttäjänä):

beegfs node list --with-nics
beegfs health net            # Display connections the client is actually using.
beegfs health df             # Display free space and inodes on metadata and storage targets.
beegfs health check          # Check for common issues.

Jos aiot käyttää BeeGFS Community Editionia, olet todennäköisesti nähnyt komentojen suorittamisen yhteydessä varoituksia siitä, että järjestelmällä ei ole lisenssiä. Suorita beegfs license ja seuraa ohjeita lisenssin hankkimiseksi.

Lisensointi

Lisenssien hankkiminen

Yhteisölisenssin saamiseksi päivitä BeeGFS-versioon 8.3+ ja suorita beegfs license. Tämä luo järjestelmäkohtaisen URL-osoitteen, joka välittää automaattisesti rajalliset tiedot käyttöönotosta, mukaan lukien tallennuskapasiteetti, metadata- ja tallennuspalveluiden määrä sekä verkkoprotokolla.

Lisensoinnin määrittäminen

Näitä vaiheita voidaan seurata lisensoinnin ottamiseksi käyttöön uudessa tai olemassa olevassa BeeGFS-asennuksessa:

  1. Asenna paketti libbeegfs-license kaikille koneille, joilla BeeGFS-hallintapalvelu voi olla käynnissä. Jos BeeGFS-hallintapalvelu voi toimia useilla koneilla, tämä paketti tulee asentaa kaikkialle, missä BeeGFS-hallintapalvelu voi toimia. BeeGFS 8.3:sta alkaen tämä paketti asennetaan automaattisesti kaikille koneille, joille hallintapaketti asennetaan.

    Note

    ilman samalla koneella käynnissä olevaa hallintapalvelua tämän paketin asentamisella ei ole vaikutusta, joten sen voi turvallisesti asentaa kaikkialle, missä sitä saatetaan tarvita.

  2. Lataa lisenssitiedosto kaikille koneille, joilla BeeGFS-hallintapalvelu voi olla käynnissä, polkuun /etc/beegfs/license.pem.

  3. Suorita jokin seuraavista vaihtoehdoista lisenssin lataamiseksi uudelleen:

    • Jos tämä on uusi asennus, käynnistä yksinkertaisesti hallintapalvelu. Seuraava kirjataan lokiin, jos lisenssin varmennuskirjasto ja lisenssi on asennettu oikein:

      [2024-12-05T14:49:31Z INFO ] Successfully initialized certificate verification library.
      [2024-12-05T14:49:31Z INFO ] Successfully loaded license certificate: TMP-513679565
      
    • Jos kyseessä on olemassa oleva käyttöönotto, suorita koneelta, johon on asennettu paketti beegfs-tools, komento beegfs license --reload, jotta uusi lisenssi asennetaan ilman käyttökatkoa. Lisenssin tiedot palautetaan onnistuneessa tapauksessa.

Halutessasi voit tarkistaa asennetun lisenssin tiedot komennolla beegfs license.

Lisenssin uusiminen tai päivittäminen

Jos lisenssi täytyy joskus päivittää, esimerkiksi tukisopimuksen keston pidentämisen tai uusien palvelimien lisäämisen vuoksi, sijoita uusi lisenssitiedosto hallintapalvelussa määritettyyn polkuun ja suorita komento beegfs license --reload. Uusi lisenssi otetaan käyttöön välittömästi ilman, että hallintapalvelua tarvitsee käynnistää uudelleen.

Tietoa lisenssistä

  • Voit käyttää BeeGFS Community Editionia vapaasti projekteissasi maksamatta.
  • Käytölle ei ole maksuja tai pakollisia rajoitteita henkilökohtaisessa tai kaupallisessa käytössä.
  • Uudelleenjakeluun ja muokkaamiseen liittyy joitakin rajoituksia Community License -lisenssin ehtojen mukaisesti.
  • Yritystarpeisiin, tukeen tai edistyneisiin ominaisuuksiin kannattaa harkita maksullista Enterprise Editionia.

BeeGFS Community Editionia säätelee BeeGFS Community License, jonka hyväksyt käyttämällä ohjelmistoa. Jos et hyväksy lisenssin ehtoja, sinun ei tule asentaa, kopioida tai käyttää BeeGFS:ää.

Lisenssin keskeisiä kohtia ovat:

  • Lisenssi sallii ohjelmiston vapaan käytön, mutta siihen liittyy ehtoja, joita sinun on noudatettava.
  • Uudelleenjakelu ja muokkaaminen ovat rajoitettuja; et voi jakaa muokattuja versioita edelleen ilman nimenomaista lupaa.
  • Ohjelmisto toimitetaan "sellaisenaan", mikä tarkoittaa, ettei sen suorituskyvystä tai soveltuvuudesta anneta takuuta.
  • Lisenssin tarkoituksena on suojata BeeGFS:n tekijöiden immateriaalioikeuksia samalla, kun se sallii vapaan käytön sekä henkilökohtaisiin että kaupallisiin tarkoituksiin.

Metadatasolmujen migraatio

Jos olet ottanut metadatan käyttöön paikallisella levyllä, et voi laajentaa taltiota.

Voit helposti siirtää hakemiston / metadatan liitetylle taltiolle. Paras tapa tehdä tämä on käyttää rsync-komentoa.

Kun taltio on alustettu ja liitetty, voit suorittaa nämä komennot (root-käyttäjänä):

systemctl stop beegfs-meta
rsync -aHAX --numeric-ids /data/beegfs/beegfs_meta/ /mnt/beegfs_meta/
systemctl start beegfs-meta

Tärkeää

ÄLÄ rekisteröi metadatapalvelua uudelleen komennolla /opt/beegfs/sbin/beegfs-setup-meta -p /data/beegfs/beegfs_meta -s 2 -m IP_ADDRESS_MGMT_NODE Hallintapalvelu menee sekaisin, koska se luo uuden rekisteröintitunnisteen eikä pysty käynnistämään palvelua

Suorituskykytestaus

BeeGFS:n mukana tulee työkalu, jolla voit suorituskykytestata tallennuksen

Alla olevat komennot suoritetaan root-käyttäjänä.

Seuraava esimerkki käynnistää kirjoitussuorituskykytestin kaikkien BeeGFS-tallennuspalvelimien kaikilla kohteilla käyttäen 512 KB:n I/O-lohkokokoa, 10 säiettä (eli simuloituja asiakasvirtoja) kohdetta kohden, joista kukin kirjoittaa 200 GB dataa omaan tiedostoonsa.

beegfs benchmark start --block-size=512KiB --size=200GiB --num-tasks=10

Voit kysyä kaikkien kohteiden suorituskykytestin tilan/tuloksen suorittamalla alla olevan komennon.

beegfs benchmark status

Voit käyttää watch-lippua kyselyn toistamiseen annetuin sekuntivälein, kuten alla:

beegfs benchmark status --watch=1s

Luotuja tiedostoja ei poisteta automaattisesti, kun suorituskykytesti valmistuu. Voit poistaa ne seuraavalla komennolla.

beegfs benchmark cleanup

Lisätietoja tallennuksen suorituskykytestistä ja sen vaihtoehdoista on saatavilla beegfs-työkalun ohjeessa seuraavasti.

beegfs benchmark --help
beegfs benchmark start --help
beegfs benchmark status --help
Onko tämä sivu hyödyllinen?
Kiitos palautteestasi!
Kiitos! Arvostamme palautettasi.

Kerro meille miten voisimme parantaa tätä sivua ottamalla meihin yhteyttä .