J’avais 2 serveurs chez OVH et Dedibox qui étaient en redondance complète (fichiers, mysql, web, mails, dns) avec du DNS failover. N’ayant plus les même besoins, je voulais réduire mes coûts de serveur tout en gardant un serveur dont je puisse gérer le système. J’ai pris l’offre de serveur dédié de 1 And 1.

Et bien je peux vous dire que je regrette. En gros chez 1&1 on a 4 Go de mémoire “disponibles” et 1 Go de mémoire “réservée”. C’est un peu comme l’illimité d’orange qui est en fait limité. La mémoire disponible est là “parfois” et on ne peut même pas préciser qu’on en veut pas. Et la mémoire réservée, j’ai bien l’impression qu’elle ne l’est pas.

Le soucis que j’ai c’est que par moment le noyau virtualisé refuse d’allouer de la mémoire et là tout est bloqué :

[Thu Mar 11 18:45:35 2010] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Thu Mar 11 18:45:45 2010] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Thu Mar 11 18:49:03 2010] [error] server reached MaxClients setting, consider raising the MaxClients setting

Quand apache signale qu’il a atteint les “MaxClients” c’est qu’il est crashé. Et là c’est perdu, le serveur accepte les connexions et ne répond jamais.

Le “cannot allocate memory” c’est tout à fait scandaleux. Comment on peut prétendre offrir un serveur virtualisé si on est pas capable de garantir un minimum de mémoire. Le pire étant quand même que je ne consomme vraiment pas beaucoup de RAM, je ne dois jamais dépasser les 800 Mo. Mes stats actuelles sont :

$ free -m
             total       used       free     shared    buffers     cached
Mem:          4096        570       3525          0          0          0
-/+ buffers/cache:        570       3525
Swap:            0          0          0

Donc là j’ai l’idée brillante d’activer un fichier de swap mais au moment où j’éxecute “swapon” en fait ce n’est pas possible :

dd if=/dev/zero of=/var/swapfile bs=1M count=1024
mkswap /var/swapfile
swapon /var/swapfile

J’obtiens un bel “Operation not permitted” sur cette dernière commande. En effet c’est Virtuozzo qui est sensé assurer la mise en swap de la mémoire à son niveau. C’est là aussi qu’on se dit que la virtualisation noyau c’est pas forcément top.

C’est assez incroyable. Je préférerais 512 Mo de RAM “pour de vrai” que 4 Go de RAM sur lesquels je ne peux pas compter.

Mais ce n’est pas tout. Pendant un moment le serveur n’était quasiment plus joignable, j’avais 3 paquets sur 4 qui se perdaient. Puis un autre jour la charge atteignait des niveaux affolants en continu avec un serveur quasiment au repos. Le support m’a dis que j’avais du mal configurer un truc. La panne a duré 2 jours mais bien sur ils n’ont répondu que 2 jours plus tard, donc forcément, ils ne constatent pas de problème. Et il faut croire qu’ils n’ont pas d’outils de monitoring de leur serveur pour reconnaitre le problème.

Bref je m’en vais de chez eux. Je vais tout faire pour ne pas payer l’argent de la période d’engagement, mais je préfère encore perdre cet argent qu’avoir à supporter (et plus exactement faire supporter aux visiteurs) des sites à la disponibilité aléatoire.

Par ailleurs, Debian n’était dispo qu’en 32 bits chez eux, j’avais le choix entre CentOS 64 bits et Debian 32 bits. C’est le genre de choix que je n’aime pas trop faire.