Logiciels Libres
Python pour les nuls
Vous savez déjà programmer en PHP ou en bash ? Vous connaissez la POO ? Mais vous avez toujours rêvé de vous mettre à un vrai langage (1) ? Alors voici quelques bonnes lectures sur Python, que je vous recommande :
- Le tutoriel « Learn Python in 10 minutes » (également dispo en PDF pour $2)
- « Dive Into Python » (ou le PDF), ou bien sa traduction en français
- La doc officielle (dispo également sur ce mirror si docs.python.org est down)
- « Python 2.6 Quick Reference » (ou le PDF)
- Divers tutos ici, là ou encore par là-bas
(1) : ce post a été rédigé un trolldi, je n’avais pas le choix !
LAMP + monitoring Zabbix sur un serveur virtuel avec 256 Mo de RAM
Est-il possible d’avoir un serveur web avec PHP + MySQL + des virtual hosts, ainsi qu’un service de monitoring (Zabbix), tout ça dans un VPS avec seulement 256 Mo de RAM ? Et en plus pour 4 € / mois ? Difficile, n’est-ce pas ? :-) En fait non, c’est même large… 140 Mo de RAM suffisent ! En m’inspirant d’un article sur lowendbox.com, et en utilisant un VPS chez l’excellent QuickWeb (OpenVZ VPS Germany 256 à $6/mois), voici rapidement la procédure d’installation sur une base d’install Ubuntu 10.10 toute fraiche :
- On fait un peu de ménage en virant rsyslog, et on installe syslog-ng à la place. Dans la foulée on bazarde portmap, ainsi que bind9 (les DNS de QuickWeb font parfaitement l’affaire) :
apt-get install syslog-ng && dpkg --purge rsyslog apt-get remove --purge portmap apt-get remove --purge bind9
- On supprime openssh, et on installe le tout petit dropbear à la place :
touch /etc/ssh/sshd_not_to_be_run apt-get install dropbear sed -i "s/NO_START=1/NO_START=0/" /etc/default/dropbear /etc/init.d/ssh stop && /etc/init.d/dropbear start echo -e "PATH=/usr/bin:/bin:/usr/sbin:/sbin\nexport PATH" >> ~/.bashrc
- Voilà, on a déjà gagné quelques megs. Passons aux poids lourds… Apache en premier, qui va poliment laisser sa place à lighttpd (et son module de gestion des vhosts) :
/etc/init.d/apache2 stop update-rc.d -f apache2 remove apt-get remove --purge apache2 apt-get install lighttpd mkdir -p /var/www/monitoring.monsite.fr/html lighttpd-enable-mod simple-vhost /etc/init.d/lighttpd force-reload
- Que serait le web sans PHP et MySQL ?
apt-get install mysql-server php5-cgi php5-mysql
cat > /etc/lighttpd/conf-enabled/10-cgi-php.conf
server.modules += ("mod_cgi")
cgi.assign = (".php" => "/usr/bin/php5-cgi")
^D
/etc/lighttpd/conf-enabled/10-simple-vhost.conf :
simple-vhost.server-root = "/var/www"
simple-vhost.document-root = "html"
/etc/init.d/lighttpd force-reload
- On va immédiatement calmer le gros apétit de MySQL :
cat > /etc/mysql/conf.d/mon_tuning.cnf [mysqld] key_buffer = 16K max_allowed_packet = 1M table_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 64K query_cache_limit = 256K query_cache_size = 1M ^D
- Au tour de Zabbix !
apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-agent le pass root mysql puis le pass db zabbix mysql puis le pass frontend zabbix ln -s /usr/share/zabbix /var/www/monitoring.monsite.fr/html
- On customise un peu le /etc/php5/cgi/php.ini pour faire plaisir à Zabbix :
date.timezone = Europe/Paris post_max_size = 16M max_execution_time = 300 max_input_time = 300
- Un peu de SSL pour sécuriser le tout :
cd /etc/lighttpd/conf-available/ ln -s /etc/lighttpd/conf-available/10-ssl.conf openssl req -new -x509 -keyout server.pem -out server.pem -days 3650 -nodes du bla bla pour generer le certificat... :-) /etc/init.d/lighttpd restart
- Et voilà, secouez bien fort votre VPS, et Zabbix s’offre à vous :
https://monitoring.monsite.fr
Pour 4 petits € / mois, voilà un beau serveur de monitoring, oui ma bonne dame :-) Et rassurez vous, il reste de la RAM dispo, vous pourrez donc y installer encore quelques vhosts (puisqu’il y a du PHP/MySQL, autant se faire plaisir) :
root@quickweb:~# free -m total used free shared buffers cached Mem: 384 138 245 0 0 0 -/+ buffers/cache: 138 245 Swap: 0 0 0
MooseFS : filesystem distribué redondant
GlusterFS, Lustre : peut être avez-vous déjà essayé ces systèmes de fichiers distribués. Mais il existe une alternative très intéressante, et encore peu connu : MooseFS. Il s’agit d’un système de fichiers distribué et redondant, c’est-à-dire résistant aux pannes d’un ou plusieurs noeuds de stockage. Il est disponible en open source, développé par la société polonaise Gemius, et dispo pour Linux, FreeBSD, OpenSolaris (ce qu’il en reste) et MacOS X. La version 1.6.20 est disponible depuis le 17/01/2011 : les développeurs sont réactifs et suivent de très près la liste de diffusion et les remontés de bugs de leurs utilisateurs.
Le principe est simple (et très Google-like) : des machines de stockage low-cost, et une duplication des données sur ces différents noeuds. Pas besoin de SAN très onéreux ou de systèmes ultra complexes : des petits serveurs bon marché avec de gros disques font parfaitement l’affaire, même pas besoin de RAID hardware, MooseFS est résistant. Les fichiers sont découpés en morceaux (appelés chunks) puis répartis sur les différents chunkservers (noeuds de stockage) : selon le paramétrage voulu pour ces fichiers, ou pour le répertoire dans lequel ils se trouvent, chaque chunk sera répliqué sur x noeuds (différents). Ainsi, la perte de l’un des noeuds sera totalement transparente pour l’utilisateur, et sans aucune perte de données !
J’ai un « petit » cluster de 12 serveurs de 4 To chacun, soit un volume brut de 48 To, qui tourne depuis plusieurs mois sans jamais avoir eu le moindre problème. Ce cluster a pourtant tout testé : le crash électrique dans la baie, le crash de plusieurs serveurs de stockage successifs, des fichiers effacés par une erreur humaine (et récupérés proprement car MooseFS gère une trash). Pas le moindre octet perdu, et les perfs sont relativement correctes. Bref, un filesystem très intéressant, qui mérite vraiment d’être plus connu, et merveilleux pour du stockage lourd où la sécurité des données est critique. La liste de diffusion compte plusieurs déçus de GlusterFS, qui revivent depuis :-), et un cluster de plusieurs péta-octets est même en cours de mise en service par une société américaine. A suivre…
Update (15/04/2011) : Dans le dernier numéro de GNU Linux Magazine France (n°137, avril 2011), vous trouverez un long article sur MooseFS.
FRsAG : Liste de diffusion pour les sysadmins
Il existe le fameux FRnOG pour le réseau, et… maintenant FRsAG pour les sysadmins ! Vous l’aurez peut être compris, une nouvelle liste de diffusion dédiée aux sysadmins vient de voir le jour : http://www.frsag.org/
Pour s’y inscrire, rendez-vous sur http://www.frsag.org/mailman/listinfo/frsag
Excellente initiative, merci Greg ;-)

