qmailadmin maildrop Patch
by carsten on Feb.21, 2009, under QMail
Für die qmailadmin Version 1.2.12 habe ich heute einen ergänzenden Patch erstellt der es ermöglicht, das bei deaktivierter Spamerkennung eines Postfachs eine alternative Maildropkonfiguration aufgerufen werden kann. Dies stellt auch sicher das maildrop in jedem Fall in das Postfach zustellen kann und es nicht zu dem Fehler kommt “/usr/bin/maildrop:_Home_directory_owned_by_wrong_user”. Diese Meldung kann durch eine nicht existierende Standardmaildropkonfigurationsdatei entstehen (~/.mailfilter).
qmailadmin-1.2.12-nospam_cmd.patch
Dieser Patch fügt die configure option ‘–enable-nospam-command’ hinzu, mit der ein alternativer Befehl definiert werden kann.
CentOS 5 auf VMware ESX – CPU stuck for 10s
by carsten on Feb.20, 2009, under VMware
In fast jeder VMware ESX Umgebung habe ich den folgenden Softlockup auf CentOS 5 Gastsystemen gesehen. Allerdings nur mit installierten VMware-Tools. Auf Nachfrage beim Support hat sich herrausgestellt, das dieses Verhalten dadurch zustande kommt, das die jeweilige CPU kurzzeitig nicht zur Verfügung steht weil Sie z.B. von einer anderen virtuellen Maschine benutzt wird. Der Fehler tritt besonders häufig auf wenn die VM vier CPU Cores zugeweisen bekommt.
Auf einem Dual Quad Core Host mit zwei VMs mit je vier Cores ist es also leicht reproduzierbar, da auf dem ersten Core ja zusätzlich noch die Serviceconsole von VMware ESX läuft. Den Virtuellen Systemen sind also mehr Cores zugeweisen als eigentlich verfügbar. Im Normalfall ist das kein Problem solang die VMs nicht unter hoher Last laufen, bei extremer Auslastung der einzelnen Cores in den VMs kann dieses Verhalten dann ausgelöst werden. Vorbeugend kann man die VMs nur auf zwei Cores heruntersetzen.
BUG: soft lockup – CPU#1 stuck for 10s! [sh:2723]
CPU 1:
Modules linked in: xt_tcpudp iptable_nat ip_nat ip_conntrack nfnetlink ip_tables x_tables ipv6 xfrm_nalgo crypto_api nfsd exportfs lockd nfs_acl auth_rpcgss vmmemctl(U) sunrpc vmhgfs(U) dm_mirror dm_multipath dm_mod video sbs backlight i2c_ec button battery asus_acpi acpi_memhotplug ac lp sg i2c_piix4 ide_cd shpchp floppy i2c_core cdrom e1000 pcspkr parport_pc serio_raw parport ata_piix libata mptspi mptscsih mptbase scsi_transport_spi sd_mod scsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd
Pid: 2723, comm: sh Tainted: G 2.6.18-92.1.22.el5 #1
RIP: 0010:[<ffffffff80064af8>] [<ffffffff80064af8>] _spin_unlock_irqrestore+0x8/0x9
RSP: 0018:ffff810227b39d50 EFLAGS: 00000296
RAX: ffff8102feb27b30 RBX: ffff8102feb27ac0 RCX: 000000000000003b
RDX: ffff810100000000 RSI: 0000000000000296 RDI: ffff8102feb27b2c
RBP: 000000000048c04e R08: ffff8102feb27ac0 R09: ffff81010d29e800
R10: 0000000000000008 R11: 000000d000000001 R12: 0000000000000008
R13: 000000d000000001 R14: ffffffff800093b2 R15: 0000000000000018
FS: 00002aec39b81dc0(0000) GS:ffff81010d30c840(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 000000000048c04e CR3: 000000022ddbd000 CR4: 00000000000006e0Call Trace:
[<ffffffff800668a2>] do_page_fault+0x4fe/0x830
[<ffffffff80013388>] filemap_nopage+0x188/0x322
[<ffffffff8005dde9>] error_exit+0x0/0x84
[<ffffffff8003688b>] __strncpy_from_user+0x28/0x41
[<ffffffff8003687a>] __strncpy_from_user+0x17/0x41
[<ffffffff80012336>] getname+0x15b/0x1c1
[<ffffffff8001976e>] do_sys_open+0x17/0xbe
[<ffffffff8005d116>] system_call+0x7e/0x83
DHCP Konfiguration für VMware & XEN virtuelle Maschinen
by carsten on Jan.21, 2009, under VMware, XEN
Vor einiger Zeit habe ich eine DHCP Konfiguration für XEN VMs benötigt um diese per PXE installieren zu können. Die im Beispiel angegebenen IP Adressen sind in meiner tatsächlichen Konfiguration anders, der rest ist identisch.
# dhcp config for xen & vmware virtual machines (with pxelinux support)
default-lease-time 600;
max-lease-time 7200;ddns-update-style none; ddns-updates off;
authoritative;
log-facility local7;allow booting;
allow bootp;class “xensource” {
match if (substring(hardware,1,3)=00:16:3e);
}
class “vmware” {
match if (
(substring(hardware,1,3)=00:0c:29) or
(substring(hardware,1,3)=00:05:69) or
(substring(hardware,1,3)=00:1c:14) or
(substring(hardware,1,3)=00:50:56)
);
}
class “virtualbox” {
match if (substring(hardware,1,3)=08:00:27);
}
subnet 10.72.0.0 netmask 255.255.255.0 {
pool {
allow members of “xensource”;
allow members of “vmware”;
allow members of “virtualbox”;
range 10.72.0.100 10.72.0.254;
}
option broadcast-address 10.72.0.255;
option domain-name “vms.domain.tld”;
option routers 10.72.0.1;
option domain-name-servers 10.72.0.2, 10.72.0.3;
option tftp-server-name “10.72.0.5”;
next-server 10.72.0.5;
filename “/pxelinux.0”;
}