Puncte:3

Adăugați un server la o configurație DRBD9 care rulează deja

drapel mx

Sunt pe CentOS7 și am un nod HA cu două clustere care rulează stimulator cardiac (1.1.23-1.el7_9.1) și DRBD (kmod-drbd90-9.0.22-3.el7_9). Partiția de rezervă pentru unitatea DRBD este criptată LUKS. Adăugăm un al treilea server la stivă, dar după actualizarea configurației, unitatea drbd de pe noul server nu se conectează.

stare

Starea curentă, așa cum se arată în caseta nouă este:

[root@svr3]# stare drbdadm
drbd0 rol:Secundar
  disc: inconsecvent
  conexiune svr1: se conectează
  conexiune svr2: se conectează

Din primar, starea arată ca:

[root@svr1]# stare drbdadm
drbd0 rol: Primar
  disc:UpToDate
  svr2 rol:Secundar
    peer-disk:UpToDate
  conexiune svr3: StandAlone

Configurare DRBD

Configurația actuală pentru drbd0 resursa este:

resursă drbd0 {
  protocolul C;
  dispozitiv /dev/drbd0;
  disc /dev/sdb1;
  meta-disc intern;
  pe svr1 {
    adresa 10.10.11.1:7789;
    nod-id 1;
  }
  pe svr2 {
    adresa 10.10.11.2:7789;
    nod-id 2;
  }
  pe svr3 {
    adresa 10.10.11.3:7789;
    nod-id 3;
  }
  plasă-conexiune {
    gazde svr1 svr2 svr3;
  }
}

Înainte de a adăuga svr3, configurația pe svr1 și svr2 a fost după cum urmează:

resursă drbd0 {
  protocolul C;
  dispozitiv /dev/drbd0;
  disc /dev/sdb1;
  meta-disc intern;
  pe svr1 {
    adresa 10.10.11.1:7789;
    nod-id 1;
  }
  pe svr2 {
    adresa 10.10.11.2:7789;
    nod-id 2;
  }
  plasă-conexiune {
    gazde svr1 svr2;
  }
}

Discurile DRBD au fost create cu următorul script pe toate casetele:

drbdadm create-md --force drbd0
drbdadm sus drbd0

Numai pe primar, a fost rulat și următoarele pentru a configura discul:

dd if=/dev/zero of=/dev/sdb1 bs=128M count=10
drbdadm primar --force drbd0

cryptsetup -q --keyfile /path/to/keyfile luksFormat /dev/drbd0
cryptsetup --key-file /path/to/keyfile luksOpen /dev/drbd0 luks-drbd

mkfs.ext4 /dev/mapper/luks-drbd

Configurarea stimulatorului cardiac

Resursele DRBD din stimulatorul cardiac au fost configurate cu următorul script. Resursa PCS nu s-a schimbat, deoarece a fost configurată inițial pentru a permite un viitor al treilea nod.

pcs resource create drbd0_data ocf:linbit:drbd drbd_resource=drbd0
pcs resource master drbd0_clone drbd0_data \
  master-max=1 master-node-max=1 clonă-max=3 clone-node-max=1 \
  notify=true
pcs resource create drbd0_luks ocf:vendor:luks \
  --group=drbd_resources
pcs resource create drbd0_fs ocf:heartbeat:Filesystem \
  device=/dev/mapper/luks-drbd directory=/mnt/data fstype=ext4 \
  --group=drbd_resources

pcs constraint order promovează drbd0_data apoi pornește drbd_resources
pcs constraint colocation add drbd_resources \
  cu drbd0_clone INFINTITY with-rsc-role=Maestru
pcs constrângere comanda drbd0_luks apoi drbd0_fs

(Cel drbd0_luks resursa este o resursă personalizată pe care o oferim, care în principiu rulează cryptsetup luksOpen|luksClose pe partiția LUKS după caz).

Starea stimulatorului cardiac arată următoarele:

