/dev/null the other side of life

29Apr/080

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.

Vergleich Zelte

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 !

23Apr/082

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.

19Apr/080

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 :)

17Apr/080

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.

http://www.jamendo.com

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 !

 

15Apr/080

Home Server

Ähm...was soll ich sagen....

Homer Server

Tagged as: , , No Comments
15Apr/080

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 -

10Apr/080

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.

9Apr/0810

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 !

8Apr/081

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.

Tagged as: , , , 1 Comment