Puncte:0

Oprirea DRBD ca să pot rula câteva teste cu un VM

drapel in

Avem două servere pe care le-am moștenit, ambele rulând DRBD și fiecare rulând apoi mașini virtuale KVM.

Mi-ar plăcea să opresc un VM care rulează pe server1 și să afișez doar 1 VM pe server2 pentru unele teste. Deși cu DRBD care își face treaba pe aceste servere și scriptul de pornire rupt (postat aici) pe care îl am de la server2, mă face nervos, deoarece nu vreau să opresc complet server1, doar un vm de pe el. Nu am creat sau configurat aceste mașini și am îndoieli că DRBD (despre care știu puține) a fost implementat pe deplin corect. Scriptul de oprire al serverului 1 este postat și scriptul de pornire al serverului 2 este postat aici la.

Dar înainte de toate astea, cred că vreau doar să știu cum să opresc în siguranță drbd să nu mai mute cu cele două servere pentru un timp. Astfel încât să pot monta un sistem de fișiere pe server2 și să afișez un VM pe care l-am oprit pe server1.

Scriptul de oprire a site-ului Server1:

echo poweroff -p acum
ecou
citește -rsp $'Apăsați orice tastă pentru a continua...\n' Tasta -n1

virsh shutdown irsc
backup pentru închidere virsh
utilizator de închidere virsh
depozitul de închidere virsh
firewall web de închidere virsh
wiki de închidere virsh
închidere virsh a-gateway
închidere virsh b-gateway
închidere virsh dhcp
 
# închide drbd
#drbd-stop
echo acum dezactivați manual drbd
echo umount /systems
echo drbdadm secundar toate
echo drbd-overview

De ce drbd-stop este comentat fără idee și de ce ecou lucruri pe care ar trebui să le facă? Nu am nici o idee. Dar bine, deci acesta este scenariul de oprire. Fișierele img ale Server1 pentru KVM trăiesc în /systems btw.

Așa că am ajuns la serverul 2. Prima problemă: folderul /systems nu are fișiere img în el, dar există o linie de montare în scriptul de pornire. Iată scriptul de pornire pentru server2: (Nu am idee ce face cu adevărat nodedev-detach pci.)

#!/bin/sh
# izola CPU-urile pentru VM-uri
#site-izolare

# copie de rezervă a rețelei 192
virsh nodedev-detach pci_0000_06_10_2
# 10.7
virsh nodedev-detach pci_0000_02_10_0
# 10.5
virsh nodedev-detach pci_0000_06_10_3
# 10.2
virsh nodedev-detach pci_0000_02_10_1

# a-gateway
# 192
virsh nodedev-detach pci_0000_06_10_0
# 10.5
virsh nodedev-detach pci_0000_06_10_1
# 10.7
virsh nodedev-detach pci_0000_02_10_4

# b-gateway
# 192
virsh nodedev-detach pci_0000_06_10_4
# 10.2
virsh nodedev-detach pci_0000_02_10_5

# dhcp
# 10.5
virsh nodedev-detach pci_0000_06_10_7
# 10.7
virsh nodedev-detach pci_0000_02_11_0
# 10.2
virsh nodedev-detach pci_0000_02_11_1

# dns2
# 192
virsh nodedev-detach pci_0000_06_11_0

# web-server
# 10.7
virsh nodedev-detach pci_0000_02_11_4

# web-firewall
# 192
virsh nodedev-detach pci_0000_06_10_6
# 10.7
virsh nodedev-detach pci_0000_02_12_4
# 10.2
virsh nodedev-detach pci_0000_02_11_5

# irsc
# 10.7
virsh nodedev-detach pci_0000_02_13_0
# BTTV
virsh nodedev-detach pci_0000_09_00_0

# firewall
# 10.25
virsh nodedev-detach pci_0000_02_12_1
# 10.5
virsh nodedev-detach pci_0000_06_11_1

# bro-server
# 192
virsh nodedev-detach pci_0000_06_11_2

echo start drbd
# porniți oglinda discului cu slave
service drbd start
somn 2

# acum setați drbd și sistemele de fișiere

# pentru toate imaginile VM, montați /systems
drbdadm sisteme primare
montați /dev/drbd/by-res/systems /systems

