DRBD: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „*Hochverfügbares NFS-System mit DRBD, Pacemaker und Corosync auf 2 Nodes *DRBD old Stuff“)
Markierung: Ersetzt
 
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
−
==Minimale Konfigurationsdatei==
+
*[[Hochverfügbares NFS-System mit DRBD, Pacemaker und Corosync auf 2 Nodes]]
−
<source lang="bash">
+
*[[DRBD old Stuff]]
−
global { usage-count yes; }
 
−
common {
 
−
        syncer { rate 100M; }
 
−
        protocol C;
 
−
}
 
−
resource data {
 
−
                device          /dev/drbd0;
 
−
                meta-disk      internal;
 
−
        on cp1 {
 
−
                disk            /dev/sdb;
 
−
                address        10.0.0.1:7788;
 
−
        }
 
−
        on cp2 {
 
−
                disk            /dev/sdb;
 
−
                address        10.0.0.2:7788;
 
−
        }
 
−
}
 
−
</source>
 
−
 
 
−
<!---
 
−
<source lang="bash">
 
−
global {
 
−
    usage-count yes;
 
−
}
 
−
common {
 
−
        syncer {
 
−
                rate 10M;
 
−
        }
 
−
        protocol C;
 
−
        handlers {
 
−
                pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
 
−
                pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
 
−
                local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
 
−
                outdate-peer "/usr/sbin/drbd-peer-outdater";
 
−
        }
 
−
        startup {
 
−
        }
 
−
        disk {
 
−
                on-io-error  detach;
 
−
        }
 
−
        net {
 
−
                after-sb-0pri disconnect;
 
−
                after-sb-1pri disconnect;
 
−
                after-sb-2pri disconnect;
 
−
                rr-conflict disconnect;
 
−
        }
 
−
}
 
−
resource data {
 
−
                device          /dev/drbd0;
 
−
                meta-disk      internal;
 
−
        on emi {
 
−
                disk            /dev/sdd;
 
−
                address        10.0.0.1:7788;
 
−
        }
 
−
        on lilly {
 
−
                disk            /dev/sdb;
 
−
                address        10.0.0.2:7788;
 
−
        }
 
−
}
 
−
</source>
 
−
 
 
−
#/etc/drbd.conf
 
−
global {
 
−
    usage-count yes;
 
−
}
 
−
common {
 
−
  syncer { rate 10M; }
 
−
}
 
−
resource data {
 
−
  protocol C;
 
−
  handlers {
 
−
    pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
 
−
    pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
 
−
    local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
 
−
    outdate-peer "/usr/sbin/drbd-peer-outdater";
 
−
  }
 
−
  startup {
 
−
  }
 
−
  disk {
 
−
    on-io-error  detach;
 
−
  }
 
−
  net {
 
−
    allow-two-primaries;
 
−
    after-sb-0pri disconnect;
 
−
    after-sb-1pri disconnect;
 
−
    after-sb-2pri disconnect;
 
−
    rr-conflict disconnect;
 
−
  }
 
−
  syncer {
 
−
    rate 10M;
 
−
    al-extents 257;
 
−
  }
 
−
  on thorin {
 
−
    device    /dev/drbd0;
 
−
    disk      /dev/sda3;
 
−
    address    172.18.241.29:7788;
 
−
    meta-disk  /dev/sda5 [0];
 
−
  }
 
−
  on thrain {
 
−
    device    /dev/drbd0;
 
−
    disk      /dev/sda3;
 
−
    address    172.18.241.30:7788;
 
−
    meta-disk /dev/sda5 [0];
 
−
  }
 
−
}
 
−
--->
 
−
konfigurationsdatei auf andere node kopieren
 
−
root@thorin:~# scp /etc/drbd.conf thrain:/etc
 
−
 
 
−
auf beiden seiten md kreieren
 
−
root@thorin:~# drbdadm create-md  data
 
−
root@thrain:~# drbdadm create-md  data
 
−
 
 
−
partitionen aktivieren
 
−
root@thorin:~# drbdadm up  data
 
−
root@thrain:~# drbdadm up  data
 
−
 
 
−
eine seite auf master setzen.
 
−
root@thorin:~# drbdsetup /dev/drbd0 primary --o
 
−
 
 
−
formatieren.
 
−
root@thorin:~# mkfs.ext3 /dev/drbd0
 
−
 
 
−
==Split Brain recovery manuell==
 
−
 
 
−
Auf dem Secondary Node folgendes ausführen:
 
−
drbdadm secondary data
 
−
drbdadm disconnect data
 
−
drbdadm -- --discard-my-data connect data
 
−
 
 
−
und auf dem Primary Node:
 
−
drbdadm connect data
 
−
 
 
−
Das System stellt sich dann von selbst wieder her, wenn keine anderen Probleme vorliegen.
 
−
 
 
−
==Zustand checken==
 
−
root@reliant:~# drbd-overview
 
−
  0:galactica-services  SyncTarget Primary/Primary Inconsistent/UpToDate C r----
 
−
[====>...............] sync'ed: 25.7% (38072/51196)M
 
−
  1:orion              Connected  Primary/Primary UpToDate/UpToDate    C r----
 
−
==Hozhammermethode==
 
−
drbdadm -- --overwrite-data-of-peer primary data
 
−
=Nützliche Kommandos für drbdadm=
 
−
Der Befehl drbdadm ist vergleichbar mit mdadm bei Softraids. Er kann mit verschiedenen Parametern dazu benutzt werden, DRBD-Devices wie oben bereits gezeigt zu erstellen, aber auch zu ändern, zu (de-)aktivieren oder zu löschen.
 
−
==Volle Neusynchronisation==
 
−
von /dev/drbd0 mittels der DRBD-Ressource 'home-data' (Status in /proc/drbd)
 
−
drbdadm attach home-data
 
−
 
 
−
==Trennen der Verbindung von Laufwerk und DRBD-Ressource:==
 
−
drbdadm detach home-data
 
−
==Verbinden des DRBD-Treibers mit dem anderen Node:==
 
−
drbdadm connect home-data
 
−
==Bestehende DRBD-Verbindung zum anderen Node trennen:==
 
−
drbdadm disconnect home-data
 
−
==Masterrolle agbgeben:==
 
−
drbdadm secondary home-data
 
−
==Masterrolle übernehmen:==
 
−
drbdadm primary home-data
 
−
==Übernahme von Änderungen an /etc/drbd.conf:==
 
−
drbdadm adjust home-data
 
−
==Statusabfrage der Verbindung:==
 
−
drbdadm role home-data
 

Aktuelle Version vom 8. September 2024, 16:25 Uhr