Syncing a fork with git/github

  • Configure a remote
    git remove -v
    # git remote add <name> <url>
    git remote add upstream https://github.com/foo/bar.git
    git remove -v
  • Pull “upstream”
    # git fetch <name>
    git fetch upstream
  • Checkout the master
    git checkout master
  • Merge “upstream” master to local master
    # git merge <name>/<branch>
    git merge upstream/master
  • (optional) Delete old branch
    # git push origin :<branch>
    git push origin :foobar
    git branch -d foobar

Refs https://help.github.com/articles/

Grub VGA Mode

You would like to know what Grub VGA Mode you can use ? Default is something like that

Color depth      | 640x480  800x600  1024x768 1280x1024
-----------------+-------------------------------------
256        (8bit)|  769      771       773      775
32000     (15bit)|  784      787       790      793
65000     (16bit)|  785      788       791      794
16.7 Mill.(24bit)|  786      789       792      795

but with hwinfo --framebuffer you get an output like this

stina:/home/rmichel# hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer
  [Created at bios.450]
  Unique ID: rdCR.VSBbdW2x3qC
  Hardware Class: framebuffer
  Model: "NVIDIA G86 Board - NV_NB8M "
  Vendor: "NVIDIA Corporation"
  Device: "G86 Board - NV_NB8M "
  SubVendor: "NVIDIA"
  SubDevice:
  Revision: "Chip Rev"
  Memory Size: 14 MB
  Memory Range: 0xd1000000-0xd1dfffff (rw)
  Mode 0x0300: 640x400 (+640), 8 bits
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+800), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x030e: 320x200 (+640), 16 bits
  Mode 0x030f: 320x200 (+1280), 24 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+3200), 24 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+5120), 24 bits
  Mode 0x0330: 320x200 (+320), 8 bits
  Mode 0x0331: 320x400 (+320), 8 bits
  Mode 0x0332: 320x400 (+640), 16 bits
  Mode 0x0333: 320x400 (+1280), 24 bits
  Mode 0x0334: 320x240 (+320), 8 bits
  Mode 0x0335: 320x240 (+640), 16 bits
  Mode 0x0336: 320x240 (+1280), 24 bits
  Mode 0x033d: 640x400 (+1280), 16 bits
  Mode 0x033e: 640x400 (+2560), 24 bits
  Mode 0x0345: 1600x1200 (+1600), 8 bits
  Mode 0x0346: 1600x1200 (+3200), 16 bits
  Mode 0x0347: 1400x1050 (+1400), 8 bits
  Mode 0x0348: 1400x1050 (+2800), 16 bits
  Mode 0x0349: 1400x1050 (+5600), 24 bits
  Mode 0x034a: 1600x1200 (+6400), 24 bits
  Mode 0x0352: 2048x1536 (+8192), 24 bits
  Mode 0x0360: 1280x800 (+1280), 8 bits
  Mode 0x0361: 1280x800 (+5120), 24 bits
  Mode 0x0362: 768x480 (+768), 8 bits
  Mode 0x0364: 1440x900 (+1440), 8 bits
  Mode 0x0365: 1440x900 (+5760), 24 bits
  Mode 0x0368: 1680x1050 (+1680), 8 bits
  Mode 0x0369: 1680x1050 (+6720), 24 bits
  Mode 0x037c: 1920x1200 (+1920), 8 bits
  Mode 0x037d: 1920x1200 (+7680), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

My notebook has native 1680×1050 so i can use vga=0x369 to boot up with 1680×1050 ­čÖé

freeRADIUS & DD-WRT mit WPA2 und Windows XP – Teil 2

So nach dem wir nun dem freeRADIUS EAP & TLS u.s.w beigebracht haben, k├Ânnen wir nun den Router konfigurieren. In meinem Fall ist das das Linksys WRT54GL mit DD-WRT v24.

Einstellungen f├╝r DD-WRT
Einstellungen f├╝r DD-WRT

