Maniatux's Blog

Welcome to the internet

Sysadmin

Serveur sous OpenBSD #6

Rédigé par Xavier - - Aucun commentaire

Lenteurs

J'ai installé OpenBSD sur un ordinateur physique, et les performances sont maintenant correctes. J'en déduis que les lenteurs que je rencontrais étaient dues à Linux-KVM, il y a probablement des paramètres à trouver ou des bugs à corriger. En effet, plus d'une heure pour décompresser une archive de 22Mo (les ports), on se dit qu'il y a un problème. Voici les paramètres du disque virtuel KVM que j'utilisais :

  • Format : qcow2
  • Taille : 32636Mo
  • Bus : IDE
  • Cache : none

Voici la configuration de la machine physique que j'utilise désormais pour travailler :

  • Processeur AMD Athlon 3500+ (64 bits)
  • 1GB de ram
  • Disque 160GB IDE
  • GeForce 7600GT

Ports

Je me suis à nouveau penché sur les ports et la compilation de Prosody. Après avoir épluché la documentation anglophone j'ai appris à différencier les branches d'OpenBSD et des ports :

  • Release : la version du CD-ROM
  • Stable : la version à jour
  • Current : la version de développement

Et il convient de ne pas mélanger deux branches entre OpenBSD et les ports. Je tourne sur OpenBSD 5.0, et dans mes premiers essais j'avais récupéré une archive des ports datant de Aout 2011 que j'avais trouvé dans le répertoire "OpenBSD5.0" mais visiblement ce n'est pas la bonne version, allez savoir pourquoi.

J'ai ensuite récupéré une version dans le répertoire "Snapshots", mais là on est sur du current et ça ne fonctionnait pas non plus. Après une bonne bagarre avec la documentation, j'ai enfin trouvé la démarche à suivre :

  1. Télécharger la version "OpenBSD5.0" des ports (celle de Aout 2011)
  2. Décompresser
  3. Mettre à jour avec cvs

Concrètement ça donne ça :

# cd /root
# ftp ftp://ftp.openbsd.org/pub/OpenBSD/5.0/ports.tar.gz
# tar xzf ports.tar.gz -C /usr
# cd /usr/ports
# export CVSROOT=anoncvs@ftp5.eu.openbsd.org:/cvs
# cvs up -rOPENBSD_5_0 -Pd

Pfiou, après plusieurs minutes, vous devriez avoir un arbre de ports enfin à jour. En effet, Prosody apparait bien comme 0.7p5, et accepte de compiler sans erreur.

Documentation

Et maintenant ?

Je me penche sur la modification du port pour avoir Prosody 0.8.2. Si j'y parviens je m'inscrirais au mailinglist de OpenBSD pour éventuellement leur soumettre mon travail, si c'est assez propre.

Serveur sous OpenBSD #4

Rédigé par Xavier - - Aucun commentaire

J'ai installé un OpenBSD en virtuel afin de voir si il y avait possibilité de modifier le port de Prosody pour passer de la version 0.7 (qui est fournie en package) à la 0.8.2 qui est la dernière existante (et qui corrige pas mal de bugs). Première surprise en constatant que si le package OpenBSD de Prosody est en 0.7, son port est en 0.6. C'est étonnant car les packages sont censés être construits à partir des ports, la version devrait donc être la même.

J'ai quand même lancé la compilation du port, et celle-ci s'est vautrée sur une des dépendances au bout d'un quart d'heure. OpenBSD est un système fiable, audité, mais ses ports semblent tout de même obsolètes, voir à l'abandon, ce qui peut se révéler problématique. Cela donne une impression de rigidité, le système n'est pas vraiment souple mais plutôt tourné vers des applications spécifiques.

J'ai quand même envoyé un message au mainteneur du port de Prosody, j'attends sa réponse pour avoir plus de précisions.

EDIT : le mainteneur m'a répondu, il confirme qu'il ne travaille plus sur le port.

Classé dans : Sysadmin - Mots clés : aucun

Serveur sous OpenBSD #3

Rédigé par Xavier - - Aucun commentaire

