Author Archive

  • Jun
  • 07
  • 2010

Video der Woche: Lizzie Oxby – Extn.21

Posted by okami In Nerdiges | No Comments »

Mal wieder ein paar schöne Sequenzen(leider nicht der ganze Kurzfilm) von Lizzie Oxby ,mehr gibt es bei vimeo zu finden. Ihre Arbeiten sind immer wieder ein Genuss, immer irgendwie anders und vor allem kein Mainstreamtrash. Ihre Seite kann man auch nur empfehlen, da gibt es jede Menge weitere Makings- und Kurzfilme ….

Extn.21 – extract from Lizzie Oxby on Vimeo.

  • Jun
  • 07
  • 2010

MySQL – Shell Script Optimize über alle Tabellen

Posted by okami In Datenbanken | 1 Comment »

Da es keinen Befehl gibt, wo man in allen Datenbanken gleich alle Tabellen optimieren kann, hier mal ein Script zum erleichtern …

#!/bin/bash
for db in $(echo "SHOW DATABASES;" | mysql -u$1 --password=$2 | grep -v -e "Database" -e "information_schema")
do
        TABLES=$(echo "USE $db; SHOW TABLES;" | mysql -u$1 --password=$2 |  grep -v Tables_in_)
        echo "Switching to database $db"
        for table in $TABLES
        do
                echo -n " * Optimizing table $table ... "
                echo "USE $db; OPTIMIZE TABLE $table" | mysql -u$1 --password=$2 >/dev/null
                echo "done."
        done
done
  • Jun
  • 07
  • 2010

Collateral Murder Video Leaker wurde festgenommen

Posted by okami In Zeitgeistiges | No Comments »
Collateral Murder Video Leaker wurde festgenommen

Wahrscheinlich haben wir es SPC Bradley Manning(22) zu verdanken, dass die Öffentlichkeit mitbekommt, was bei einem militärischen Einsatz der Amerikaner so läuft. Dass dies kein Einzelfall ist und dass die Verantwortlichen nicht zur Rechenschaft gezogen werden, ist uns allen schmerzhaft nur zu bewusst geworden. Die Amerikaner spielen Weltpolizei und das in autistischer John Wayne Manier. Den Amerikaner an dieser Stelle Einhalt zu gebieten sollte auch unser ureigenstes Anliegen sein, denn wir sind auf dem besten Wege, uns genau in die selbe Richtung zu entwickeln.

Das wird Bradley Manning, insofern er wirklich für die Weiterleitung des Videos an Wikileaks verantwortlich ist, nicht weiterhelfen, ihm werden sie den Prozess machen, dass ihm hören und sehen vergeht. Nach seiner Verhaftung am gestrigen Tage, hat er sich auch noch für den Leak des Garani air strike Videos und für die Übermittlung von 260.000 als classified gekennzeichneten diplomatischen Telegramme, die er selber als “almost criminal political back dealings” bezeichnet, verantwortlich gezeigt.  via wired.com

Update: “Erwischt” hat man ihn, weil er einem Ex Hacker Adrian Lamo gegenüber das große Mundwerk gehabt hat, für die Leaks verantwortlich zu sein. Was ihm, wenn das der Realität entspricht zu einem riesen großen Deppen macht. Sogenannte Ex-hacker in USA sind mal classified mit ich hab meinen Arsch ans FBI verkauft. So wirklich sicher ob das alles stimmt, ist man sich auch nicht, die Verschwörungstheoretiker vermuten eine PR – Kampagne des US – Militärs gegen Wikileaks dahinter.

Update: Wie sich herausstellt ist Poulson auch derjenige, der kürzlich in Wired diese Propaganda Story gebracht hatte, dass Wikileaks ihre Informationen illegitim aus Tor – Sniffing erlangt hätten, was sowohl Tor als auch Wikileaks dementieren.

Update: Wikileaks dementieren mittlerweile, dass Sie 260.000 dipl. Botschaftsnachrichten bekommen haben, genauso wie Sie über ihre Quellen keine Aussagen treffen können, weil Sie keine Informationen über die sammeln. Sieht somit summa summarum entweder nach einem Fake der US Amerikaner und nach einem ziemlich doofen Mannigan aus oder nach einem PR Gag. Letzterer wurde ja schon in einem Papier, welches bei Wikileaks  geleaked wurde, angekündigt, mit aller Macht die Glaubwürdigkeit und Integrität des Portals zu untergraben. Darüber hinaus erklärt die Washington Post, sie sei 2 Jahre lang im Besitz des Videos gewesen, nur habe es dies nicht veröffentlicht. Da sieht man mal was man von gleichgeschalteten Medien hat, bei uns wäre das genauso passiert, nur hier bezahlen wir dafür, dass sie uns informieren!

  • Jun
  • 06
  • 2010