Als erstes Loggen wir uns auf dem Router ein. Klicken dann auf Wireless und dann auf Wireless Security. Dort w├Ąhlen wir WPA2 Enterprise aus. Nun m├╝ssen wir unseren Server eintragen, wo wir gerade freeRADIUS installiert haben. Desweiteren brauchen wir das RADIUS Shared Secret. Hier denken wir uns ein Passwort aus. Diese m├╝ssen wir sp├Ąter in die Konfiguration des freeRADIUS Servers eintragen. Port und Key Renewal Interval k├Ânnen wir so belassen. Fertig – der Router fragt nun immer den Radius-Server wenn sich ein Client anmelden m├Âchte. Teilweise muss man den WPA Algorithms auf TKIP umstellen. Zum Anfang k├Ânnen wir es auch machen und stellen es sp├Ąter dann wieder AES um. TKIP unterst├╝tzen eigentlich alle WLAN-Karten, und somit haben wir f├╝r den Anfang schon ein Fehlerpunkt ausger├Ąumt.

Wenn jemand schon ein CA hat, sollte jetzt f├╝r den User und den Server Zertifikate ausstellen. Sollte noch keine CA ( Certificate Authority ) vorhanden sein, erstellen wir uns nun ein. Wir wechseln in der Verzeichnis /usr/lib/ssl/misc und dort passen wir den Eintrag CATOP=./devnu11CA entsprechend unseren Vorstellungen an. Wenn wir fertig sind, reicht ein Aufruf von ./CA.sh -newca im Verzeichnis. Alle Fragen beantwortet ? Dann k├Ânnen wir mit

openssl req -new -nodes -keyout server.key.pem -out server.req.pem

den Request f├╝r das Zertifikat vom Server erstellen. Nur nur signieren und wir haben das Zertifikat f├╝r den Server.

openssl ca -out server.cert.pem -infiles ./server.req.pem

hier werden wir nun nach der Passphrase gefragt, die wir beim erstellen unserer CA eingetippt haben. Das gleich machen wir nun f├╝r den Client.

openssl req -new -nodes -keyout rmichel.key.pem -out rmichel.req.pem
openssl ca -out rmichel.cert.pem -infiles ./rmichel.req.pem

Das server.cert.pem und das cacert.pem kopieren wir nun nach /etc/freeradius/certs. Dort ├Ąndern wir den Besitzer mit

chown root:freerad *.pem

und ├Ąndern auch die Zugriffsrechte auf 440 mit

chmod 440 *.pem

Jetzt sind wir fast fertig. Nun m├╝ssen wir noch den freeRADIUS einrichten. Dazu nach /etc/freeradius/certs wechseln und

openssl dhparam -check -text -5 512 -out dh
dd if=/dev/urandom of=random count=2

ausf├╝hren. Beides dient der TLS Verschl├╝sselung. Danach editieren wir dann die /etc/freeradius/clients.conf und f├╝gen die folgenden Zeilen hinzu

client 192.168.26.254/24 {
secret = passwort
shortname = wrt54gl
nastype = other
}

Hier ist steht die IP Adresse des WLAN Accesspoints, das RADIUS Shared Secret was wir schon im Accesspoint eingetragen haben und noch ein Alias. Dann ├Âffnen wir die /etc/freeradius/eap.conf. Nun passen wir folgende EIntr├Ąge an

default_eap_type = tls
private_key_file = ${certdir}/server.key.pem
certificate_file = ${certdir}/server.cert.pem
CA_file = ${cadir}/cacert.pem

Damit sollte der RADIUS-Server fertig sein. Einfach mal mit freeradius -X testen ob der Server startet (Sollte er eigentlich ­čśë )

Nun m├╝ssen wir noch fix unser Client-Zertifikat in das PKCS12-Format umwandeln mit

openssl pkcs12 -nodes -export -in rmichel.cert.pem -inkey rmichel.key.pem -out rmichel.cert.p12 -clcerts

Das m├╝sst ihr zusammen mit dem cacert.pem auf einen USB-Stick kopieren oder gleich auf den Windows Rechner. Das war’s ! Wir sind mit dem RADIUS-Server fertig.

Nun sind wir auf dem Windows-Rechner, und starten ├╝ber Start->Ausf├╝hren->mmc die Microsoft-Mangment-Console, kurs mmc. Dort auf Datei->Snap-In hinzuf├╝gen und dann auf Hinzuf├╝gen…. Dann nach unten Scrollen und Zertifikate hinzuf├╝gen und Eigenes Benutzerkonto ausw├Ąhlen. Jetzt f├╝gen wir das cacert.pem mit Rechtsklick auf Vertrauensw├╝rdige Stammzertifizierungsstellen->Alle Aufgabe->Importieren ein. Das USERNAME.cert.pem ├╝ber Rechtsklick Eigene Zertifikate->Alle Aufgabe->Importieren und hier fragt Windows nach der Passpharse.

