Archive for category Virtualisierung

Zeitsynchronisierungs-Probleme unter VMWare

Um zigtausende “rtc: lost some interrupts” Meldungen aus dem syslog zu verbannen, hatte ich für einzelne betroffenen VMs den Eintrag “host.useFastClock = FALSE” in der *.vmx gesetzt. Der Preis dafür war eine nicht mehr exakte Zeitsynchronisierung die bisher für meine Anwendungsfälle vertretbar war und durch externe Zeitsynchronisierung (ntpd) aufgefangen wurde.

Auch andere haben schon vor dem Problem gestanden und versucht die 25 seitige Dokumentation “Timekeeping in VMware Virtual Machines” irgendwie auf das wesentliche zusammenzufassen.

Nach dem Tipp eines befreundeten Admins (Danke Dirk) in die Knowledgebase bei RedHat zu schauen, finde ich dort nur den Weg, den ich zuvor schon versucht hatte. Grob zusammengefasst:

1. Im Gast OS die VMWare-Tools installieren.

2. In der *.vmx Datei den Eintrag
tools.syncTime = “TRUE”
setzen.

3. ntpd im Gast nicht erforderlich aber für den Host empfohlen.

Damit hatte es aber noch nicht geklappt (Gast Uhr läuft extrem hinterher) und ohne den Eintrag “host.useFastClock = FALSE” werde ich mit “rtc: lost some interrupts” im Syslog zugeschmissen.

Also ist eine rasch zu ergoogelnde Lösung nicht in Sicht und ich muss nochmal genauer in die VMWare-Bibel der Zeitsynchronierung schauen. Dort finde ich auf Seite 22 bei Punkt 3, Unterpunkt 3 eine Lösung die für meine Konfiguration (Host = 2.6.18-6-686 #1 SMP mit VMWare Server1.x) funktioniert:

Linux kernel 2.6 guests normally request 1000 PIT 0 timer interrupts per second, plus, in
some cases, 1000 local APIC timer interrupts on each virtual CPU. For single processor guests, you can usually eliminate the unneeded APIC timer interrupts by including the kernel command line flags noapic nolapic nosmp. (All three flags may not be needed, depending on your exact kernel version, but it should be harmless to give all three.)

Aktuelle fahre ich also folgende Kernel Flags für die VM in der grub/menu.lst:
kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/sda1 ro noapic nolapic nosmp clock=pmtmr
und habe damit eine synchrone Zeit zwischen Host und VM und keinerlei “rtc: lost some interrupts” Meldungen im Syslog mehr.

Wie schön dass es noch immer einen Schalter mehr gibt, den man noch ausprobieren kann… Oder wie schreibt VMWare so schön auf Seite 25: “Conclusion: Timekeeping in virtual machines is a complex subject.”

, , , , ,

2 Comments

Große Nachfrage nach SimpleDB – Data 2.0 für Web 2.0

Wer sich dieser Tage für den Amazon SimpleDB Service anmelden möchte, wird vertröstet: “The Limited Beta is currently closed, however we will contact you via e-mail when a spot becomes available.”

Zu groß sei die Nachfrage nach dem erst kürzlich gestartetem Beta-Programm welches ideal die bereits mit großem Erfolg gestarteten Dienste S3 und EC3 ergänzt. So ist es zumindest in dem Developer Connections Newsletter#33 von heute zu lesen:

In late December, we announced Amazon SimpleDB, which is available in limited beta. Amazon SimpleDB is a web service for running queries on structured data in real time. This service works in close conjunction with Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2), collectively providing the ability to store, process and query data sets in the cloud. Traditionally, this type of functionality has been accomplished with a clustered relational database that requires a sizable upfront investment, brings more complexity than is typically needed, and often requires a DBA to maintain and administer. In contrast, Amazon SimpleDB is easy to use and provides the core functionality of a database – real-time lookup and simple querying of structured data – without the operational complexity.

We’re very excited about the strong interest our community has shown in the beta program. At this stage, we have limited spots available, and ask for your patience as we work to enable additional developers. In the meantime, you can read more about the service, and sign up to be notified when a spot becomes available for you.

So wie Rails für Ruby eine Killeranwendung ist, so wird SimpleDB für Rails und ähnliche Frameworks eine Killeranwendung werden. Also warte ich voller ungeduld, dass ich einen Slot zum SimpleDB Service bekomme und dass Rails einen Database-Adapter für SimpleDB bekommt.