Encore une fois, je n'ai plus d'accès root à mon serveur. La dernière fois c'était sur NetBSD, j'avais spécifié à ssh de n'autoriser la connexion que pour un seul utilisateur, et celui-ci n'était pas dans le groupe wheel. Cette fois le problème est un peu différent, l'utilisateur est bien dans le groupe wheel, mais n'a pas de mot de passe (suite à mauvaise manip). Donc lorsque j'aurai le courage, j'irai brancher un clavier sur le serveur (et un ecran) afin de me connecter en root et redéfinir le mot de passe pour l'utilisateur qui a l'accès distant.

Quelques manipulations hasardeuses m'ont permis de découvrir deux nouvelles choses : OpenBSD intègre sudo dans le système de base, et les essais d'élévation de privilèges infructueux sont reportés par mail. Ainsi lorsqu'un utilisateur entre la commande sudo, et qu'il ne fait pas partie du fichier sudoers, un mail est envoyé à l'administrateur pour le signaler avec tous les détails.

Cela va faire une semaine maintenant que le serveur fonctionne, et je n'ai pas rencontré de problème majeur.

Classé dans : Sysadmin - Mots clés : aucun

Serveur sous OpenBSD #2

Rédigé par Xavier - - Aucun commentaire

Un point que je n'ai pas encore évoqué, et qui est entièrement positif, ce sont les rapports journaliers envoyés par le serveur. C'est fait automatiquement, il suffit bien entendu d'avoir un daemon SMTP et de configurer ses alias pour qu'un certain utilisateur récupère les messages de root (ou alors il faut consulter les mails de root directement).

On reçoit donc deux mails par jour, à 1h30 du matin, l'un intitulé Daily output qui présente un df -h (liste des partitions et espace utilisé) ainsi que le nombre de paquets qui transitent par le réseau, l'autre Daily insecurity output qui va vous indiquer les éventuelles erreurs sur votre système, par exemple un fichier secrets.db avec les mauvaises permissions.

NetBSD le faisait aussi, et je suis bien content de retrouver cette fonctionnalité. C'est possible aussi sur les serveurs Linux, mais visiblement rarement configuré par défaut. C'est pourtant bien pratique. C'est l'occasion aussi de voir qu'il y a du trafic IPv6 sur le réseau, probablement entre les ordinateurs du LAN (car mon FAI ne fourni pas d'IPv6).

Autrement je n'ai pas de problème avec OpenSMTPD + Dovecot qui tournent très bien, tout est parfait.

Classé dans : Sysadmin - Mots clés : aucun

Serveur sous OpenBSD #1

Rédigé par Xavier - - Aucun commentaire

Cela fait à peu près 24 heures que mon serveur est passé sur OpenBSD 5.0 i386, et que j'utilise OpenSMTPD pour mes mail et Dovecot pour l'IMAP. Leur installation et configuration s'est déroulée sans encombre.

En revanche c'est beaucoup plus compliqué pour Prosody, le daemon Jabber. Il n'est disponible qu'en version 0.7 dans les packages, alors que la dernière version est la 0.8.2. C'est sur cette version que tournait mon précédent serveur, et l'import de la config et du data ne semble pas fonctionner.

Je me suis donc mis en tête d'aller jeter un œil dans les ports, en installant OpenBSD et ses outils de développement dans une machine virtuelle. Le téléchargement de l'archive compressée des ports s'est fait sans soucis, puisqu'elle ne pèse que 20Mo. En revanche, la décompression fut très douloureuse. Plus de 15 minutes, parce qu'il était 3 heures du matin et que je suis allé me coucher en le laissant travailler. Plus de 15 minutes pour décompresser une archive de 20Mo, ça fait vraiment très très long. Des lenteurs que j'impute (à tort ou à raison) au système de fichiers de OpenBSD qui n'est peut-être pas optimisé pour gérer des milliers de petits fichiers. Sur ce point, Linux et son ext4 restent imbattables, et de loin loin loin. Et même sur NetBSD, où pkgsrc était plus gros, la décompression était moins longue.

A cela s'ajoute un autre problème, comment mettre à jour les ports ? La documentation ne semble pas développer ce point. La seule solution que je connaisse actuellement est de télécharger l'archive complète. Si quelqu'un a une meilleure solution, je suis preneur.

Mon départ sur OpenBSD me laisse donc une impression mitigée pour le moment. D'un côté la simplicité d'OpenSMTPD, de l'autre les mauvaises performances du système de fichier. A suivre.

Classé dans : Sysadmin - Mots clés : aucun