Lediglich das passende WLAN muss noch eingerichtet werden. Auf Start->Einstellungen->Netzwerkverbindungen->Drahtlose Netzwerkverbindung Rechtsklick und Verf├╝gbare drahtlose Netzwerke anzeigen. Im Infofenster Drahtlosnetzwerk f├╝r Heim- bzw. kleines Firmennetzwerk einrichten anklicken. Nun tragen Sie die SSID ein, und stellen WPA2 ein. Datenverschl├╝sselung TKIP und der EAP-Typ auf Smartcard oder anderes Zertifikat einstellen. Wenn alles geklappt hat sollten wir jetzt in der Ausgabe von freeRADIUS (welches wir ja mit freeradius -X gestarten haben) eine paar Meldungen sehen, und auf dem Windows-Client eine erfolgreich verbunden WLAN-Verbindung.

Done.

Bei Fragen einfach ein Kommentar hinterlassen. Ich werde versuchen zuhelfen ­čÖé

freeRADIUS & DD-WRT mit WPA2 und Windows XP – Teil 1

RADIUS steht f├╝r Remote Authentication Dial In User Service und ist ein Triple-A-System (Authentifizierung, Autorisierung und Accounting). Dieser kann in einem WLAN als zentraler Authentifizierungsserver dienen und genau dass will ich hier mal dokumentieren !

Da ich Zertifikate einsetzen wollte, musste ich erstmal den freeRADIUS unter Debian Etch/Lenny neubauen, weil dieser keine TLS/EAP/PEAP/TTLS Unterst├╝tzung hat (Lizenzproblem mit OpenSSL). Also kurz hier vorbeischauen und Links unter “Source package” auf┬á *.dsc, *.orig und *.diff klicken um den Quellcode runterzuladen. Diesen nach /usr/src kopieren und mit dpkg-source -x *.dsc entpacken. Mit ls -l pr├╝fen ob folgender Ordner existiert “freeradius-2.0.4+dfsg” (Stand 11.09.08)

Nun kann man mit einem Blick in debian/control sehen, welche Bedingungen erf├╝llt sein m├╝ssen (Build-Depends), damit wir das Paket neubauen k├Ânnen.

autotools-dev, debhelper (>= 6.0.7), libgdbm-dev, libiodbc2-dev, libkrb5-dev, libldap2-dev, libltdl3-dev, libmysqlclient15-dev | libmysqlclient-dev, libpam0g-dev, libpcap-dev, libperl-dev, libpq-dev, libsasl2-dev, libsnmp-dev, libtool, python-dev

Zu diesen Paketen kommt noch die libssl-dev, die wir jetzt gleich an das Zeilenende von Build-Depends mit anh├Ąngen. Die Zeile sollte dann wie folgt aussehen

Source: freeradius
Build-Depends: autotools-dev, debhelper (>= 6.0.7), libgdbm-dev, libiodbc2-dev, libkrb5-dev, libldap2-dev, libltdl3-dev, libmysqlclient15-dev | libmysqlclient-dev, libpam0g-dev, libpcap-dev, libperl-dev, libpq-dev, libsasl2-dev, libsnmp-dev, libtool, python-dev, libssl-dev
Section: net

Jetzt einfach ein
aptitude install autotools-dev debhelper libgdbm-dev libiodbc2-dev libkrb5-dev libldap2-dev libltdl3-dev libmysqlclient-dev libpam0g-dev libpcap-dev libperl-dev libpq-dev libsasl2-dev libsnmp-dev libtool python-dev libssl-dev

Wenn das fertig ist, k├Ânnen wir uns mit einem Editor die debian/rules ansehen. Hier alles von –without-rlm_eap-* zu –with-rlm_eap-* ├Ąndern au├čer –without-rlm_eap_tnc, dass bitte so lassen. Das gleiche auch mit –without-openssl und wahlweise noch mit –without-rlm_otp. Dann suchen wir noch in der rules den Anschnitt

for pkg in ${pkgs} ; do \
if dh_shlibdeps -p $$pkg -- -O 2>/dev/null | grep -q libssl; then \
echo "$$pkg links to openssl" ;\
exit 1 ;\
fi ;\
done

