-
Moni-liitettävä Cinder-tallennustila
Cinder-taltioden moniliittäminen
Warning
Oletusarvoisesti kiintiö on asetettu arvoon 0, joten sinun täytyy pyytää sitä lähettämällä sähköpostia osoitteeseen servicedesk@csc.fi
Sama cinder-taltio on mahdollista liittää ja liittää käyttöön useammassa kuin yhdessä virtuaalikoneessa samanaikaisesti. Tämä tarkoittaa, että kukin virtuaalikoneista voi lukea ja kirjoittaa samaan lohkolaiteeseen. Tämä on samankaltaista kuin mitä SAN mahdollistaa.
Tällä ominaisuudella on useita etuja ja haittoja. Yhtäältä se mahdollistaa tiedostojen jakamisen virtuaalikoneiden välillä ilman minkäänlaista välipalvelinta, jota tarvitsisit ratkaisuissa kuten NFS tai GlusterFS. Tämä vähentää tarvittavien virtuaalikoneiden määrää, mikä tarkoittaa vähemmän ylläpitoa ja vähemmän yksittäisiä vikapisteitä. Toisaalta on tarpeen käyttää niin kutsuttua klusteroitua tiedostojärjestelmää, kuten Oracle Cluster File System 2 (ocfs2) tai Red Hatin Global File System (GFS2). Nämä järjestelmät tarvitsevat klusterin toisiinsa yhteydessä olevia taustaprosesseja, jotka koordinoivat tiedostojen luku- ja kirjoitustoimintoja. Muut tiedostojärjestelmät, kuten ext4 tai xfs, eivät tue tätä käyttötapausta, ja niiden käyttö voi johtaa lukuvirheisiin tai jopa datan vioittumiseen, joten niiden käyttöä ei suositella. Jokainen virtuaalikone suorittaa oman kopionsa taustaprosessista, eikä järjestelmässä ole master-solmua, vaan se perustuu päätösvaltaisuuteen. Valinta näiden kahden tiedostojärjestelmän välillä riippuu käyttötapauksesta ja toimittajiin liittyvistä mieltymyksistä. Testeissämme GFS2 vaikuttaa sopivan paremmin Red Hat -pohjaisiin järjestelmiin ja OCFS2 Debian-pohjaisiin, mutta tulokset voivat vaihdella.
Warning
Näiden tiedostojärjestelmien määritys, ylläpito ja käyttö eivät ole yksinkertainen tehtävä. Alla olevat ohjeet ovat lähtökohta eivätkä kata kaikkia mahdollisuuksia. Kattavampia tietoja varten tutustu upstream-dokumentaatioon.
Luo ja liitä taltio
quota
Varmista, että sinulla on käytettävissä kiintiötä tämän tyyppiselle taltiolle
WebUI
-
Siirry Poudan Volumes-sivulle.
-
Napsauta "+Create Volume"
-
Luo taltio kuten loisit minkä tahansa muun Type-tyyppisen taltion. Aseta Volume Name ja Size (GiB) haluamallasi tavalla.
-
Vaihda Type arvoksi
standard.multiattach. -
Napsauta "Create Volume".