Deus Ex 3 – Human Revolution

Posted by okami In Nerdiges | 2 Comments »

Für bekennende Killerspielespieler endlich mal wieder eine gute Nachricht, es gibt Futter aus der Eidos Schmiede zum sabbern … der Deus Ex 3 Trailer ist draussen!

Und dann erwartet uns ja dieses Jahr auch noch Force Unleashed 2 und CoD Black Operations, naja CoD ist noch nie mein Fall gewesen, aber es sieht gut aus!

  • Jun
  • 03
  • 2010

MySQL Backup Strategien: LVM-Snapshots

Posted by okami In Datenbanken, Featured, Howtos | No Comments »
MySQL Backup Strategien: LVM-Snapshots

Master  – Slave mit LVM

Vorteile

  • Restorezeit ist wesentlich geringer bei großen Datenbanken und vielen Indexen (abhängig von Lese- und Netzwerggeschwindigkeit).
  • Geringe Ausfallzeit des Servers – keine Ausfallzeit des Arbeitsbetrieb
  • Der Master kann unbeeinträchtigt seine Arbeit vortsetzen.

Nachteile

  • “Eben mal” eine Tabelle oder Daten zurückspielen geht nicht, hierzu müssen wir ein kompletten Restore auf ein weiteres System durchführen, um dort mittels mysqldump die Daten zu extrahieren.

Szenario:

Wir benötigen mindestens 2 MySQL Instanzen die miteinander replizieren, damit verringern wir die Ausfallzeit auf 0. Also jedes beliebige Master – Slave oder Master – Master Szenaria, wobei wir am besten einen Slave für das Backup einrichten. Die Slave Instanz kann sich durchaus, wenn es Plattenplatz, CPU, RAM sowie die IO Werte zulassen, auf dem selben Host befinden. Eine Anleitung wie man eine Replikation aufsetzt findet man hier. Natürlich funktioniert das Ganze auch ohne Replikation, allerdings hat man dann, je nach Datenbank, eine Ausfallzeit von 10s – x Minuten. Wichtig, die my.cnf muss so angepasst werden, dass sich die Daten auf einem Logical Volumen (LVM) befinden. Darüber hinaus benötigen wir in der Volumengroup genügend Restplatz, damit uns der Snapshot nicht während des Backups vollläuft. Hier gibt es keine Faustformel das muss man einfach ausrechnen oder probieren.

In meinen Augen hat es sich relativ nützlich erwiesen die Konfiguration der MySQL Instanz wie folgt aufzugliedern:

  1. Das LV wird in ein Verzeichnis gemountet, beispielsweise /data.
  2. Unterhalb dieses Verzeichnisses werden unterschiedliche Verzeichnisse für binlogs, relaylogs, tmp, data sowie error und slowlog angelegt.

Das vereinfacht das Sichern insofern, dass wir hier nur bestimmte Verzeichnisse wegsichern müssen. Es ist auch keine schlechte Idee auf dem Slave das Binlog zu aktivieren und diese ebenfalls zu sichern (z.B. stündlich), damit wir ein sogenanntes Point in Time Recovery machen können (wird an einem späteren Zeitpunkt abgehandelt). Unsere my.cnf sieht dann an den entsprechenden Punkten wie folgt aus:

relay-log                      = /data/mysql-relaylog/relay.log
relay-log-info-file            = /data/mysql-relaylog/relay-log.info
relay-log-index                = /data/mysql-relaylog/relay-log.index
log_error                      = /data/mysql-log/mysql.err
log-slow-queries               = /data/mysql-log/slow_queries.log
log_bin                        = /data/mysql-binlog/mysql-bin.log
innodb_log_group_home_dir      = /data/mysql-data
innodb_log_arch_dir            = /data/mysql-data
innodb_data_home_dir           = /data/mysql-data
datadir                        = /data/mysql-data

Für den Fall, dass wir einen weiteren Slave oder Master wieder herstellen müssen, benötigen wir noch die Postion und das Binlogfile, damit wir die Replikation an diesem Punkt wieder aufsetzen können. Im Prinzip gehen wir im weiteren wie folgt vor: wir stoppen den MySQL Dienst, dann ermitteln wir Binlog File und Position des Masters, legen einen Snapshot an, starten den MySQL Dienst und dann können wir das Backup vom Snapshot starten. Das Vorabscript für den Backup Dienst könnte wie folgt aussehen – bitte beachten, die Pfade und Variablen an die eigene Umgebung anpassen (Volumen und Volumengroupbezeichnungen zum Beispiel).