und entfernen diesen. Wenn ich/wir nichts vergessen haben dann in das freeradius Verzeichnis wechseln und dpkg-buildpackage -uc -us ausf├╝hren. Am Ende sollten wir in /usr/src unsere Pakete vorfinden. Hier meine Liste

root@build debian [0] # ll
insgesamt 2,2M
-rw-r--r-- 1 root root 201K 2008-09-09 10:11 freeradius-common_2.0.4+dfsg-7_all.deb
-rw-r--r-- 1 root root 927K 2008-09-09 10:11 freeradius-dbg_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 127K 2008-09-09 10:11 freeradius-dialupadmin_2.0.4+dfsg-7_all.deb
-rw-r--r-- 1 root root 17K 2008-09-09 10:11 freeradius-iodbc_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 18K 2008-09-09 10:11 freeradius-krb5_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 34K 2008-09-09 10:11 freeradius-ldap_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 25K 2008-09-09 10:11 freeradius-mysql_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 36K 2008-09-09 10:11 freeradius-postgresql_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 72K 2008-09-09 10:11 freeradius-utils_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 5,3K 2008-09-09 10:11 freeradius_2.0.4+dfsg-7.diff.gz
-rw-r--r-- 1 root root 1,3K 2008-09-09 10:11 freeradius_2.0.4+dfsg-7.dsc
-rw-r--r-- 1 root root 5,3K 2008-09-09 10:11 freeradius_2.0.4+dfsg-7_i386.changes
-rw-r--r-- 1 root root 503K 2008-09-09 10:11 freeradius_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 102K 2008-09-09 10:11 libfreeradius-dev_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 84K 2008-09-09 10:11 libfreeradius2_2.0.4+dfsg-7_i386.deb

Diese k├Ânnte etwas anderst aussehen, sollte aber bis auf die Versionsnummer vollst├Ąndig sein.

Für die Schreibfaulen: Hier die diff für die Änderungen. Runterladen, dann in das freeradius Verzeichnis wechseln und dann patch -p1 -i ../pfad/zur/diff ausführen.

Nun k├Ânnen wir unseren RADIUS Server mit

dpkg -i freeradius_2.0.4+dfsg-6_i386.deb freeradius-common_2.0.4+dfsg-6_all.deb freeradius-utils_2.0.4+dfsg-6_i386.deb libfreeradius2_2.0.4+dfsg-6_i386.deb

einfach installieren. Bei Fragen, Fehlern oder Anmerkungen einfach einen Kommentar da lassen.

Auf die Pakete kann auch via
deb ftp://zion.devnu11.net/ unstable main contrib non-free
zugegriffen werden.

Pound einrichten….

Wollen wir uns nun langsam mal der Pound Konfiguration widmen.

Hier ist ein sehr einfaches Beispiel. Die lokalen Webserver h├Âren auf dem Port 81 und Pound darf auf Port 80 h├Âren, wobei 192.168.1.3 die HA-IP Adresse wieder spiegelt.

## Minimal sample pound.cfg
##
## see pound(8) for details

######################################################################
## global options:

User    "www-data"
Group   "www-data"
#RootJail "/chroot/pound"

## Logging: (goes to syslog by default)
##  0 no logging
##  1 normal
##  2 extended
##  3 Apache-style (common log format)
LogLevel  1

## check backend every X secs:
Alive   5

## use hardware-accelleration card supported by openssl(1):
#SSLEngine  ""

######################################################################
## listen, redirect and ... to:

## redirect all requests on port 8080 ("ListenHTTP") to the local webserver (see "Service" below):
ListenHTTP
  Address 192.168.1.3
  Port  80

  ## allow PUT and DELETE also (by default only GET, POST and HEAD)?:
  xHTTP   0

  Service
    BackEnd
      Address 192.168.1.1
      Port  81
    End
    BackEnd
      Address 192.168.1.2
      Port  81
    End
  End
End

Installiert wird Pound einfach via aptitude pound und wieder dran denken das die pound.cfg auf beiden Servern gleich sein muss.

Bei unterschiedlich dimensionierten Servern k├Ânnen wir mir Priority im BackEnd, die Last unterschiedlich auf der Server verteilen.

Weitere gute Beispiel-Konfigurationen findet man in der Manpage von Pound (man pound) !

In der /etc/default/pound m├╝ssen wir noch den Wert f├╝r startup gleich 1 setzen, damit Pound ├╝berhaupt startet.

Hier mal meine Konfiguration

