Aug 26 2010

ext2/3: fuer root reservierte Bloecke freigeben

Bei ueblichen Distributionen wie Debian oder Ubuntu wird bei dem formatieren einer Festplatte mit ext2 oder ext3 immer ein Bereich von ~5% fuer root reserviert. Dieses fuehrt dazu, dass die Festplatten einen kleineren Bereich zur Verfuegung haben, als sie eigentlich Besitzen. Gerade bei grossen Festplatten oder entsprechenden RAIDs koennen die 5% ganz schoen viel werden.

Wieviel Speicher reserviert ist kann man mit dem Tool tune2fs herausfinden. Der Befehl:

tune2fs -l /dev/mydevice

gibt mir u.a. die Werte “Reserved block count” und “Block size” aus. Multipliziert man nun diese beiden Zahlen bekommt man heraus, wieviele Bytes benutzt sind.

Den Speicher freigeben kann man ebenfalls mit dem Programm tune2fs:

tune2fs -m 0 /dev/mydevice

Den Unterschied kann man z.B mit dem Tool df angucken, wenn man es vorher und nachher aufruft. Interessant ist nicht der “Size” sondern der “Avail” Wert.


Mai 11 2010

Hetzner EQ-Server + KVM && bridge

Vorneweg: Es ist ein Krampf bis ich es rausgefunden hatte…

Eine Bridge einrichten, dafuer:

aptitude install bridge-utils

und anschliessend die /etc/network/interfaces entsprechend anpassen:

### Hetzner Online AG - installimage
# Loopback device:
auto lo
iface lo inet loopback
 
# device: eth0
auto  eth0
iface eth0 inet manual
 
# bridge: br0
auto br0
iface br0 inet static
	address		188.XX.XX.142
	broadcast	188.XX.XX.191
	netmask		255.255.255.192
	gateway		188.XX.XX.129
 
	bridge_ports	eth0
	bridge_stp	off
	bridge_maxwait	5
 
	up		route add -host 188.XX.XX.160 gw 188.XX.XX.160
	up		route add -host 188.XX.XX.161 gw 188.XX.XX.161
	up		route add -host 188.XX.XX.162 gw 188.XX.XX.162

Dabei darauf auf die klassischen Fehler achten:

  1. echo 1 >> /proc/sys/net/ipv4/ip_forward
  2. iptables -P FORWARD ACCEPT

Bei der Konfiguration der virtuellen Maschinen dann das Netzwerk ueber die bridge (br0) konfigurieren. Nachtraeglich kann man das sonst auch noch in der entsprechenden /etc/libvirt/quemu/MASCHINENNAME.xml anpassen:

    <interface type='bridge'>
      <mac address='54:52:00:3f:35:9d'/>
      <source bridge='br0'/>
    </interface>

In der Maschine selber ist es dann nur noch wichtig, die IP des Hauptsystems als Gateway einzutragen, ein Beispiel fuer die /etc/network/interfaces eines Gastes waere:

auto lo
iface lo inet loopback
 
# The primary network interface
auto eth0
iface eth0 inet static
	address		188.XX.XX.162
	broadcast	188.XX.XX.191
	netmask		255.255.255.192
	gateway		188.XX.XX.142

Die Informationen hier habe ich aus dem Blogeintrag: “Hetzner: EQ-Serie mit zusaetzlichen IP-Adressen (HowTo)” und den bridge-krams aus meinem Kopf…


Mrz 31 2010

LDAP – logging, loglevel, seperate logfile, logrotate

Das loglevel wird in der /etc/ldap/slapd.conf mit dem Eintrag

 loglevel INTEGER

festgelegt. Moegliche Werte sind (man slapd.conf)

  • 1 (0×1 trace) trace function calls
  • 2 (0×2 packets) debug packet handling
  • 4 (0×4 args) heavy trace debugging (function args)
  • 8 (0×8 conns) connection management
  • 16 (0×10 BER) print out packets sent and received
  • 32 (0×20 filter) search filter processing
  • 64 (0×40 config) configuration file processing
  • 128 (0×80 ACL) access control list processing
  • 256 (0×100 stats) connections, LDAP operations, results (recommended)
  • 512 (0×200 stats2) stats log entries sent
  • 1024 (0×400 shell) print communication with shell backends
  • 2048 (0×800 parse) entry parsing
  • 16384 (0×4000 sync) LDAPSync replication
  • 32768 (0×8000 none) only messages that get logged whatever log level is set

Diese Zahlen sind auch beliebig kombinierbar. Moechte man z.B. das loglevel 128 und 32 kombiniert haben, traegt man loglevel 160 ein.

Der LDAP logt normalerweise nach /var/log/syslog. Moechte man eine eigene Logfile haben, z.B. /var/log/slapd.log, dann die folgende Zeile in /etc/syslog.conf bzw. /etc/rsyslog.conf hinzufuegen:

 local4.*		/var/log/sldap.log

Um die logfile in logrotate mit aufzunehmen die Datei /etc/logrotate.d/slapd anlegen und wie folgt fuettern:

/var/log/slapd.log
{
	rotate 7
	daily
	missingok
	notifempty
	delaycompress
	compress
	postrotate
		invoke-rc.d rsyslog reload &gt; /dev/null
	endscript
}

Nach entsprechenden Aenderungen natuerlich die jeweiligen Dienste (ldap, rsyslog) neustarten…


Feb 12 2010

Skript: Netzwerkinterface neustarten

Ich hatte eine Debian etch Maschine, virtualisiert mit KVM, bei der brach unter Last immer die Netzwerkverbindung zusammen. Reproduzierbar. Das Update auf Lenny brachte nix. Ich habe die Maschine gestern mit Lenny neu aufgesetzt und die Probleme existieren nicht mehr. Hier nun das Skript was ueberprueft ob eine Verbindung nach aussen moeglich ist und ggfs. das Interface neustartet, ich brauche es nicht mehr, aber bevor ich es loesche hier noch einmal dokumentiert:

#!/bin/bash
##
#  check if network is available and if not restart
#  the network interface
##
 
if ping -c 1 -w 1 -q www.google.de &>/dev/null; then
#  echo "Network is up, no further action required"
  echo ""&>/dev/null
else
  echo "Network is down, restarting the interface..."
  ifdown eth0 && ifup eth0
 fi