# pentru arc-gateway
drbdadm primar arc-gateway-data

# pentru backup
arhiva primară drbdadm
drbdadm primar amanda

# pentru computerul utilizatorului
# pentru computerul utilizatorului
utilizatorii primari drbdadm

# pentru computer server web
drbdadm server web primar

# pentru wiki
drbdadm primar svn

# pentru irsc. *** acesta este cel pe care vreau să-l aduc în discuție? trebuie să fac acest drbdadm primary irsc
drbdadm primar irsc

echo start vms
# porniți VM-urile
# servere fundamentale
virsh start dns2
virsh start dhcp
# durează mult timp pentru a porni serverele
virsh start devel1
virsh start xmail
# gateway-uri, sdss-gateway durează mult
virsh start sdss-gateway
virsh start arc-gateway
utilizatorul virsh start
# Servere APO
server web virsh start
virsh start backup
Depozitul virsh start
virsh start wiki
virsh start irsc

# în sfârșit web firewall, acum online pentru întreaga lume
virsh start web-firewall
drapel jm
Dok
Care este discul de rezervă pe care VM-ul irsc este configurat să îl folosească? Folosește un dispozitiv /dev/drbdX brut sau folosește un fișier imagine VM găzduit pe un sistem de fișiere?
drapel in
Pe discul respectiv, scriptul de pornire montează un folder: mount /dev/drbd/by-res/systems /systems care conține fișierele .img. Deci, dacă îl montez pe sistemul de rezervă, nu sunt sigur dacă drbd își va pierde mințile.
Puncte:1
drapel jm
Dok

După cum ați explicat într-un comentariu de mai sus. Toate volumele rădăcină ale VM-ului sunt stocate ca fișiere imagine în sistemul de fișiere montat la /sisteme. Pentru a transfera în siguranță acest lucru către sistemul peer, ar trebui să opriți accesul la acest sistem de fișiere (opriți toate VM-urile) și să îl demontați mai întâi. Acest lucru reunește toate mașinile virtuale și face ca acesta să fie necesar să transferați toate mașinile virtuale.

O opțiune, care este în general nu este sfatuit ar fi să deconectați nodurile DRBD și să provocați manual un creier divizat. În esență, ambele noduri ar fi primare în același timp și, astfel, ar provoca divergențe de date pe care va trebui să le rezolvați manual pentru a le reconecta. Aș verifica mai întâi că configurația DRBD nu include niciuna opțiuni de recuperare automată a creierului divizat. Procedura ar trebui să fie similară cu cea de mai jos. Aveți grijă aici, în special cu --arunca-mi-datele comanda. Rularea acestora de la nodul greșit ar putea fi dezastruoasă.

## Din nodul secundar
# drbdadm sisteme de deconectare
# drbdadm sisteme primare
## Verificați că irsc este oprit pe peer
# virsh start irsc
## Faceți orice testare aveți nevoie
# virsh stop irsc
# drbdadm sisteme secundare
# drbdacm connect systems --discard-my-data
drapel in
Deci asta: montează /dev/drbd/by-res/systems /systems este o resursă partajată între noduri? Prin urmare, nu pot să-l montez pe ambele noduri și să închid intenționat DRBD-ul pe ambele noduri (practic divorțându-le de DRBD). Îți înțeleg comenzile în general și îmi dau seama cât de dezastruos poate fi să faci aceste lucruri cu DRBD. Nefiind un adevărat administrator de sistem și cineva care a moștenit acest sistem, sistemul drbd în ansamblu mă face nervos cât se poate de nervos.
drapel jm
Dok
DRBD, în majoritatea cazurilor, replică datele între gazdă în stocarea lor locală respectivă. Deci, nu este „partajat” în sensul clasic, ci ambele noduri au copii identice la nivel de bloc ale datelor. Se pare că ai eliminat DRBD pentru moment. Bănuiesc că tocmai accesezi stocarea de rezervă direct acum. Doar știți că, dacă vreți vreodată să „reactivați” DRBD, va trebui să faceți o sincronizare completă, deoarece acum ați modificat datele de bază fără ca DRBD să fie conștient de acest lucru.

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.