#!/bin/sh
# Groesse des Snapshots
GROESSE=20G

# Name des Snapshot
NAME=mysql-backup

# Geraetedateiname
# hier das LVS anpassen
GERAET=/dev/db/data

# Mount-Punkt
MOUNT=/backup

# Spiegelgeraet
SPIEGEL=/dev/db/mysql-backup
# Stoppe Datenbank
echo
echo "Shutting down lively database  `date`"
echo
/etc/init.d/mysql stop

#gegebenen Fall diesen Wert anpassen, wenn die Datenbank länger braucht
sleep 3

# Erzeuge Restore Daten für Master - Master
name=$(tail -1 /data/mysql-binlog/mysql-bin.index)
size=$(stat -c '%s' ${name})
echo "binlog Position $name $size" > /data/mysql-data/db_restore.info

# Erzeuge Spiegel
lvcreate --size $GROESSE --snapshot --name $NAME $GERAET
ERGEBNIS1=`echo $?`

if [ $ERGEBNIS1 -ne 0 ]; then
echo
echo
echo "  -- F E H L E R -- "
echo
echo "  Starte Datenbank ohne Backup `date`"
echo
echo
/etc/init.d/mysql start
exit 22
fi

sleep 3

# starte Mysql wieder

echo
echo "Restarting lively database  `date`"
echo
/etc/init.d/mysql start

# pruefe auf mount und mounte Spiegel oder exit

mount | grep /backup
ERGEBNIS2=`echo $?`

if [ $ERGEBNIS2 -eq 0 ]; then
echo
echo
echo "  -- F E H L E R -- "
echo
echo "   Der Mount besteht bereits"
echo
echo
exit 23
else
mount -o ro $SPIEGEL $MOUNT
fi

exit 0

Das Resultat an dieser Stelle sollte ein Read only eingemounteter Snapshot unter /backup sein. Dem Backup Programm weisen wir jetzt nur noch an, die Verzeichnisse:

/backup/mysql-data
/backup/mysql-relaylog

zu sichern.

  • Mai
  • 25
  • 2010

Okami WordPress Theme

Posted by okami In Featured, Sonstiges | 4 Comments »
Okami Wordpress Theme

Nach ein wenig “Herumprobieren”, ist die Roadmap gesteckt und somit ist heute auch die Beta Version 0.2.3 vom okami Theme fertig.

Wichtige Kriterien für mich, sind immer noch neben dem komfortablen Umgang mit der Seite, Ladezeiten (bei DSL 1000 unter 1 Sekunde) und der Verwendung von so wenig wie möglichen grafischen Elementen, sowie Javascript.

Okami ist ein 2 Spalten WordPress Theme(+2.7), voll widgetfähig mit Administrationsbereich und ist  für deutsch, english und japanisch verfügbar.  Im Großen und Ganzen steht das Layout, es wird nur noch marginale Änderungen und Anpassungen geben, sowie weitere Abspeckarbeiten im Code und CSS um die Performance anzuheben.  Des weiteren überlege ich im Footer eine Menü / Kategorie Option einzubauen.

Neben Kommentarfunktionen die Threads unterstützen, können bequem im Administrationsbereich bis zu 4 unterschiedliche Bereiche der Sidebar via Drag’n’Drop konfiguriert werden. Dabei unterstützt das Theme eine Aufspaltung in eine obere und untere breitere Box.  In der Mitte können zwei Boxen mit Menüelementen versehen werden.

Der generierte HTML Code ist w3c validiert, selbiges gilt für das CSS.  Getetstet und geprüft ist das Theme gegen aktuelle Firefoxvarien 3.+, Anpassungen wird es auch noch für IE 6&7 geben – allerdings für keine früheren Browserversionen.

WordPress 2.7+ [okami download] [okami demo]

svn checkout http://okami-wordpress.googlecode.com/svn/trunk/ okami-wordpress-read-only

Changelog:

  • Mai 25,2010 – Release 0.2.3 – Change index.php, single and archive layout. Fixed site templates for new layout. Removed redundant code and pictures.
  • Mai 23,2010 – Change the threaded comment layout .
  • Mai 22, 2010 – Fixed JavaCode, header.php, css – press the websites speed  under 1 second for DSL 1024.
  • Mai 16, 2010 – Release 0.2 – fixed page-templates  and css to get the mix working.
  • Mai 15, 2010 – Cleaned up invalid code caused of mixing the function.php from neutral and piano. Cleaned up styling for nested categories and pages in navigation elements.

Für Feedback, Anmerkungen, Anregungen etc. bin ich immer zu haben. Zu finden gibts das Theme in Zukunft unter der Projektseite: hier

Kategorien