## Minimal sample pound.cfg
##
## see pound(8) for details

######################################################################
## global options:

User    "www-data"
Group   "www-data"
RootJail "/var/pound/chroot"

## Logging: (goes to syslog by default)
##  0 no logging
##  1 normal
##  2 extended
##  3 Apache-style (common log format)
LogLevel  1

## check backend every X secs:
Alive   5

## use hardware-accelleration card supported by openssl(1):
#SSLEngine  ""

######################################################################
## listen, redirect and ... to:

## redirect all requests on port 8080 ("ListenHTTP") to the local webserver (see "Service" below):
ListenHTTP
  Address 192.168.1.1
  Port  80

  ## allow PUT and DELETE also (by default only GET, POST and HEAD)?:
  xHTTP   0

  Service
    BackEnd
      Address 192.168.1.2
      Port  81
      Priority 6
    End
    BackEnd
      Address 192.168.1.3
      Port  81
      Priority 3
    End
    BackEnd
      Address 192.168.1.4
      Port  81
      Priority 3
    End
  End

  Service
    URL ".*.(jpg|gif|png)"
    BackEnd
      Address 192.168.1.5
      Port  81
    End
  End
End

Homepage von pound

Debian Lenny und SixXS – IPv6 Tunnel

Hier eine kleine Hilfe, f├╝r alle die Versuchen unter Debian einen IPv6 Tunnel zum laufen zubekommen.

Vorraussetzung ist, dass der Tunnel-Typ 6in4-static ist (Hier ist eure statische IP die Authentifizierung gegen├╝ber SixXS). Sollte er Tunnel-Typ AYIYA sein, m├╝sst ihr das Tool von SixXS benutzen, da ihr euch hier mit Username und Passwort authentifizieren m├╝sst.

Auszug aus der /etc/network/interface:

auto sixxs
iface sixxs inet6 v4tunnel
  address Local-IPv6-IP
  netmask Prefix (zB 64)
  endpoint POP-IPv4-IP
  local Local-IPv4-IP
  ttl 64
  up ip link set mtu 1280 dev sixxs
  up ip route add default via POP-IPv6-IP dev sixxs
  up ip -6 route flush dev eth0
  down ip -6 route flush dev sixxs

Der Befehl up ip -6 route flush dev eth0 hei├čt, dass f├╝r die Netzwerkschnittstelle eth0 die IPv6-Routen gel├Âscht werden.

Ich hatte das Problem, dass kein IPv6 Paket sein Ziel erreichte. Erst nachdem ich mir die Ausgabe von ip -6 route show anschaute, wurde klar warum. Die Defaultroute f├╝r IPv6 war ├╝ber eth0. Also fix gel├Âscht und siehe da, alle Pakete erreichen nun auch ihr Ziel.

– IPv6 Ready –

Verschl├╝sselte Partition mit Debian und luks

Eine verschl├╝sselte Partition einrichten

Vorraussetzung: Eine leere Partition

Die leere Partition formatieren wird als erstes.

cryptsetup luksFormat ÔÇôy /dev/hde1

Der Befehl fordert uns auf eine Passphrase einzugeben. Am besten verwenden wir hier nun Zahlen, Sonderzeichen, Klein- und Gro├čbuchstaben und was wir noch so auf der Tastatur finden.

Damit wir nun auch ein Dateisystem erzeugen k├Ânnen, m├╝ssen wir das verschl├╝sselte Device ├Âffnen. Hier wird auch gleich die neue Passphrase verlangt.

cryptsetup luksOpen /dev/hde1 hde1_crypt

Ich habe es mit ext3 formatiert.

mkfs.ext3 /dev/mapper/hde1_crypt

Die verschl├╝sselte Partition soll beim Starten gemountet werden. Wir m├╝ssen bedenken, dass die Passphrase beim Starten verlangt wird.

echo "hde1_crypt /dev/hde1 none luks" > /etc/crypttab

Erst jetzt kommen wir an unsere Daten, und k├Ânnen die Partion mounten.

echo "/dev/mapper/hde1_crypt /ein/datei/pfad rw 0 0" >> /etc/fstab

Wenn alles klappt, dann sollte beim n├Ąchsten Start nach einer Passphrase gefragt werden.

Continue reading Verschl├╝sselte Partition mit Debian und luks

HA mit Debian Lenny & drbd8, ocfs2, heartbeat, pound (http) und mysql

