Sponsorised links
August 2008
smtp-delay plug-in for qmail
smtp-delay is an add-on/plug-in intended for use with qmail. It was written primarily to add banner delays and antipipelining to qmail. These two features are known to be able to block certain types of spam and virus mail sent through non-rfc-compliant SMTP engines. When I looked around for programs to add this functionality to qmail, I found only one such program, and didn't like the way it was done. BTW...I have the same objections to the way its done in sendmail 8.13.x.
Since banner delays (the server pausing for some time before issuing an SMTP banner) cause every SMTP connection to take longer, I thought it would be a good idea to somehow exempt "legitimate" mail servers...or at least not subject them to long banner delays. So I decided to tune the banner delay time based on the connecting IP's reverse DNS. IPs with no rDNS get treated the worst (longest banner delay). IPs with rDNS matching a regex intended to detect dynamic/end-user IPs get a moderate delay. All other IPs get a very short banner delay...just long enough to see if they immediately pipeline (send SMTP commands before the banner's been sent).
The original intent for smtp-delay was that it should be run before rblsmtpd, and simply set the RBLSMTPD environment variable if applicable, letting rblsmtpd issue the 4xx response. Pretty early on, I realized smtp-delay should be able to run standalone (without dependence on rblsmtpd to do its talking) and issue a 4xx response on its own. Lately, the spam load against our mail cluster has gotten so bad that I've started running smtp-delay after rblsmtpd, based on the idea that there's no point waiting out a long banner delay holding an open socket to an IP we have no intention of accepting mail from anyway. This reduced our concurrency by about 20%.
July 2008
OpenNebula :: about
OpenNebula transforms a physical cluster into a flexible virtual infrastructure which dynamically adapts to the changing demands of a service workload. OpenNebula leverages existing virtualization platforms to create a new virtualization layer between the service and the physical infrastructure. This new layer supports the execution of the services on a physical cluster, extending the benefits of VMMs (Virtual Machine Monitors) from a single physical resource to a cluster of resources. OpenNebula effectively decouples a server (deployed as a pre-configured VM) not only from the physical infrastructure but also from its physical location.
Cool Solutions: Configuring a Xen VM for Live Migration within a Cluster
By default, migrating a Xen Virtual Machine (VM) resource causes it to shutdown on the current node and restart on the new one. Once you configure a Xen VM within the High Availability Storage Infrastructure (HASI), how do you configure the Xen VM resource to live migrate among the cluster nodes?
Sponsorised links
June 2008
Mooter - En tapant votre recherche, Mooter vous renverra un schéma correspondant à une cartographie thématique de votre mot
En tapant votre recherche, Mooter vous renverra un schéma correspondant à une cartographie thématique de votre mot
How To Set Up A Load-Balanced MySQL Cluster With MySQL 5.1 | HowtoForge - Linux Howtos and Tutorials
This tutorial is based on Falko Timme's tutorial for MySQL Cluster 5.0. It shows how to configure a MySQL 5.1 cluster with five nodes: 1 x management, 2 x storage nodes and 2 x balancer nodes. This cluster is load-balanced by an Ultra Monkey package which provides heartbeat (for checking if the other node is still alive) and ldirectord (to split up the requests to the nodes of the MySQL cluster).
In this document I use Debian Etch 4.0 for all nodes. Therefore the setup might differ a bit for other distributions. The two data nodes were x64 to use all of the 8GB RAM. Servers were compiled from source so you should be able to make it running on any platform. The MySQL version I use in this setup is 5.1.24-rc. It's a release candidate, but I wanted to use 5.1 to take advantage of Memory-Disk Based tables.
Beginning with MySQL 5.1.6, it is possible to store the non-indexed columns of NDB tables on disk, rather than in RAM as with previous versions of MySQL Cluster.
How To Set Up A Loadbalanced High-Availability Apache Cluster Based On Ubuntu 8.04 LTS | HowtoForge - Linux Howtos and Tutorials
This tutorial shows how to set up a two-node Apache web server cluster that provides high-availability. In front of the Apache cluster we create a load balancer that splits up incoming requests between the two Apache nodes. Because we do not want the load balancer to become another "Single Point Of Failure", we must provide high-availability for the load balancer, too. Therefore our load balancer will in fact consist out of two load balancer nodes that monitor each other using heartbeat, and if one load balancer fails, the other takes over silently.
May 2008
sfSyncClusterPlugin - symfony - Trac
The sfSyncClusterPlugin introduces a symfony sync-cluster task. The symfony sync-cluster task is intended as a replacement for the symfony sync task. While the plugin is backwards-compatible with symfony sync (they even use the same configuration files) this plugin offers several advantages over a traditional symfony sync. The symfony sync-cluster task:
* Synchronizes a Symfony application across an unlimited number of servers. Symfony's sync only works for a single server.
* Clears the Symfony cache on each server with a symfony cc. Doing this with sync requires an additional command.
* Allows you to use ssh public/private keyfile authentication so you won't be prompted for a password during long deployments.
* Allows you to deploy your web assets to a CDN without having to copy your entire site. The sfSyncCluster currently supports standard rsync transfer and transfer to Amazon S3.
* Allows you to specify groups of servers to sync. If you have many servers, you can place them into logical groups and move them around quickly.
April 2008
Google : un mystère fascinant et bien gardé
L’infrastructure utilisée par le géant de la recherche Google est un mystère que beaucoup aimeraient percer, que ce soit les concurrents ou les utilisateurs étonnés de la réactivité sans faille des services malgré un nombre d’utilisateurs record.
Google Architecture | High Scalability
Google is the King of scalability. Everyone knows Google for their large, sophisticated, and fast searching, but they don't just shine in search. Their platform approach to building scalable applications allows them to roll out internet scale applications at an alarmingly high competition crushing rate. Their goal is always to build a higher performing higher scaling infrastructure to support their products. How do they do that?
Vdoop - Manage your virtual cluster - Vdoop
Every day, search companies like Google download terabytes of data from the Internet, store it on clusters of thousands of machines, and process it so that it can be easily searched. To make this possible, these companies need sophisticated distributed file system and parallel programing architectures.
Have you ever heard of the Map/Reduce distributed parallel programing paradigm? If you are a computer scientist, you should have, because every time you submit a Google search, you are using Map/Reduce. Despite growing demand from companies like Google, Yahoo, and Microsoft, few computer science majors have even heard of Map/Reduce, let alone graduate well versed in its use. Unfortunately, several barriers exist to integrating Map/Reduce into computer science curricula. Obtaining a large cluster, configuring it, and installing complicated distributed file system and parallel programing software is difficult, time consuming, and expensive.
In the past, Google's solution to this problem has been to ship entire clusters pre-configured with Map/Reduce software to select universities. In essence, Vdoop does same thing, with exactly the same software, except for our clusters are virtual, and hence free.
scalr - Google Code
Scalr is a fully redundant, self-curing and self-scaling hosting environment utilizing Amazon's EC2.
It allows you to create server farms through a web-based interface using prebuilt AMI's for load balancers (pound or nginx), app servers (apache, others), databases (mysql master-slave, others), and a generic AMI to build on top of.
The health of the farm is continuously monitored and maintained. When the Load Average on a type of node goes above a configurable threshold a new node is inserted into the farm to spread the load and the cluster is reconfigured. When a node crashes a new machine of that type is inserted into the farm to replace it.
4 AMI's are provided for load balancers, mysql databases, application servers, and a generic base image to customize. Scalr allows you to further customize each image, bundle the image and use that for future nodes that are inserted into the farm. You can make changes to one machine and use that for a specific type of node. New machines of this type will be brought online to meet current levels and the old machines are terminated one by one.
The project is still very young, but we're hoping that by open sourcing it the AWS development community can turn this into a robust hosting platform and give users an alternative to the current fee based services available.
SourceForge.net: Cluster SSH - Cluster Admin Via SSH
ClusterSSH controls a number of xterm windows via a single graphical console window to allow commands to be interactively run on multiple servers over an ssh connection.
Loadbalanced High-Availability Apache Cluster Using Ultramonkey
how to set up a two-node Apache web server cluster that provides high-availability. In front of the Apache cluster we create a load balancer that splits up incoming requests between the two Apache nodes. Because we do not want the load balancer to become another "Single Point Of Failure", we must provide high-availability for the load balancer, too. Therefore our load balancer will in fact consist out of two load balancer nodes that monitor each other using heartbeat, and if one load balancer fails, the other takes over silently.
March 2008
Xen-AoE — xenaoe.org
Xen-AoE is a cluster server architecture which provides more efficient use of cpu, disk, and memory resources than traditional servers while providing zero single points of failure ensuring high availability and greater server maintainability. It does this through the use of server virtualization, utilization of SAN technologies, decoupling of disk from cpu, and taking advantage of commodity hardware such as x86 cpu's and readily available gigabit ethernet infrastructure. Xen-AoE can save your business money by better utilizing hardware resources, simplifying management, and decreasing losses due to downtime.
