MySQL: Convert dump from MySQL4 to MySQL5

Convert an old MySQL V4 Dump to MySQL V5. In my case the old database was in Latin1/ISO format and the db-engine was MyISAM.

# on the old server (mysql4x)
mysqldump --default-character-set latin1 testdb > testdb.sql
 
# on the new server (mysql5x)
# tweak ENGINE
sed -i -e 's/TYPE=MyISAM/ENGINE=MyISAM/' testdb.sql
mysql --default-character-set latin1 -D testdb < testdb.sql

Not sure if there are other SQL syntax changes from V4 to V5, in my case (simple database) it worked.

Libvirt QEMU/KVM VM migration/upgrading

Wenn man VMs (und deren Definitionsdatei) von einem älteren KVM System umzieht oder den Hypervisor upgraded sollte man nicht vergessen im XML-file den Maschinentyp zu checken. Ansonsten kann es nach Live-Migrationen zu unerwarteten Effekten kommen. Bei mir hing z.B. bei einigen Systemen die Real-Time-Clock – was oft einen Totalabsturz zur folge hat. Der Bug ist hier beschrieben.

Für eine aktuelle QEMU-KVM Version sieht dies so aus (entscheidend ist das “pc-1.0″):

<!-- /etc/libvirt/qemu/vm-01.xml -->
<type arch='x86_64' machine='pc-1.0'>hvm</type>

Damit man nicht händisch sämtliche XML Dateien anpassen muss, liefert Libvirt ein praktisches, aber wohl eher unbekanntes Script mit:

libvirt-migrate-qemu-machinetype -a

Damit werden direkt alle VMs auf die jeweils aktuelle Einstellung angepasst. Sehr schön. Damit die Einstellung greift muss man die VMs allerdings neu starten (soweit ich weiß).

Google Reader Style für Tiny Tiny RSS

Der schöne Google Reader wird eingestellt. Schade. Gerade in der IT-Affinen Benutzerwelt sicher für einige ein Problem. Alternativen mussten her. Bin zunächst mal bei Tiny Tiny RSS fündig geworden:

  • Läuft auf dem eigenen Webspace
  • Importiert ohne Probleme das persönliche Google Reader Archiv.

Einzig mit dem Style war ich nicht ganz zufrieden. Daher gibt eine kleine Quick-and-dirty Styleanpassung hier im Zip-File. Das sieht dann so aus:

screenshot_ttrss

(wenn ich Zeit habe mache ich das mal noch schöner.)

Exchange MailboxFolderPermission

Gedankenstütze zum MailboxFolderPermission Cmdlet:

# Berechtigungen auflisten
Get-MailboxFolderPermission -identity otto@bergerdata.de:\Kalender
 
# Entfernen von Berechtigungseintrag für Gruppe "bergerdata.de"
Remove-MailboxFolderPermission -identity otto@bergerdata.de:\Kalender `
-User bergerdata.de
 
# Standardrechte auf nur Frei-Gebucht-Info setzen
Set-MailboxFolderPermission -identity otto@bergerdata.de:\Kalender `
-User Default -AccessRights AvailabilityOnly
 