Nitin Borwankar beschreibt in seinem Blog warum SimpleDB ein wichtiger Baustein zu skalierbaren Web-Anwendungen sein wird und warum SimpleDB ein Schlüssel-Feature für kommende Web-Anwendungen sein wird. Nitin kommt auch zu dem Schluss:

Existing web technologies such as Ruby on Rails, Django and Hibernate all have an Object Relational Mapper (ORM), which maps language objects to relational database tables.
If designers of these ORMs want to stay in the scalable apps game, they should take a serious look at using SimpleDB as a data store. Better yet, they should build ORMs from the ground up to integrate with SimpleDB.

Man darf also gespannt sein, ob RoR in gewohnt eleganter Weise einen Database-Adapter für SimpleDB bereitstellen kann. Denn auch wenn mit ActiveRecord eine Abstraktionslayer zu SQL eingezogen ist, so ist diese Aktraktionsstufe doch noch sehr an das Paradrigma von Relationalen Datenbanken angelehnt. SimpleDB ist aber nicht einfach nur eine altbekannte relationale DB die nun virtualisiert wurde sondern es bringt auch gleich ein neues Paradigma mit das vielleicht eher mit persistenten Hashes zu erfassen ist. Ich bin gespannt, ob man als RoR Entwickler von alledem ewas mitbekommen wird oder ob RoR die Internas verstecken wird so dass man weiterhin an der gewohnten Denkweise wird festhalten könnnen (wie es etwas das aws-simpledb Projekt in Aussicht stellt).

Für Nitin Borwanka jedenfalls ist mit SimpleDB der Startschus für Data 2.0 gefallen:

More than two years ago I wrote that Web 2.0 needs Data 2.0. The combination of EC2, S3 and SimpleDB is a toolkit for assembling massively scalable REST addressable web databases. Data 2.0 is now officially here. May the fun and games begin.

Further reading on Wikipedia: SimpleDB, CouchDB

,

5 Comments

Amazon SimpleDB

Wow, nach dem Release von Rails2 gibt es nun auch noch ein Weihnachtsgeschenk von Amazon:

Dear AWS Developers,

This is a short note to let a subset of our most active developers know about an upcoming limited beta of our newest web service: Amazon SimpleDB, which is a web service for running queries on structured data in real time. This service works in close conjunction with Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2), collectively providing the ability to store, process and query data sets in the cloud.

Traditionally, this type of functionality has been accomplished with a clustered relational database that requires a sizable upfront investment, brings more complexity than is typically needed, and often requires a DBA to maintain and administer. In contrast, Amazon SimpleDB is easy to use and provides the core functionality of a database – real-time lookup and simple querying of structured data – without the operational complexity.

Were excited about this upcoming service and wanted to let you know about it as soon as possible. We anticipate beginning the limited beta in the next few weeks.

Seite zum Beta-Projekt bei Amazon: Amazon SimpleDB und Developer Guide.
AWS-Blog: A Place for Everything – Amazon SimpleDB

, ,

No Comments

Apache2 schreibt nach Logrotate weiterhin in alte Logs

Unter Debian Etch habe ich auf einer EC2 basierten virutellen Maschine die Apache2 Logs nach /mnt/ verlagert, weil die Logs beim Rebundlen des Images nicht included werden sollen und ich somit alle flüchtigen Dateien in einen /mnt Folder auslagere, den ich auch nicht über S3 persistent mache.

Dabei habe ich das Problem umgehen müssen, das Apache2 nach dem Logrotate weiterhin in die alten Logs schreibt und die neu angelegten Logs leer bleiben (0 Bytes). Abhilfe bringt das Ersetzen der ‘/etc/init.d/apache2 restart > /dev/null’ Anweisung in /etc/logrotate.d/apache2 durch apache2ctl:

/mnt/var/log/apache2/*.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
        if [ -f /var/run/apache2.pid ]; then
            /usr/sbin/apache2ctl restart > /dev/null
        fi
    endscript
}

Auf einer anderen Debian Etch Maschine (die jedoch nicht EC2 basiert ist) wo die Logs am original Ort liegen, gab es das Problem nicht. Beide Maschinen nutzen awstats. Einen grundlegenden Unterschied der Apache2 Config konnte ich auf die Schnelle nicht erkennen, so dass mir die Ursache für das Problem (warum schafft ‘/etc/init.d/apache2 restart’ es nicht was apache2ctl vermag – das Verwenden der neuen Logs anzustossen) nicht ersichtlich ist und ich mit diesem Workaround erstmal leben muss.

Im /etc/init.d/apache2 Script ist der apache2ctl Aufruf noch eingebetet in folgenden Block:

     restart | force-reload)
        log_begin_msg "Forcing reload of web server (apache2)..."
        if ! apache_sync_stop; then
                        log_end_msg 1
                fi
        if $APACHE2CTL start; then
                        log_end_msg 0
                else
                        log_end_msg 1
                fi
    ;;
    *)

Die Funktion apache_sync_stop, die wiederum die apache_stop Funktion aufruft, wird wohl bei mir scheitern – aber was da genau schief… muss später mal ergründet werden.

,

2 Comments

Sexy Virtual Appliances

Der Hintergrund-Artikel “Xen als offene Virtualisierungsplattform” bei Heise arbeitet schön heraus warum virtuelle Applicances elegant sind:

Die Plattform der Zukunft ist nicht das Betriebssystem, sondern ein Hypervisor. Anwendungen erhält man nicht mehr als Softwarepaket zur Installation auf einem bestimmten Betriebssystem, sondern vorinstalliert und -konfiguriert als virtuelle Maschine samt passend zurechtgestutztem Betriebssystem. [...] Der Software-Anbieter kümmert sich darum, dass Betriebsystem und Anwendung harmonieren, muss sich aber auch nicht mehr mit der Anpassung seiner Software an unterschiedliche Systemumgebungen herumschlagen. Und der Anwender hat die Wahl zwischen unterschiedlichen Management-Umgebungen, die dank gemeinsamen Hypervisor kompatibel zueinander sind und in denen alle Anwendungen laufen.

Eine wichtige Rolle spielt hier auch das Open Virtual Machine Format (OVF) welches nicht nur verspricht virtuelle Maschinen zu standardisieren. Darüber hinaus wird es die Integrität sicherstellen können und die Überprüfung von Lizenzen übernehmen können:

OVF specifies procedures and technologies to permit integrity checking of the virtual machines (VM) to ensure that they have not been modified since the package was produced. [...] OVF also provides mechanisms that support license checking for the enclosed VMs, addressing a key concern of both independent software vendors (ISVs) and customers.

(Mehr lesen bei dieser interessanten Quelle)

,

1 Comment

Amazon S3 nun auch in Europa verfügbar.

Nachdem Amazon erst kürzlich die EC2 Instanzen “Large” und “Extra Large” eingeführt hat, stößt Amazon nun mit dem Simple Storage Service (S3) nun auch nach Europa vor:

United States

Storage
$0.15 per GB-Month of storage used

Data Transfer
$0.10 per GB – all data transfer in
$0.18 per GB – first 10 TB / month data transfer out
$0.16 per GB – next 40 TB / month data transfer out
$0.13 per GB – data transfer out / month over 50 TB

Requests
$0.01 per 1,000 PUT or LIST requests
$0.01 per 10,000 GET and all other requests*
* No charge for delete requests

Europe

Storage
$0.18 per GB-Month of storage used

Data Transfer
$0.10 per GB – all data transfer in

$0.18 per GB – first 10 TB / month data transfer out
$0.16 per GB – next 40 TB / month data transfer out
$0.13 per GB – data transfer out / month over 50 TB

Requests
$0.012 per 1,000 PUT or LIST requests
$0.012 per 10,000 GET and all other requests*
* No charge for delete requests

Zwar sind die die Preise etwas höher als S3 in den USA, aber wenn man plant statischen Content via public buckets verfügbar zu machen, so ist S3 mit Standbein in Europa diesen Aufpreis ganz sicher wert.

Für die Verwendung mit EC2 bleibt S3 USA natürlich attraktiver, da es nicht nur schneller sein dürfte sondern hier auch der Traffic zwischen EC2 und S3 USA kostenfrei ist. Traffic zwischen EC2 und S3 Europa hingegen ist kostenpflichtig.

Damit wird greifbar, was ich mir schon länger wünsche: EC2 auch in Europa.

, ,

No Comments

EC2 legt “big iron” nach

Seit heute können via Amazon EC2 noch performantere virtuelle Server verwendet werden:

Instances

$0.10 - Small Instance (Default)

    1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform

$0.40 - Large Instance

    7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform

$0.80 - Extra Large Instance

    15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform

Pricing is per instance-hour consumed for each instance type. Partial instance-hours consumed are billed as full hours.

One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor referenced in our original documentation.

Detailierte Infos hat Amzon auf dieser Seite zusammengestellt.

No Comments