Die Qual der Wahl
Urlaub ist die schönste Zeit des Jahres...sicher, aber im Trockenen !
Damit es trocken ist, muss/sollte dieses Jahr ein neues Zelt her. Hintergrund: Als wir vor zwei Jahren in Schweden mit dem Fahrrad unterwegs waren, hatten wir nicht gerade das beste Wetter. 2-3 Tage (fast) Dauerregen machen nicht mehr Spass wenn das Zelt (Hersteller NoName) undicht wird. Da ich dieses Jahr ein längere Tour plane, möchte ich mir keine Gedanken über das Zelt machen z.B. "Hält es heute dicht?" usw.
Der Vater meiner Freundin fand einen Tschechischen Hersteller Husky im Internet. Dessen Preis/Leistungsverhältnis ist für mich persönlich "Sehr Gut". Hier zum Beispiel das Husky Extreme Falcon.
- Snow Flaps
- Alugestänge
- 6000mm Wassersäule für das Außenzelt
- Außenzelt mit Ripstop
- 10000mm Wassersäule für den Boden
- Ablagenetz im oberen Teil des Zeltes
- 3,4 kg
Schade ist, dass es von der Extrem-Serie keine Tunnelzelte gibt. Husky führt zwar in der Outdoor-Serie 2 oder 3 Tunnelzelte, nur diese haben Fiberglasstangen. Deshalb die Suche nach weiteren Zelten in der Preisklasse 180 - 250 Euro. Warum Tunnelzelte ? Damit man bei Regen auch mal draußen geschützt "sitzen" oder Essen warm machen kann.
Da viele auf der Suche nach guten Zelten sind, habe ich meinen (technischen) Vergleich für Tunnelzelte in der Preisklasse 180 Euro bis 250 Euro mal hochgeladen.
Für mich kommen folgende Zelte in Frage:
Leider hat nur das Tatonka Grönland 2 eine Wassersäule von 8000mm für das Außenzelt. Dafür bietet das Tundra 2 mit 4000mm Wassersäule einen größeren Schlafplatz. Ist alles schon nicht so einfach.
Hier noch kurz die Vorlage für den Acrobat Reader (pdf) und Microsoft Excel (xls), falls jemand andere Zelttypen vergleichen möchte.
Wer jetzt einen deutschen Vertieb sucht für Husky Produkte schaut einfach mal auf Link vorbei.
Update: Das Jack Wolfskin Tundra 2 hat das Rennen gemacht !
Nagios3 @ Debian Etch
Nagios 3 (inkl. pnp) ist unter Debian Etch mit Hilfe der Pakete von svelt (http://people.teamix.net/~svelt/debian/etch/) sehr einfach geworden.
Nur wenn man versucht den Link "Disable notifications for this service" für einen Service zu aktivieren, bekommt man eine Fehlermeldung ala :
Error: Could not stat() command file '/var/lib/nagios3/rw/nagios.cmd'!
Lösung:
/etc/init.d/nagios3 stop dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3 /etc/init.d/nagios3 start
Jetzt sollte es gehen.
Kernel 2.6.25 @ Thinkpad R61
Seit 2 Tagen ist der 2.6.25 draußen. Hier die Kconfig für ein IBM/Lenovo Thinkpad R61.
root@sedna ~ [0] # cat /usr/src/linux-2.6.25/.config | grep -v ^# | grep -v ^$ | wc -l 504
Viel Spass damit
Legal Musik runterladen….
Beim hören des letzten Chaosradios heute, hatte ein Anrufer ein Internetportal für Musik genannt. Nach ein paar Minuten, fand ich das besagte Portal auch. Alle Werke dort stehen unter der Creative Commons.
Das Portal bietet Direktdownloads an, aber auch BitTorrent- und eMule-Links.
Wer ein wenig Zeit hat, sollte ruhig mal durchschauen was es dort alles im Angebot gibt. Persönlich hatte ich einfach mal nach schwedischer Musik (Yeah!) geschaut und auch gleich was gutes gefunden.
Tada! Die Gruppe Wire Moves aus Växjö in Schweden. Gar nicht mal so schlecht !
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.
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
Konfiguration von heartbeat
Folgt !
Serielle Konsole für Server (Grub)
Einführung
Wenn wir zwei Server irgendwo (z.B. Rechenzentrum) stehen haben und es die Möglichkeit besteht, dass man beide via Nullmodem-Kabel verbinden, kann man sie auch ohne SSH-Zugang warten (z.B. nach einem fehlgeschlagenen Kernelupdate). Leider nur immer in eine Richtung. Für beide Richtungen bräuchte man 2 Nullmodem-Kabel.
Konfiguration
Damit wir die Möglichkeit haben den Kernel auszuwählen, sollten wir Grub sagen, dass es seine Ausgabe an den seriellen Port weiterleitet.
Dazu fügen wir folgende Zeien in die /boot/grub/menu.lst hinzu.
serial --unit=0 --speed=57600 terminal --timeout=2 serial console
Erklärung:
--unit=0
heißt einfach das der Com1 bzw. ttyS0 genutzt wird. Der Parameter
--speed=57600
steht für die Übertragungsgeschwindingkeit. Standard ist 9600.
--timeout=2 serial console
bedeutet das man 2 Sekunden Zeit hat und das die primäre Ausgabe auf dem seriellen Port und die sekundäre auf der Console ist.
Jetzt wird die Ausgabe vom Grub an den seriellen Port umgeleitet. Damit wir aber auch einen Login an der seriellen Konsole bekommen, müssen wir die /etc/inittab noch bearbeiten.
Wir suchen diesen Teil
# Example how to put a getty on a serial line (for a terminal) # #T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 #T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
und entfernen das # vor der Zeile mit T0 und ändern die Zahl 9600 wieder auf 57600.
Die Zeile
T0:23:respawn:/sbin/getty -L ttyS0 57600 vt100
heißt dann nichts anderes als das nach dem Starten ein Login auf ttyS0 in/mit der Geschwindigkeit von 57600 Kbit/s auf uns wartet.
Damit der Kernel seine Meldungen auf der seriellen Konsole aus gibt, geben wir dem Kernel noch zwei Parameter mit:
console=tty0 console=ttyS0,57600n8
Das sollte dann so in etwa aussehen:
title Debian GNU/Linux, kernel 2.6.18-6-686 (single-user mode) root (hd0,0) kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/hda1 ro vga=791 console=tty0 console=ttyS0,57600n8 initrd /boot/initrd.img-2.6.18-6-686 savedefault
Das heißt, dass die Kernelmeldung auf der console und der seriellen Konsole ausgegeben werden. Wenn alles fertig ist, neustarten. Mann kann jetzt zB via minicom auf dem anderen Server die Ausgabe von dem gerade eingerichteten Server sehen.