not supported
Et voi liittää taltiota useaan virtuaalikoneeseen WebUI:n kautta, voit ainoastaan nähdä sen tilan. Voit liittää taltion useaan virtuaalikoneeseen vain komentoriviltä.
CLI
Ennen tätä sinun täytyy asentaa openstack-asiakasohjelma:
-
Luo moniliitettävä taltio:
Sinun täytyy korvata<volume_name>nimellä, jonka haluat antaa taltiolle, ja<size_in_GB>koolla gigatavuina, jonka haluat taltiolla olevan. -
Liitä taltio virtuaalikonesolmuun:
Sinun täytyy korvata<volume_name>edellisessä vaiheessa luomasi taltion nimellä ja<VM_name>virtuaalikonesolmun nimellä. Kun teet tämän virtuaalikoneklusterille, sinun täytyy suorittaa komento kerran jokaista virtuaalikonetta kohden.
GFS2 esimerkkinä
Global File System eli lyhyesti GFS2 on tiedostojärjestelmä, jota Red Hat kehittää tällä hetkellä. Se käyttää dlm:ää koordinoimaan tiedostojärjestelmätoimintoja klusterin solmujen välillä. Varsinainen data luetaan ja kirjoitetaan suoraan jaettuun lohkolaitteeseen.
Warning
GFS2 tukee enintään 16 samaan taltioon liitettyä solmua.
GFS2:n asennus Ansiblella
Olemme kirjoittaneet pienen ansible-cinder-multiattach-playbookin, joka asentaa solmuklusterin ja asentaa niihin jaetun GFS2-tiedostojärjestelmän. Playbook on tarkoitettu ohjeeksi ja demoksi, eikä se ole tuotantovalmis. Esimerkiksi yksi vaihe on tehtävä käsin: taltion liittäminen jokaiseen solmuun. Ansible-playbook luo virtuaalikoneklusterin ja asentaa siihen pyydetyn tiedostojärjestelmän. Lopputuloksena sama taltio liitetään jokaiseen virtuaalikoneeseen. Pikakäynnistyksen komennot ovat seuraavat:
$> source ~/Downloads/project_XXXXXXX-openrc.sh
Please enter your OpenStack Password for project project_XXXXXXX as user YYYYYYYY:
$> ansible-playbook main.yml -e fs='gfs2' -e csc_username='johndoe' -e csc_password='easyaccess'
$> for i in $(seq 1 16);
do
openstack --os-compute-api-version 2.60 server add volume "cinder-gfs2-$i" multi-attach-test-gfs2
done
$> ansible-playbook main.yml -e fs='gfs2'
csc_username ja csc_password voidaan lisätä myös tiedostoon all.yaml.
Se voi olla robottikäyttäjätunnus
Sinun täytyy suorittaa Ansible kahdesti openstack.cloud.server_volume-moduulissa olevan virheen vuoksi, koska se voi liittää taltion vain yhteen virtuaalikoneeseen ja epäonnistuu muiden kohdalla.
Jos sinulla on jo virtuaalikoneklusteri tai haluat luoda sen käsin, voit silti käyttää gfs2-Ansible-roolia. Vaiheet ovat yksinkertaiset:
-
Luo ja liitä taltio. Katso yllä oleva ohje Luo ja liitä taltio.
-
Luo tavallinen Ansible-inventory, kuten tämä:
[all] <VM_name> ansible_host=192.168.1.XXX ansible_user=<user> # ... [all:vars] ansible_ssh_common_args='-J <jumphost>'Yllä olevassa esimerkissä sinun täytyy korvata
<VM_name>virtuaalikoneen nimellä, IP-osoitteen192.168.1.XXXtäytyy olla virtuaalikoneen oikea IP-osoite, ja lopuksi myös<user>täytyy korvata vastaavalla käyttäjällä. Tarvitset yhden rivin jokaista virtuaalikonesolmua varten, jonka haluat sisällyttää klusteriin. Lopuksi, jos käytät Jump Hostia, sinun täytyy korvata<jumphost>sen yhteystiedoilla, kutenubuntu@177.51.170.99 -
Luo playbook, kuten tämä:
--- - name: Configure VMs hosts: all gather_facts: true become: true roles: - role: hosts - role: gfs2Tämä suorittaa kaksi roolia:
hosts-roolin, jonka tarkoitus on luoda/etc/hosts-tiedosto jokaiseen virtuaalikoneeseen kaikkien virtuaalikoneiden IP-osoitteilla ja nimillä.gfs2-rooli asentaa ja määrittää klusterin. -
Ja suorita se:
GFS2:n manuaalinen asennus
GFS2:n asentamiseksi sinun täytyy seurata muutamaa vaihetta:
-
Asenna virtuaalikonesolmut. Tässä vaiheessa ei ole erityisiä huomioita, paitsi että on varmistettava solmujen näkevän toisensa verkossa (tämä on oletuskäytös virtuaalikonesolmuille, jotka on luotu samaan Pouta-projektiin) ja että niihin on asennettu sama jakeluversio. Olemme testanneet tätä
AlmaLinux-9:llä; muut jakelut ja versiot voivat myös toimia, mutta emme ole testanneet niitä. -
Luo ja liitä taltio. Katso yllä oleva ohje Luo ja liitä taltio.
-
AlmaLinuxissa ja muissa Red Hat -pohjaisissa jakeluissa sinun tarvitsee vain ottaa käyttöön kaksi kokoelmaa ja asentaa muutama paketti jokaiselle solmulle:
Klusterin määritys
root user
Seuraavat komennot suoritetaan root-käyttäjänä.
Tässä ohjeessa kerrotaan erikseen, jos komennot täytyy suorittaa vain yhdellä tai jokaisella solmulla.
-
Suorita seuraavat komennot jokaisella solmulla:
-
Kun asennat
pacemakerin, se luo käyttäjän nimeltähacluster. Sinun täytyy asettaa salasana tälle käyttäjälle: -
Varmista, että jokaisen solmun toimialuenimi voidaan selvittää jokaisessa muussa solmussa. Poudassa yksinkertaisin tapa on käyttää tiedostoa /etc/hosts, jossa jokaisella koneella on tämän kaltainen rivi:
-
Suorita seuraavat komennot vain yhdellä solmulla:
-
Voit tarkistaa tilan suorittamalla komennot:
Oletusarvoisesti corosync- ja pacemaker-palvelut ovat pois käytöstä:
$> pcs status
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
pacemakerin dokumentaation mukaan:
requiring a manual start of cluster services gives you the opportunity
to do a post-mortem investigation of a node failure
before returning it to the cluster.
Tämä tarkoittaa, että jos solmu kaatuu ja käynnistyy uudelleen, sinun täytyy suorittaa komento pcs cluster start [<NODENAME> | --all], jotta klusteri käynnistyy siinä.
Voit halutessasi ottaa ne käyttöön pcs:llä:
$> pcs cluster enable [<NODENAME> | --all]
Fencing-määritys
root user
Seuraavat komennot suoritetaan root-käyttäjänä.
Tässä ohjeessa kerrotaan erikseen, jos komennot täytyy suorittaa vain yhdellä tai jokaisella solmulla.
-
Suorita seuraavat komennot jokaisella solmulla:
-
Koska asennamme
python-openstackclientin root-käyttäjällä, sinun täytyy lisätä/usr/local/binPATH-muuttujaan: -
Luo
/etc-hakemistoon kansio nimeltäopenstack. Luo sitten tiedosto nimeltäclouds.yamlhakemistoon/etc/openstack. YAML-tiedoston täytyy olla tämän kaltainen: -
Suorita seuraavat komennot vain yhdellä solmulla:
-
Tarkista arvo:
-
Luo fencing HA-klusterille. Ensin sinun täytyy selvittää klusterisi jokaisen solmun UUID. Voit suorittaa komennon:
Sitten:
Korvaa$> pcs stonith create <fence_name> fence_openstack pcmk_host_map="node1:node1_UUID;node2:node2_UUID;node3:node3_UUID" power_timeout="240" pcmk_reboot_timeout="480" pcmk_reboot_retries="4" cloud="ha-example"cloud="ha-example"sillä pilven nimellä, jonka määrititclouds.yaml-tiedostossa. -
Voit tarkastella käytettävissä olevia valintoja seuraavalla komennolla:
-
Voit testata fencingiä suorittamalla nämä komennot:
Vinkki
Jos haluat käynnistää (tai käynnistää uudelleen) fencingin, voit käyttää tätä komentoa:
Hyödyllinen esimerkiksi silloin, jos otat käyttöön uudenclouds.yaml-määrityksen.
GFS2:n määritys
root user
Seuraavat komennot suoritetaan root-käyttäjänä.
Tässä ohjeessa kerrotaan erikseen, jos komennot täytyy suorittaa vain yhdellä tai jokaisella solmulla.
-
Suorita seuraava komento jokaisella solmulla:
-
Suorita seuraavat komennot vain yhdellä solmulla:
-
Määritä dlm-resurssi (Distributed Lock Manager):
-
Kloonaa resurssi muille solmuille:
-
Määritä lvmlockd-resurssi osaksi locking-resurssiryhmää:
-
Tarkista tila:
-
Luo edelleen vain yhdellä solmulla yksi jaettu taltioryhmä:
-
Muilla solmuilla lisää jaettu laite laitetiedostoon:
-
Käynnistä lukitushallinta:
-
Suorita yhdellä solmulla:
ClusterName on klusterin nimi (voit hakea tiedon komennolla$> lvcreate --activate sy -L <size>G -n shared_lv1 shared_vg1 $> mkfs.gfs2 -j <number_of_nodes> -p lock_dlm -t ClusterName:FSName /dev/shared_vg1/shared_lv1pcs status)
FSName on tiedostojärjestelmän nimi (esim. gfs2-demo) -
Luo LVM-activate-resurssi, jotta looginen taltio aktivoidaan automaattisesti kaikilla solmuilla:
-
Kloonaa uusi resurssiryhmä:
-
Määritä järjestysrajoitteet varmistaaksesi, että locking-resurssiryhmä, joka sisältää dlm- ja lvmlockd-resurssit, käynnistyy ensin:
-
Määritä sijaintirajoite varmistaaksesi, että vg1-resurssiryhmät käynnistyvät samalla solmulla kuin locking-resurssiryhmä:
-
Varmista klusterin solmuilla, että looginen taltio on aktiivinen. Viive voi olla muutamia sekunteja:
-
Luo tiedostojärjestelmäresurssi, jotta GFS2-tiedostojärjestelmä liitetään automaattisesti.
Älä lisää sitä/etc/fstab-tiedostoon, koska sitä hallitaan Pacemaker-klusteriresurssina: -
Voit varmistaa, onko GFS2-tiedostojärjestelmä liitetty:
GFS2 UKK
-
Miten lisään lisää solmuja?
Uusia solmuja on mahdollista lisätä GFS2-klusteriin. Tuettu raja on 16 solmua.
Ensin sinun täytyy varmistaa, että journal-merkintöjä on riittävästi. Käytä
gfs2_edit-komentoa saadaksesi journalien kokonaismäärän:Jos niitä ei ole tarpeeksi, voit lisätä niitä helposti
gfs2_jadd-komennolla:Toiseksi luo uusi solmu, asenna tarvittavat ohjelmistot ja liitä taltio OpenStack API:n avulla. Prosessi on kuvattu yllä.
Sen jälkeen sinun täytyy muokata tiedostoa
/etc/corosync/corosync.confjokaisella solmulla ja lisätä merkintä uudelle solmulle:Kun tiedosto on päivitetty, sinun täytyy pysäyttää liitos ja käynnistää dlm- ja corosync-taustaprosessit uudelleen jokaisella klusterin solmulla.
Lopuksi sinun tarvitsee vain liittää taltio:
-
Miten laajennan GFS2-taltiotani?
GFS2-taltio määritettiin käyttäen LVM:ää (Logical Volume Manager), joka parantaa fyysisen tallennuksen hallintaa ja joustavuutta.
a. Luo uusi moniliitettävä taltio ja liitä se instansseihisi. Tarkista, että taltio on liitetty oikein suorittamalla komento
sudo parted -lb. Lisää yhdellä solmulla uusi taltio Volume Groupiin:
c. Laajenna edelleen yhdellä solmulla loogista taltiota:
d. Tarkista, että loogista taltiota on laajennettu suorittamalla komento
sudo lvse. Ennen GFS2-taltion laajentamista tarkista muilla solmuilla, ettei virheilmoituksia ole. Suorita
sudo pvs. Jos näet jotain tämän kaltaista:Sinun täytyy lisätä laite suorittamalla komento:WARNING: Couldn't find device with uuid JuoyG2-ftdd-U9xm-LLei-VrY7-4GZz-FgC2dr. WARNING: VG shared_vg1 is missing PV JuoyG2-ftdd-U9xm-LLei-VrY7-4GZz-FgC2dr (last written to /dev/vdX)Tarkista uudelleen komennolla
sudo pvs. Varoitusviestin ei pitäisi enää näkyä.f. Jos kaikki on kunnossa, voit kasvattaa GFS2-taltiotasi kirjoittamalla:
Warning
GFS2-tiedostojärjestelmän kokoa ei voi pienentää
-
Mitä tapahtuu, jos virtuaalikone menettää yhteyden?
Tämä kattaa kaksi eri käyttötapausta: tilapäisen ja/tai odottamattoman yhteyden katkeamisen sekä pysyvän katkeamisen.
Tilapäisen ja odottamattoman yhteyden katkeamisen tapauksessa klusterin pitäisi pystyä käsittelemään tällaiset tilanteet automaattisesti. Kun solmu on taas käytettävissä, sinun täytyy tarkistaa, että kaikki palautui normaaliksi. Joissakin tapauksissa taltion automaattinen liittäminen voi epäonnistua; jos näin käy, liitä taltio yllä kuvatulla tavalla.
Jos katkos on tilapäinen mutta odotettu, esimerkiksi ytimen version päivittämistä varten, irrota taltio solmusta ennen solmun uudelleenkäynnistystä. Se ei ole pakollista, mutta suositeltavaa.
Virtuaalikoneen pysyvän irtikytkeytymisen tapauksessa täytyy tehdä uuden solmun lisäämisen käänteinen prosessi. Irrota taltio, poista tämän virtuaalikoneen merkintä tiedostosta
/etc/corosync/corosync.confjokaisella solmulla ja käynnistä lopuksi taustaprosessit uudelleen jokaisella solmulla. Tämä täytyy tehdä, koska se vaikuttaa klusterin päätösvaltaisuuden laskentaan. -
Onko mahdollista liittää solmu vain luku -tilassa?
Kyllä, GFS2:ssa on "spectator mode":
spectator Mount this filesystem using a special form of read-only mount. The mount does not use one of the filesystem's journals. The node is unable to recover journals for other nodes. norecovery A synonym for spectatorSuorita siis tämä komento:
$> pcs resource create sharedfs1 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv1" directory="/mnt/gfs" fstype="gfs2" options=noatime,spectator op monitor interval=10s on-fail=fencefstype="gfs2"ei ole ehdottoman välttämätön, koska mount osaa tunnistaa tiedostojärjestelmän tyypin, mutta sitä suositellaan väärän tiedostojärjestelmän liittämisen välttämiseksi. Tarkista sitten vielä, että liitos onnistui odotetusti:
GFS2-linkit
- Pacemaker docs
- GFS2 on Amazon EBS Multi-Attach
- Getting start with Pacamaker
- Configuring a Red Hat High Availability cluster on Red Hat OpenStack Platform
- GFS2 file systems in a cluster
- Growing a GFS2 file system
- Managing LVM volume groups
OCFS2 toisena esimerkkinä
Oracle Cluster File System version 2 on Oracle Corporationin kehittämä ja GNU General Public License -lisenssillä julkaistu jaetun levyn tiedostojärjestelmä. Vaikka kyseessä on eri toimittajan kehittämä eri koodipohja, lähestymistapa on sama kuin GFS2:ssa:
Yksi taltio liitetään virtuaalikonesolmujen klusteriin, jolloin dataa voidaan lukea ja kirjoittaa suoraan, ja jokaisessa virtuaalikonesolmussa toimii taustaprosessi, joka koordinoi luku- ja kirjoitustoimintoja.
OCFS2:n asennus Ansiblella
Kuten GFS2:n kanssa, Ansible-playbook luo virtuaalikoneklusterin ja asentaa siihen pyydetyn tiedostojärjestelmän. Lopputuloksena sama taltio liitetään jokaiseen virtuaalikoneeseen. Ohjeet ovat hyvin samankaltaiset kuin GFS2:n kohdalla. Pikakäynnistyksen komennot ovat seuraavat:
$ source ~/Downloads/project_XXXXXXX-openrc.sh
Please enter your OpenStack Password for project project_XXXXXXX as user YYYYYYYY:
$ ansible-playbook main.yml -e fs='ocfs2'
$ for i in $(seq 1 16);
do
openstack --os-compute-api-version 2.60 server add volume "cinder-ocfs2-$i" multi-attach-test-ocfs2
done
$ ansible-playbook main.yml -e fs='ocfs2'
Sinun täytyy suorittaa Ansible kahdesti openstack.cloud.server_volume-moduulissa olevan virheen vuoksi, koska se voi liittää taltion vain yhteen virtuaalikoneeseen ja epäonnistuu muiden kohdalla.
Jos sinulla on jo virtuaalikoneklusteri tai haluat luoda sen käsin, voit silti käyttää ocfs2-Ansible-roolia. Vaiheet ovat yksinkertaiset:
-
Luo ja liitä taltio. Katso yllä oleva ohje Luo ja liitä taltio.
-
Luo tavallinen Ansible-inventory, kuten tämä:
[all] <VM_name> ansible_host=192.168.1.XXX ansible_user=<user> # ... [all:vars] ansible_ssh_common_args='-J <jumphost>'Yllä olevassa esimerkissä sinun täytyy korvata
<VM_name>virtuaalikoneen nimellä, IP-osoitteen192.168.1.XXXtäytyy olla virtuaalikoneen oikea IP-osoite, ja lopuksi myös<user>täytyy korvata vastaavalla käyttäjällä. Tarvitset yhden rivin jokaista virtuaalikonesolmua varten, jonka haluat sisällyttää klusteriin. Lopuksi, jos käytät Jump Hostia, sinun täytyy korvata<jumphost>sen yhteystiedoilla, kutenubuntu@177.51.170.99 -
Luo playbook (
main-ocfs2.ymltässä esimerkissä), kuten tämä:--- - name: Configure VMs hosts: all gather_facts: true become: true roles: - role: hosts - role: ocfs2Tämä suorittaa kaksi roolia: hosts-roolin, jonka tarkoitus on luoda
/etc/hosts-tiedosto jokaiseen virtuaalikoneeseen kaikkien virtuaalikoneiden IP-osoitteilla ja nimillä.ocfs2-rooli asentaa ja määrittää klusterin. -
Ja suorita se:
OCFS2:n manuaalinen asennus
OCFS2:n asentamiseksi sinun täytyy seurata muutamaa vaihetta:
-
Asenna virtuaalikonesolmut. Tässä vaiheessa ei ole erityisiä huomioita, paitsi että on varmistettava solmujen näkevän toisensa verkossa (tämä on oletuskäytös virtuaalikonesolmuille, jotka on luotu samaan Pouta-projektiin) ja että niihin on asennettu sama jakeluversio. Olemme testanneet tätä
Ubuntu v22.04:llä jaAlmaLinux-9:llä; muut jakelut ja versiot voivat myös toimia, mutta emme ole testanneet niitä. Tässä ohjeessa käytetään esimerkkinä Ubuntua.
AlmaLinux vaatii tietyn Oracle-kernelin asentamisen. Lisätietoja on UKK:ssa -
Luo ja liitä taltio. Katso yllä oleva ohje Luo ja liitä taltio.
-
Asenna OCFS2-ohjelmisto:
Olemme testanneet tämän arvolla<kernel_version>==6.5.0-21-generic, mutta myös uudemmat versiot toimivat todennäköisesti yhtä hyvin tai paremmin. -
Varmista, että jokaisen solmun toimialuenimi voidaan selvittää jokaisessa muussa solmussa. Poudassa yksinkertaisin tapa on käyttää tiedostoa /etc/hosts, jossa jokaisella koneella on tämän kaltainen rivi:
-
Ota ocfs2 käyttöön jokaisella solmulla komennolla:
-
Luo tiedostojärjestelmä. Tämä täytyy tehdä vain yhdessä virtuaalikonesolmussa.
Korvaa
<number_instances>klusterin virtuaalikonesolmujen määrällä. Kiinnitä myös huomiota siihen ja varmista vielä kerran, että/dev/vdbon oikea taltion nimi. Periaatteessavdbon ensimmäinen virtuaalikoneeseen liitetty taltio, mutta näin ei välttämättä ole kaikissa tapauksissa. -
Luo tiedosto
/etc/ocfs2/cluster.conf. Toimiva vähimmäisesimerkki noudattaa tätä mallia: -
Käynnistä uudelleen, jotta asentamasi ydin otetaan käyttöön. Varmista, että
ocfs2-palvelu on käynnissä (systemctl status ocfs2). -
Liitä lopuksi taltio jokaisella solmulla:
Koska laite voi muuttua milloin tahansa, vakavissa käyttöönottoissa suositellaan käyttämäänUUID:tä. Voit hakeaUUID:n komennollablkid:Tässä tapauksessa komento on$ sudo blkid /dev/vdb /dev/vdb: UUID="785134b8-4782-4a1f-8f2a-40bbe7b7b5d2" BLOCK_SIZE="4096" TYPE="ocfs2"sudo mount -U 785134b8-4782-4a1f-8f2a-40bbe7b7b5d2 /mnt
OCFS2 UKK
-
Miten lisään lisää solmuja?
Uusia solmuja on mahdollista lisätä ocfs2-klusteriin, mutta se vaatii käyttökatkon.
Ensin sinun täytyy kasvattaa slotien määrää käyttäen
tunefs.ocfs2-komentoa. Ennen sitä sinun täytyy irrottaa taltio jokaisessa virtuaalikonesolmussa. Nämä ovat kaksi komentoa, jotka sinun täytyy suorittaa. Jälkimmäinen tarvitsee suorittaa vain yhdellä solmulla:Toiseksi luo uusi solmu, asenna tarvittavat ohjelmistot ja liitä taltio OpenStack API:n avulla. Prosessi on kuvattu yllä.
Sen jälkeen sinun täytyy muokata tiedostoa
/etc/ocfs2/cluster.confjokaisella solmulla ja lisätä merkintä uudelle solmulle:Korvaa
<ip_address>uuden palvelimen osoitteella,<vm_name>sen nimellä, ja lopuksi<number>on solmun tunnistenumero. Sen täytyy olla yksilöllinen jokaiselle solmulle, mieluiten peräkkäiset numerot.Kun tiedosto on päivitetty, sinun täytyy pysäyttää liitos ja käynnistää
ocfs2uudelleen jokaisella klusterin solmulla. Lopuksi liitä taltio uudelleen jokaisessa virtuaalikonesolmussa. -
Mitä tapahtuu, jos virtuaalikone menettää yhteyden?
Tämä kattaa kaksi eri käyttötapausta: tilapäisen ja/tai odottamattoman yhteyden katkeamisen sekä pysyvän katkeamisen. Tilanne on hyvin samankaltainen kuin GFS2:ssa.
Tilapäisen ja odottamattoman yhteyden katkeamisen tapauksessa klusterin pitäisi pystyä käsittelemään tällaiset tilanteet automaattisesti. Kun solmu on taas käytettävissä, sinun täytyy tarkistaa, että kaikki palautui normaaliksi. Joissakin tapauksissa taltion automaattinen liittäminen voi epäonnistua; jos näin käy, liitä taltio yllä kuvatulla tavalla.
Jos katkos on tilapäinen mutta odotettu, esimerkiksi ytimen version päivittämistä varten, irrota taltio solmusta (
sudo umount /mnt) ennen solmun uudelleenkäynnistystä. Se ei ole pakollista, mutta suositeltavaa.Virtuaalikoneen pysyvän irtikytkeytymisen tapauksessa täytyy tehdä uuden solmun lisäämisen käänteinen prosessi. Irrota taltio (
sudo umount /mnt), poista tämän virtuaalikoneen merkintä tiedostosta/etc/ocfs2/cluster.confjokaisella solmulla ja käynnistä lopuksi taustaprosessit uudelleen jokaisella solmulla. Tämä täytyy tehdä, koska se vaikuttaa klusterin päätösvaltaisuuden laskentaan. -
Onko mahdollista liittää solmu vain luku -tilassa?
Kyllä, taltio on mahdollista liittää vain luku -tilassa. Se on niinkin yksinkertaista kuin:
Sen jälkeen voit tarkistaa, että se todella liitettiin vain luku -tilassa, komennolla:
Kuten yllä olevasta tulosteesta näkyy, oletuskäytös on myös se, että virheen sattuessa tiedostojärjestelmä liitetään uudelleen vain luku -tilassa (mount | grep /mnt /dev/vdb on /mnt type ocfs2 (ro,relatime,_netdev,heartbeat=local,nointr,data=ordered,errors=remount-ro,atime_quantum=60,coherency=full,user_xattr,acl)errors-remount-ro). Katso lisävalintoja komennostamount.ocfs2. -
Haluan asentaa Oracle Kernelin RedHat 9 -jakeluun
Löydät lisätietoja täältä Oracle Linux -repositorion asentamisesta. Kun se on määritetty, voit asentaa Oracle UEK -ytimen näillä komennoilla:
Ensin
Ja sitten
Upstream-dokumentaatio
- GFS2:
- OCFS2: