Zumindest auf der deutschen Zarafaseite ist das relativ neu:
http://www.zarafaserver.de/inhalt/isv-partners
ClearCenter taucht inzwischen bei Zarafa als ISV-Partner auf
20.02.13Proxmox: Eigene Festplatte für virtuelle Maschine
17.02.13Mit folgendem Befehl auf der Proxmoxmaschine:
qm set VM-ID -scsiNUMBER DEVICE
kann man einer virtuellen Maschine eine Festplatte direkt zuordnen. Also beispielsweise:
qm set 100 -scsi2 /dev/sdb
Stellt der Maschine mit der ID 100 das Laufwerk /dev/sdb als scsi-Festplatte mit der id2 zur Verfügung.
Die virtuelle Maschine muss dann neu gestartet werden.
Neue ClearOS-Appliance im Vergleich zur QNAP TS-219P II
11.02.13Auf meiner Firmenhomepage gibt es seit paar Tagen diesen besonders kompakten Server mit bis zu 4 Wechselfestplatten(2,5”) zu kaufen:
Mit 2 Festplatten je 500GB kostet er 390,00€. Ich möchte hier mal einen kleinen Vergleich zu einer QNAP anstellen. Auch eine NAS von QNAP eignet sich hervorragend als gemeinsamer Dateispeicher in kleinen Firmen, der Vorteil ist das die Hardware sehr genau auf die Funktionalität angepasst ist, mit einem Standardserver hat man mehr Flexibilität.
Mein Hardwarepreis läge bei 220€ zzgl. UmsSt., was ich allerdings nicht anbiete da ich ja ClearOS immer vorinstalliere.
| Meine Appliance | QNAP TS-219P II | |
|---|---|---|
| Preis zzgl. UmsSt. | 220,00 € | 263,00 € (Amazon 11.2.2013) |
| Prozessor | AMD DualCore Zacate E350 2×1,6 GHz | 1 x Marvell 2 GHz |
| Hauptspeicher | 4 GB DDR3 | 512 MB DDR3 |
| Festplatten möglich | Bis 4x 2,5” | Bis 2x 2,5”oder 3,5” |
| Netzwerk | 2x GBit | 1xGBit |
| eSata | 1x | 2x |
Die Unterschiede sind nicht groß, aber mit einem ClearOS-System kann man einen echten Domaincontroller aufsetzen. Demnächst mit Samba4 sogar komplett mit Gruppenrichtlinien. Und Zarafa als Groupware ist auch dabei.
Nächste Woche werde ich das gleiche Gehäuse mit einem Core i5 zusammenstellen. Da kommt die QNAP dann nicht mehr ganz mit. Preislich wirds aber immer noch günstig sein.
Die Weboberfläche der QNAP ist natürlich genau für eine NAS ausgelegt und die Funktionen die Verfügbar sind kann man damit besonders komfortabel verwalten.
Ubuntu 12.04 Grub startet nicht mehr automatisch
6.02.13Bei unsauberem Neustart (Stromausfall) bekommt man das Auswahlmenü von Grub zu sehen, man muss allerdings Enter drücken sonst gehts nicht weiter.
Bei alleinstehenden Servern natürlich sehr ärgerlich.
Die Lösung fand ich hier:
http://monkeyadmin.blogspot.de/2011/12/after-power-failure-ubuntu-server-boots.html
Die Datei hat sich aber scheinbar geändert, so habs ich jetzt:
#if [ "\${recordfail}" = 1 ]; then
# set timeout=-1
#else
set timeout=${2}
#fi
EOF
Also das komplette if einfach auskommentiert.
Pacemaker auf Ubuntu:apache no listening sockets available
2.02.13Das hat mich ganz schon viel Zeit gekostet. Die Lösung war aber simple: Die Konfigurationsfile von apache heisst bei ubuntu apache2.conf und nicht httpd.conf. Auch wenn letztere im System evtl. (leer) vorhanden ist.
pacemaker auf ubuntu 12.04 Teil4 GUI
28.01.13Für ein bisschen mehr Komfort installieren wir die GUI für pacemaker.
Auf den Servern installiert man
root@node2:~# apt-get install pacemaker-mgmt |
In der Datei /etc/corosync/corosync.conf fügt man in der service-Sektion use_mgmtd: 1 ein:
service { # Load the Pacemaker Cluster Resource Manager name: pacemaker ver: 0 <strong>use_mgmtd: 1</strong> } |
Und dem Benutzer hacluster muss man noch ein passwort geben:
root@crmnode1:~# passwd hacluster
Geben Sie ein neues UNIX-Passwort ein:
Geben Sie das neue UNIX-Passwort erneut ein:
passwd: password updated successfully
Und corosync neu starten:
Auf einem Client mit X muss man jetzt nur noch den client installieren: <pre lang="BASH"> root@hp-625:~# apt-get install pacemaker-mgmt-client |
Und danach aufrufen. Abgefragt wird die IP-Adresse der Benutzername (hacluster) und das soeben vergebene Passwort.
pacemaker auf ubuntu 12.04 Teil3 DRBD
26.01.13Bevor wir hochverfügbare Dienste zur Verfügung stellen können benötigen wir erstmal einen Datenspeicher, der natürlich ähnlich hoch verfügbar sein sollte.
Wenn man ein hochverfügbares NAS hat so kann man dies als iSCSI-Laufwerk einbinden und für die Dienste als Storage verwenden. Ich möchte hier aber ein DRBD=Distributed Replicated Block Device verwenden.
Das ist eine Art RAID1 deren beiden Festplatten auf je einer Maschine sind und über das Netzwerk synchron gehalten werden.
Als erstes installiere ich hierfür dir drbd-utils:
apt-get install drbd8-utils |
und lade das modul, das im Kernel bereits beinhaltet ist:
modprobe drbd |
Und damit das Modul auch beim nächsten mal vorhanden ist und drbd auch gestartet wird:
echo 'drbd' >> /etc/modules update-rc.d drbd defaults |
Im Verzeichnis /etc/drbd.d/ befindet sich die Datei global_common.conf die ,wie der Name sagt die globale Konfiguration von DRBD enthält. Hier sollte man die evtl. die synchronisationsgeschwindigkeit in der Sektion syncer anpassen:
syncer { # rate after al-extents use-rle cpu-mask verify-alg csums-alg rate 100M; } |
Das M hinter der hundert steht für Megabyte, also fast ein GBit.
Für jedes DRBD-Device erstellt man eine weitere Datei, zum Beispiel r0.res.
root@pacemaker2:/etc/drbd.d# nano /etc/drbd.d/r0.res resource r0{ on pacemaker1 { ### Optionen für Master-Server ### # Name des bereitgestellten Blockdevices device /dev/drbd0; # dem DRBD zugrunde liegendes Laufwerk disk /dev/sdb; # Adresse und Port, über welche die Synchr. läuft address 192.168.178.191:7788; # Speicherort der Metadaten, hier im Laufwerk selbst meta-disk internal; } on pacemaker2 { ### Optionen für Master-Server ### # Name des bereitgestellten Blockdevices device /dev/drbd0; # dem DRBD zugrunde liegendes Laufwerk disk /dev/sdb; # Adresse und Port, über welche die Synchr. läuft address 192.168.178.192:7788; # Speicherort der Metadaten, hier im Laufwerk selbst meta-disk internal; } |
Mit dem Befehl drbdadm wird das Blockgerät jetzt initialisiert:
root@pacemaker2:/etc/drbd.d# drbdadm create-md r0 |
Alles was bisher gemacht wurde muss auch auf dem 2. Server erledigt werden bzw. muss die Datei /etc/drbd.d/r0.res kopiert werden. Die drbd-Konfigurationsdateien sind stets auf beiden Servern gleich. Der folgende Befehl muss ebenfalls auf beiden Servern ausgeführt werden, hier ist darauf zu achten den Befehl ungefähr gleichzeitig auszuführen da es ein Timeout gibt.
drbdadm up r0 |
Den status des drbd-Gerätes kann man mit
root@pacemaker2:/etc/drbd.d# cat /proc/drbd |
abrufen. Es wurde allerdings noch nicht festgelegt wer Master und wer Slave ist. Dies wird auf dem jetzigen Master mit
root@pacemaker1:/etc/drbd.d# drbdadm -- --overwrite-data-of-peer primary r0 |
erledigt.
Jetzt syncronisiert der drbd die Daten was man wieder mit
root@pacemaker2:/etc/drbd.d# cat /proc/drbd
sehen kann:
root@pacemaker1:/etc/drbd.d# cat /proc/drbd version: 8.3.13 (api:88/proto:86-96) srcversion: 697DE8B1973B1D8914F04DB 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r----- ns:1843328 nr:0 dw:0 dr:1843992 al:0 bm:112 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:3399356 [======>.............] sync'ed: 35.3% (3316/5116)Mfinish: 0:43:12 speed: 1,292 (1,280) K/sec |
man sieht hier also auch den Fortschritt der Syncronisation.
Das wars eigentlich schon. Ist die Synchronisation abgeschlossen hat man ein Blockgerät das man nur noch formatieren muss und dann mounten kann:
mkfs.ext3 /dev/drbd0 |
pacemaker auf ubuntu 12.04 Teil2
23.01.13Fortsetzung von
Ich habe bisher meine beiden Rechner auf den ip-adressen 192.168.178.191 und …192 am laufen. Mit folgendem Befehl lege ich eine weitere Netzwerkschnittstelle im Cluster an:
crm(live)configure# primitive p_ip1 ocf:heartbeat:IPaddr2 params ip=192.168.178.193 cidr_netmask=24 crm(live)configure# commit |
Diese Adresse verweist immer auf den aktiven node:
root@pacemaker1:~# crm_mon ============ Last updated: Tue Jan 22 15:37:27 2013 Last change: Tue Jan 22 15:36:33 2013 via cibadmin on pacemaker1 Stack: openais Current DC: pacemaker2 - partition with quorum Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff 2 Nodes configured, 2 expected votes 1 Resources configured. ============ Online: [ pacemaker1 pacemaker2 ] p_ip1 (ocf::heartbeat:IPaddr2): Started pacemaker1 |
Alle Adressen lassen sich anpingen, bei 191 und 193 antwortet pacemaker1, bei 192 pacemaker2.
Wenn ich jetzt aber pacemaker herunterfahre:
root@pacemaker1:~# poweroff |
Sieht man sofort das pacemaker2 active wird:
root@pacemaker2:~# crm_mon ============ Last updated: Tue Jan 22 15:42:37 2013 Last change: Tue Jan 22 15:36:33 2013 via cibadmin on pacemaker1 Stack: openais Current DC: pacemaker2 - partition WITHOUT quorum Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff 2 Nodes configured, 2 expected votes 1 Resources configured. ============ Online: [ pacemaker2 ] OFFLINE: [ pacemaker1 ] p_ip1 (ocf::heartbeat:IPaddr2): Started pacemaker2 |
Ein ping auf 191 wird nicht mehr erwidert, bei 192 antwortet wie gehabt pacemaker2 aber auch die 193 laesst sich pingen, hier antwortet jetzt also pacemaker2. Der pingservice ist, wenn man so will, schonmal hochverfügbar.
PACEMAKER auf ubuntu 12.04 installieren
22.01.13Auf einem jungfräulichen System erstmal pacemaker installieren:
root@pacemaker1:~# apt-get install pacemaker Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Statusinformationen werden eingelesen... Fertig Die folgenden zusätzlichen Pakete werden installiert: cluster-glue corosync libccs3 libcfg4 libcib1 libcman3 libconfdb4 libcoroipcc4 libcoroipcs4 libcpg4 libcrmcluster1 libcrmcommon2 libesmtp6 libevs4 libfence4 liblogsys4 liblrm2 libltdl7 libnet1 libnspr4 libnss3 libopenhpi2 libopenipmi0 libpe-rules2 libpe-status3 libpengine3 libperl5.14 libpils2 libpload4 libplumb2 libplumbgpl2 libquorum4 libsam4 libsensors4 libsnmp-base libsnmp15 libstonith1 libstonithd1 libtotem-pg4 libtransitioner1 libvotequorum4 libxslt1.1 openhpid resource-agents Vorgeschlagene Pakete: lm-sensors snmp-mibs-downloader Die folgenden NEUEN Pakete werden installiert: cluster-glue corosync libccs3 libcfg4 libcib1 libcman3 libconfdb4 libcoroipcc4 libcoroipcs4 libcpg4 libcrmcluster1 libcrmcommon2 libesmtp6 libevs4 libfence4 liblogsys4 liblrm2 libltdl7 libnet1 libnspr4 libnss3 libopenhpi2 libopenipmi0 libpe-rules2 libpe-status3 libpengine3 libperl5.14 libpils2 libpload4 libplumb2 libplumbgpl2 libquorum4 libsam4 libsensors4 libsnmp-base libsnmp15 libstonith1 libstonithd1 libtotem-pg4 libtransitioner1 libvotequorum4 libxslt1.1 openhpid pacemaker resource-agents 0 aktualisiert, 45 neu installiert, 0 zu entfernen und 2 nicht aktualisiert. Es müssen 6.776 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 22,7 MB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren [J/n]? J |
Man sieht das corosync gleich mitinstalliert wird, das macht auch Sinn: Pacemaker kann man garnicht selbstständig starten, er wird von corosync oder alternativ heartbeat gestartet.
Wir sind aber mit corosync einverstanden. In der Konfigurationsdatei muss man nur die bindnetaddr auf die Netzwerkadresse ändern. Wenn die beiden Rechner in einem typischen Fritzbox-Netwerk stehen wäre die Adresse also 192.168.178.0:
root@pacemaker1:/etc/corosync# nano /etc/corosync/corosync.conf interface { # The following values need to be set based on your environment ringnumber: 0 bindnetaddr: 192.168.178.0 mcastaddr: 226.94.1.1 mcastport: 5405 } |
Dann muss noch ein Key erzeugt werden:
root@pacemaker1:/etc/corosync# corosync-keygen Corosync Cluster Engine Authentication key generator. Gathering 1024 bits for key from /dev/random. Press keys on your keyboard to generate entropy. Writing corosync key to /etc/corosync/authkey. |
Wenn man per ssh eingeloggt ist bringt es übrigens nichts wie wild auf der Tastatur herumzudrücken, man muss es am Server direkt machen. Alternativ kann man durch eine erhöhte I/O-Last dem Zufall auf die Sprünge helfen. Beispielweise mit "find /" auf einer weiteren Konsole. Auch der Parameter -l für lesser security kann helfen. Erklärung auch hier:http://www.mynakedgirlfriend.de/corosync-keygen-ohne-tastendruck-nutzen/
Und damit corosync automatisch startet wird die Datei /etc/default/corosync bearbeitet und START auf yes gesetzt.
root@pacemaker1:/etc/corosync# nano /etc/default/corosync # start corosync at boot [yes|no] START=yes |
Auf dem 2. Rechner wird praktisch alles gleich installiert, er bekommt allerdings einen anderen Hostnamen, und eine andere IP-Adresse (im gleichen Netzwerk). Die Datei /etc/corosync/authkey wird vom ersten Rechner kopiert. Auch die corosync.conf sieht auf beiden Rechnern exakt gleich aus.
Mit dem tool crm_mon kann man jetzt auf beiden Rechnern sehen das sie voneinander wissen:
root@pacemaker1:~# crm_mon ============ Last updated: Tue Jan 22 15:17:45 2013 Last change: Tue Jan 22 14:12:23 2013 via cibadmin on pacemaker2 Stack: openais Current DC: pacemaker2 - partition with quorum Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff 2 Nodes configured, 2 expected votes 0 Resources configured. ============ Online: [ pacemaker1 pacemaker2 ] |
Jetzt geht es an die Heartbeat-Konsole, sie wird mit crm aufgerufen und ist sehr komfortabel: Mit help bekommt man verfügbare Befehle und auch Autovervollständigung mit TAB ist verfügbar.
root@pacemaker2:~# crm crm(live)# help This is the CRM command line interface program. Available commands: cib manage shadow CIBs resource resources management configure CRM cluster configuration node nodes management options user preferences ra resource agents information center status show cluster status quit,bye,exit exit the program help show help end,cd,up go back one level |
Mit configure wechseln wir in die Konfiguration und setzen gleich mal 2 Werte:
crm(live)# configure crm(live)configure# property no-quorum-policy="ignore" crm(live)configure# property stonith-enabled="false" crm(live)configure# commit |
Die quorum-policy soll ignoriert werden weil wir erstmal nur 2 Rechner haben. Mit dieser policy legt man fest wieviele Rechner mindestens vorhanden sein müssen, sonst werden die Dienste heruntergefahren. Bei 2 Rechnern macht das keinen Sinn. Und auch um STONITH(= Shoot the other node in the head) lassen wir vorerst abgeschaltet.
Das commit aktiviert die soeben angegebenen properties.
Heartbeat läuft jetzt theoretisch, bringt uns aber noch nicht viel. Mehr dazu im Teil 2.
Proxmox internes Netzwerk erstellen
14.01.13Unter Umständen möchte man ein komplett eigenes Netzwerk in proxmox erstellen. Zum Beispiel um Testmaschinen hinter einen virtuellen Router zu stellen.
Dazu erstell man unter dem Reiter Netzwerk-> Erstellen eine neue Bridge vmbr1, vergibt eine IP-Adresse und Netmask -fertig.
Alle virtuelle Maschinen die jetzt eine Netzwerkkarte auf vmb1 spendiert bekommen können sich untereinander in diesem Netzwerk sehen. Dann kann man einen virtuellen Router erstellen der an vmbr0 und vmbr1 hängt. Ideal für routertests.
Quelle:http://forum.proxmox.com/threads/7747-Enable-2nd-NIC-with-another-subnet