# Rechte für den Benutzer "test@bergerdata.de" auf "Prüfer" setzen
Set-MailboxFolderPermission -identity otto@bergerdata.de:\Kalender `
-User test@bergerdata.de -AccessRights Reviewer

Weiter Details hier.

DRBD 8.4.3 on Ubuntu 12.04/12.10

DRBD 8.4.3 has some great speed improvements. To take advantages of it use the following steps to build and upgrade the ubuntu packages (thanks to icamargos repository).

apt-add-repository ppa:icamargo/drbd
apt-get update
apt-get upgrade drbd8-utils
apt-get install drbd8-module-source
module-assistant auto-install drbd8

after reboot you should see the new version:

root@nas4-1:~# cat /proc/drbd 
version: 8.4.3 (api:1/proto:86-101)

PDF komprimieren

Ghostscript Kommando zum komprimieren von PDF Dateien (natürlich im wesentlichen die enthaltenen Bilder). Muss ich mir merken:

#!/bin/bash
 
gs	-q -dNOPAUSE -dBATCH -dSAFER \
	-sDEVICE=pdfwrite \
	-dCompatibilityLevel=1.3 \
	-dPDFSETTINGS=/screen \
	-dEmbedAllFonts=true \
	-dSubsetFonts=true \
	-dColorImageDownsampleType=/Bicubic \
	-dColorImageResolution=96 \
	-dGrayImageDownsampleType=/Bicubic \
	-dGrayImageResolution=96 \
	-dMonoImageDownsampleType=/Bicubic \
	-dMonoImageResolution=96 \
	-sOutputFile=$1_shrinked.pdf \
	 $1

Quelle: ubuntuusers.de.

Screen: named sessions

Screens sind ja sehr nützlich; aber ab einer gewissen Anzahl wird es unübersichtlich:

root@vm:~$ screen -r
There are several suitable screens on:
	31176.pts-0.deploy1	(Detached)
	17565.pts-0.deploy1	(Detached)
	16079.pts-0.deploy1	(Detached)

Aber das Screen wäre nicht Screen wenn es nicht auch dafür eine Lösung hätte: Session-Namen.

Methode 1: Setzen direkt beim start des Screens

  • screen -S backup

Methode 2: Setzen aus einem laufenden Screen heraus (aktuelle Session)

  • Screen Prompt öffnen: STRG+A : (STRG und A dann doppelpunkt)
  • sessionname backup (danach Enter)
  • Screen ganz normal verlassen mit STRG+A d

Das Ergebnis sieht dann schon viel übersichtlicher aus:

root@vm:~$ screen -r 
There are several suitable screens on:
	31176.backup	(Detached)
	17565.testing	(Detached)
	16079.watch	(Detached)

Mit “screen -r backup” wechselt man jetzt schnell in die richtige Session.

Plesk: smtp per_source_limit

Sep 10 09:20:20 example xinetd[3033]: FAIL: smtp per_source_limit from=10.10.10.1
Sep 10 09:20:20 example xinetd[3033]: FAIL: smtp per_source_limit from=10.10.10.1
Sep 10 09:20:21 example xinetd[3033]: FAIL: smtp per_source_limit from=10.10.10.1

Wenn solche Einträge im Log auftauchen oder der Monitoring-Server meint der SMTP wäre dicht, sperrt der xinetd weitere Verbindungen. Der Standardwert steht auf 10 Connections per Source-IP. Da Plesk den qmail über xinetd anbindet, greifen hier die default Einstellungen des xinetd… Änderbar wie folgt:

# /etc/xinetd.conf
 
defaults
{
...
per_source = 50

Bei Gelegenheit muss ich mir nochmal anschauen in wie fern das mit den concurrencylocal/remote Einstellungen des qmail kollidiert. Man muss sicherlich beide (xinetd und qmail) anpassen.

neuer Homeserver/NAS

Mein “altes” Gehäuse und die enthaltene noch ältere CPU nebst Board haben einen Nachfolger erhalten. Der VDR und damit die TV Karte wird nicht mehr benötigt – daher muss es auch nicht mehr unbedingt ein HTPC Formfaktor sein. Der Server dient bei mir hauptsächlich als NAS und VDSL Router.

Folgend die Einkaufsliste:

  • Lian-Li PC-Q18 (4xSATA HotSwap Backplane)
  • ASUS P8H77-I Mini-ITX (2xSATA3 + 4xSATA2!)
  • INTEL Core i3-2120T 2600MHz 3M BOX
  • KINGSTON HyperX 16GB DDR3 1600MHz 2x8GB
  • 1x SAMSUNG SSD 830 64GB SATA 2,5z SATA III
  • 2x WD Desktop Green 3TB SATA 6Gb/s
  • 2x WD Desktop Green 2TB SATA 6Gb/s (aus der alten Kiste)
  • extra Gigabit Ethernet PCIe (“Router”)
  • BeQuiet BN103 (300W)

Das Board ist meines Wissens z.Zt. eines der ganz wenigen mit 6 SATA Ports (davon 2 mit SATA3 6GB/s, für die SSD). Das Gehäuse ist sehr gut verarbeitet und glänzt mit der eingebauten SATA Backplane. Da sich das Gehäuse “schraubenlos” öffnen lässt ist ein schneller Plattenwechsel kein Problem (wenngleich er auch hoffentlich selten vorkommt).

Auf dem Server läuft jetzt ein Ubuntu Server 12.04 und mittels KVM Virtualisierung ein Firewall/Router (derzeit Astaro UTM9 Home).

SATA Backplane. Die SSD befindet sich ganz unten (unter dem 3,5″ HDD)

das Board

the Front

 

dd: Ende der Platte löschen

Um z.B. eine (Soft-)RAID-Signatur von einer Festplatte zu entfernen reicht es meist (je nach RAID Typ) die letzten Bytes der Platte zu löschen, da sich die Signatur meist am Ende einer Partition befindet. So erspart man sich ein langwieriges Löschen der kompletten Platte.

Einen Weg der ohne Rechnerei und viel Script auskommt habe ich so schnell nicht gefunden, daher nutze ich diese Methode:

sudo blockdev --getsz /dev/sda
250069680 # anzahl der Blöcke (512Byte)
 
sudo dd if=/dev/zero of=/dev/sda bs=512 seek=250060000

Nicht sonderlich elegant – ich nulle die letzten Bytes der Blockgrösse damit diese übersprungen werden und lasse dann dd bis zum Ende der Platte laufen. dd bricht dann mit “no space on device” ab – aber die letzten Bytes wurden dabei sauber geleert ;-)