Online: [ svr1 svr2 svr3 ]

Resurse active:

 Set master/slave: drbd0_clone [drbd0_data]
     Maeștri: [ svr1 ]
     Sclavi: [ svr2 svr3 ]
 Grup de resurse: drbd_resources
     drbd0_luks (ocf::vendor::luks): Svr1 început
     drbd0_fs (ocf::heartbeat::Filesystem): a pornit svr1

Încercări de conectare

Am încercat diverse iterații ale următorului proces:

[root@svr1]# drbdadm deconectați drbd0

[root@svr2]# drbdadm deconectați drbd0

[root@svr3]# drbdadm deconectează drbd0
[root@svr3]# drbdadm connect --discard-my-data drbd0

[root@svr1]# drbdadm connect drbd0
drbd0: Eroare: (162) Cerere de configurare nevalidă
Comanda „drbdsetup connect drbd0 3” s-a încheiat cu codul de ieșire 10

[root@svr2]# drbdadm connect drbd0
drbd0: Eroare: (162) Cerere de configurare nevalidă
Comanda „drbdsetup connect drbd0 3” s-a încheiat cu codul de ieșire 10

După aceasta, ieșirea de starea drbdadm este așa cum se arată în partea de sus a postării.Primesc aceeași eroare dacă încerc să rulez drbdadm ajusta drbd0 pe svr1 sau svr2.

Dacă încerc să fug drbdadm jos drbd0 in timp ce drbd0_luks resursa este activată, primesc următoarele:

[root@svr1]# drbdadm jos drbd0
drbd0: Schimbarea stării a eșuat: (-12) Dispozitivul este ținut deschis de cineva
informații suplimentare din nucleu:
/dev/drbd0 deschis de cryptsetup (pid 11777) la 2021-11-01 16:50:51
Comanda „drbdsetup down drbd0” sa încheiat cu codul de ieșire 11

Dacă am dezactivat drbd0_luks resursă, pot alerga drbdadm jos drbd0, cu exceptia regla comanda eșuează cu următoarele:

[root@svr1]# drbdadm ajustează drbd0
0: Eroare: (162) Cerere de configurare nevalidă
Comanda „drbdsetup attach 0 /dev/sdb1 /dev/sdb1 internal” s-a încheiat cu codul de ieșire 10

deci presupun că cel puțin am nevoie de atât de mult în funcțiune. În acest moment, mă apuc doar de paiele, dar nu sunt sigur la ce urmează următorul pai corect să ajung.

Matt Kereczman avatar
drapel nr
Ar trebui să vedeți mai multe informații în jurnale, dar instinctul meu spune că probabil nu aveți loc pentru metadatele suplimentare (al treilea nod).Când ați creat prima dată metadatele (pe 2 noduri), ați fi putut trece `create-md` steag-ul `--max-peers=3` pentru a rezerva niște sloturi de bitmap suplimentare. Cu volumul LUKS și FS deja create, extinderea metadatelor ar trebui să suprascrie sfârșitul FS. Vă rugăm să postați orice din jurnalele în timp ce rulați `drbdadm up` / `drbdadm down` și asta ar trebui să ofere mai multe informații.
drapel mx
Pe baza a ceea ce am văzut și împreună cu citirea (și în cele din urmă înțelegerea) acestui blog: https://www.neteye-blog.com/2020/04/adding-node-to-drbd-device-with-wrong- max-peers/ Cred că exact asta este situația în care ne aflăm. Din păcate, modul în care acestea au fost construite inițial nu pare posibil să extindem acea partiție de rezervă, așa că bănuiesc că vom avea o reconstrucție în viitor. ca varianta cea mai putin dureroasa.
Matt Kereczman avatar
drapel nr
De asemenea, puteți converti în metadate externe (presupunând că aveți un alt dispozitiv bloc mic pe care îl puteți utiliza pentru el), dar ar necesita `umount` și `down` pe dispozitivele DRBD.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.