Vorrausetzung

  • 2 Server mit einer Lenny Grundinstallation ( Hier als Servernamen cnode1 und cnode2 )
  • Optional: 2 Netzwerkkarten je Server (f├╝r drbd)
  • eine leere Partion je Server
  • Vorausgesetzt es ist nicht anderst angegeben, alles auf beiden Nodes ausf├╝hren !

Konfiguration von drbd

Auf beiden Servern als root anmelden

aptitude install drbd8-utils drbd8-modules-2.6.24-1-686
echo "drbd" >> /etc/modules

Nun sichern wir die alte drbd-Konfigurationsdatei

mv /etc/drbd.conf /etc/drbd.conf.old

Jetzt erstellen wir eine neue Datei mit vim /etc/drbd.conf

global { usage-count yes; }
common { syncer { rate 10M; } }
resource ha {
protocol C;
startup { wfc-timeout 0; degr-wfc-timeout 120; }
disk { on-io-error detach; }
net {
cram-hmac-alg sha1;
allow-two-primaries; # Wichtig f├╝r Primary/Primary Setup
}
on cnode1 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.1.1:7788;
meta-disk internal;
}
on cnode2 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.1.2:7788;
meta-disk internal;
}
}

Speichern mit :wq

Wenn 2 Netzwerkkarten vorhanden sind, drbd lieber auf eine eigene Karte konfigurieren. Damit drbd mit der Partion etwas anfangen kann, m├╝ssen wir diese initialisieren.

drbdadm create-md ha

Nun k├Ânnen wir die beiden Partionen synchronisieren. (Den folgenden Befehl nur auf einer Node starten !)

drbdsetup /edv/drbd0 primary --overwrite-data-of-peer

Je nach dem wie gro├č die Partionen sind kann es nun etwas Zeit vergehen. Der Fortschritt kann ├╝berpr├╝ft werden mit

/etc/init.d/drbd status

In der Ausgabe sollte sich die unten stehende Zeile finden lassen, wenn beide drbd-Devices synchron sind.

0: cs:Connected st:Primary/Secondary ds:UpToDate/UpToDate C r---

Nun k├Ânnen wir die zweite Node auch zum ”Primary” machen

drbdsetup primary r0

Update (Danke keks)

Da es sehr st├Ârend ist, wenn wir die Server neustarten, immer per Hand die 2 Nodes als Primary zu definieren, f├╝gen wir noch zus├Ątzlich in den startup-Block

become-primary-on both;

ein. Die Zeile sollte dann wie folgt aussehen:

startup { wfc-timeout 0; degr-wfc-timeout: 120; become-primary-on both; }

Das bewirkt, dass beide w├Ąhrend des Bootvorgangs als Master definiert werden. Nun die Konfiguration auf beiden Nodes aktualisieren, dann

drbdadm adjust ha

und

drbdadm primary ha

(Befehle auf beiden Nodes ausf├╝hren!)

Wichtig: Um diese Funktion zunutzen, m├╝sst ihr DRBD aus den Quellen bauen, da die Funktion (laut drbd-Homepage) erst ab 8.2.0 implementiert ist.

Konfiguration von ocfs2

Jetzt installieren das ocfs2 Filesystem

aptitude install ocfs2-tools ocfs2console

Noch die Konfigurationsdatei erstellen

#/etc/ocfs2/cluster.conf

node:
ip_port = 7777
ip_address = 192.168.1.1
number = 0
name = cnode1
cluster = ocfs2

node:
ip_port = 7777
ip_address = 192.168.1.2
number = 1
name = cnode2
cluster = ocfs2

cluster:
node_count = 2
name = ocfs2

Nun sind wir fast fertig. Jetzt einmal

/etc/init.d/ocfs2 restart

und dann k├Ânnen wir das Filesystem erstellen mit

mkfs.ocfs2 /dev/drbd0

Damit wir mit dem Filesystem arbeiten k├Ânnen, m├╝ssen wir es initialisieren.

/etc/init.d/o2cb online ocfs2

bewirkt das der Cluster mit dem Namen ocfs2 geladen wird.

/etc/init.d/o2cd load
/etc/init.d/o2cd online ocfs2

Jetzt k├Ânnen wir es mit

mount /dev/drbd0 /srv

nutzen

Konfiguration vom HTTP Loadbalancer – pound

Hier ­čÖé

Konfiguration von heartbeat

Folgt !