Taille: 3568
Commentaire: réparé
|
Taille: 4535
Commentaire:
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
= Description = | ## Che fais le ménache -- PeBecue <<DateTime(2012-04-15T23:08:46+0100)>> |
Ligne 3: | Ligne 3: |
Il s'agit d'un SUN XFIRE 2100, un serveur 1U avec un opteron 64bits et d'un disque SATA de 80 Go | = Ragnarok = |
Ligne 5: | Ligne 5: |
Ragnarok fonctionne sur [http://www.openbsd.org/ OpenBSD]. | Ragnarok est le serveur qui s'occupera (bientôt) de récupérer les logs des différents serveurs du Cr@ns. Il a reçu deux disques durs montés en RAID d'un teraoctet, et a été mis à neuf sous squeeze. |
Ligne 7: | Ligne 7: |
= Les services = | = Configuration et services = |
Ligne 9: | Ligne 9: |
* le wifi (à ne pas confondre avec le wiki) ; quelques infos supplémentaires sur WifiTechnique/OpenBsd. * devrait stocker les sauvegardes de pegase (à rediscuter de qui le gère) ---- |
Ragnarok a été installé sous squeeze, en debootstrap. |
Ligne 13: | Ligne 11: |
= Les mises à jour = Openbsd sort une mise à jour bi-annuelle, une en novembre, l'autre en mai. Chaque mise à jour se fait de version en version (3.8->3.9, 3.9->4.0). |
Les services installés dessus sont : |
Ligne 16: | Ligne 13: |
== 3.8 -> 3.9 == | * La gestion des logs |
Ligne 18: | Ligne 15: |
* Il y a eu des modifications locales (qui ont été reportés dans les nouveaux fichiers) dans les fichiers suivants : * {{{/etc/rc}}} (lancement de {{{named}}}, {{{isakmpd}}} et {{{httpd}}} avec {{{systrace}}}) * {{{/mtree/special}}} ({{{pf.conf}}} en 0644) * {{{/etc/rc.conf}}} (activation de {{{named}}}, {{{ntpd}}}, {{{isakmpd}}}, {{{dhcpd}}}, {{{httpd}}}, {{{nfs_server}}}, {{{amd}}}, {{{pf}}}, {{{portmap}}}, {{{syslogd}}} et paramètre {{{amd_dir}}}) * {{{/etc/ssh/sshd_config}}} (root peut se loguer) * {{{/etc/sysctl.conf}}} (forwarding... le chiffrement de la swap était activé, il ne l'est plus) * Par contre, il semblerait qu'aucune mise à jour de paquet n'ai pu se faire : il y a eu un tas d'erreurs du style : {{{ --- bzip2-1.0.3 ------------------- Couldn't delete /usr/local/lib/libbz2.so.10.3 (bad md5) Couldn't delete /usr/local/bin/bzip2 (bad md5) Couldn't delete /usr/local/bin/bzip2recover (bad md5) Couldn't delete /usr/local/lib/libbz2.a (bad md5) Files kept as partial-bzip2-1.0.3 package }}} Supprimer les paquets {{{partial-*}}}, et relancer la mise à jour résoud le problème : {{{ for u in $(pkg_info 2>/dev/null|awk '/^partial/{print $1}'); do pkg_delete $u; done pkg_add -ui -F update -F updatedepends |
== Configuration sur Ragnarok == Ragnarok fonctionne avec rsyslog, il faudra donc passer tous les serveurs sous rsyslog pour qu'ils puissent envoyer leurs informations à celui-ci. Pour centraliser les logs, on utilise PostgreSQL, avec le paquet rsyslog-psql (la table par défaut s'appelle Syslog). L'envoi d'un serveur vers Ragnarok se fera à l'aide du protocole RELP (une surcouche de TCP, plus fiable), il faut donc veiller à installer le paquet rsyslog-relp. Une fois cela fait, on crée le répertoire rsyslog.d/ dans le dossier /etc/ s'il n'existe pas (a priori, il existe déjà, car rsyslog-psql crée un fichier psql.conf dans ce dossier). Et dedans, on va créer le fichier listen_relp.conf, que l'on va remplir ainsi : {{{ $ModLoad imrelp $InputRELPServerRun 20514 |
Ligne 39: | Ligne 26: |
== 3.9 -> 4.0 == | La première ligne sert à charger le module imrelp, la seconde place Ragnarok en écoute sur le port 20514, en attente de logs. Cela fait, on relance rsyslog via la commande "sudo /etc/init.d/rsyslog restart". |
Ligne 41: | Ligne 28: |
* Modifications locales : comme ci-dessus, plus : * {{{/etc/mail/aliases}}} (alias de {{{root}}} vers {{{root@crans.org}}}) * {{{/etc/rc.local}}} (on conserve le fichier déjà en production) |
== (Re)Configuration des serveurs == |
Ligne 45: | Ligne 30: |
== Trucs cassés == | Parlons de la reconfiguration des serveurs, par exemple, whatsupdoc. On s'assure d'abord que le paquet gérant les logs est rsyslog. Par ailleurs, il faut installer rsyslog-relp, pour que l'envoi des informations puisse se faire. Dans /etc/rsyslog.d, nous allons créer le fichier send_relp.conf, contenant les informations suivantes : |
Ligne 47: | Ligne 32: |
* La sauvegarde ne marche plus. * Erreur côté pegase (backuppc) : {{{ Connected to 138.231.144.11:873, remote version 29 Connected to module slash Sending args: --server --sender --numeric-ids --perms --owner --group --devices --links --times --block-size=2048 --recursive --checksum-seed=32761 --one-file-system --exclude=lost+found --exclude=etc/wifi/wifi-update/*/retry --ignore-times . . Checksum caching enabled (checksumSeed = 32761) fileListReceive() failed Done: 0 files, 0 bytes Got fatal error during xfer (fileListReceive failed) Backup aborted (fileListReceive failed) }}} * Erreur côté ragnarok (rsyncd) : {{{ 2006/11/29 00:32:01 [11328] connect from pegase.adm.crans.org (138.231.144.18) 2006/11/29 00:32:02 [11328] rsync on . from backupcrans@pegase.adm.crans.org (138.231.144.18) 2006/11/29 00:32:02 [11328] rsync: writefd_unbuffered failed to write 4 bytes [sender]: Broken pipe (32) 2006/11/29 00:32:02 [11328] rsync error: error in rsync protocol data stream (code 12) at /usr/obj/ports/rsync-2.6.8/rsync-2.6.8/io.c(1119) [sender=2.6.8] |
{{{ $ModLoad omrelp *.* :omrelp:10.231.136.11:20514;RSYSLOG_ForwardFormat |
Ligne 67: | Ligne 37: |
= Histoire = | La première ligne charge le module d'envoi des données en RELP, la seconde spécifie que tous les logs doivent être envoyés à Ragnarok (10.231.136.11), sur le port 20514, via le module omrelp, dans un format prédéfini (RSYSLOG_ForwardFormat). Il ne reste qu'à relancer rsyslog via la commande "sudo /etc/init.d/rsyslog restart". |
Ligne 69: | Ligne 39: |
Il s'agit du premier serveur SUN acheté par le CRANS. C'est aussi le premier serveur qui peut être stocké dans une armoire de switchs. | == Généralisation de la configuration via bcfg2 == |
Ligne 71: | Ligne 41: |
Il est assez surprenant de par sa conception et aussi très étonnant quant à son silence de fonctionnement. | On supposera ici que les modifications de bcfg2 se font via darcs, on notera donc / comme étant la racine du répertoire darcs bcfg2. |
Ligne 73: | Ligne 43: |
---- * CatégorieCrans/PageNonTerminée : Faire le point sur les différents éléments |
Dans /Cfg/etc/rsyslog.d, créer le répertoire send_relp.conf/ et listen_relp.conf/. Dans send_relp.conf/, créer le fichier send_relp.conf, et y mettre les lignes mentionnées au dessus. Dans listen_relp.conf/ créer le fichier listen_relp.conf, et y mettre les lignes mentionnées au dessus également. Dans /Bundler/, créer le fichier rsyslog.xml, et le remplir comme suit : {{{ <Bundle name="rsyslog" version="2.0"> <Service name="rsyslog"/> <Group name="syslog-server"> <ConfigFile name="/etc/rsyslog.d/listen_relp.conf"/> </Group> <Group name="syslog-client"> <Group name="syslog-server" negate="true"> <ConfigFile name="/etc/rsyslog.d/send_relp.conf"/> </Group> </Group> <Package name="rsyslog-relp"/> </Bundle> }}} Dans /Metadata/, modifier le fichier groups.xml, on va modifier le groupe "ragnarok" pour commencer, chercher dans le fichier l'occurence 'Group name="ragnarok"', et y ajouter la ligne : {{{ <Group name="syslog-server"/> }}} Maintenant, on modifie le groupe "crans-common", chercher l'occurence 'Group name="crans-common"', et y ajouter la ligne (là où il faut, histoire que le fichier reste lisible...) : {{{ <Group name="syslog-client"/> }}} Dans la portion services du fichier, dans la catégorie divers, rajouter deux nouveaux groupes : {{{ <Group name="syslog-server" comment="Serveur de centralisation des logs"> <Bundle name="rsyslog"/> </Group> <Group name="syslog-client" comment="Serveurs qui ne centralisent pas les logs (cpt Obvious inside)"> <Bundle name="rsyslog"/> </Group> }}} À partir de là normalement, on peut enregistrer la configuration, et c'est terminé ! Penser à faire add sur les nouveaux fichiers avant de faire un record et de pousser. = Nota = On ne sait pas pourquoi, mais au début whatsupdoc n'envoyait pas les logs, puis finalement après quelques bidouillages, sans qu'on ait compris la cause, ça a marché... À creuser lors de la généralisation. |
Ragnarok
Ragnarok est le serveur qui s'occupera (bientôt) de récupérer les logs des différents serveurs du Cr@ns. Il a reçu deux disques durs montés en RAID d'un teraoctet, et a été mis à neuf sous squeeze.
Configuration et services
Ragnarok a été installé sous squeeze, en debootstrap.
Les services installés dessus sont :
- La gestion des logs
Configuration sur Ragnarok
Ragnarok fonctionne avec rsyslog, il faudra donc passer tous les serveurs sous rsyslog pour qu'ils puissent envoyer leurs informations à celui-ci. Pour centraliser les logs, on utilise PostgreSQL, avec le paquet rsyslog-psql (la table par défaut s'appelle Syslog). L'envoi d'un serveur vers Ragnarok se fera à l'aide du protocole RELP (une surcouche de TCP, plus fiable), il faut donc veiller à installer le paquet rsyslog-relp.
Une fois cela fait, on crée le répertoire rsyslog.d/ dans le dossier /etc/ s'il n'existe pas (a priori, il existe déjà, car rsyslog-psql crée un fichier psql.conf dans ce dossier). Et dedans, on va créer le fichier listen_relp.conf, que l'on va remplir ainsi :
$ModLoad imrelp $InputRELPServerRun 20514
La première ligne sert à charger le module imrelp, la seconde place Ragnarok en écoute sur le port 20514, en attente de logs. Cela fait, on relance rsyslog via la commande "sudo /etc/init.d/rsyslog restart".
(Re)Configuration des serveurs
Parlons de la reconfiguration des serveurs, par exemple, whatsupdoc. On s'assure d'abord que le paquet gérant les logs est rsyslog. Par ailleurs, il faut installer rsyslog-relp, pour que l'envoi des informations puisse se faire. Dans /etc/rsyslog.d, nous allons créer le fichier send_relp.conf, contenant les informations suivantes :
$ModLoad omrelp *.* :omrelp:10.231.136.11:20514;RSYSLOG_ForwardFormat
La première ligne charge le module d'envoi des données en RELP, la seconde spécifie que tous les logs doivent être envoyés à Ragnarok (10.231.136.11), sur le port 20514, via le module omrelp, dans un format prédéfini (RSYSLOG_ForwardFormat). Il ne reste qu'à relancer rsyslog via la commande "sudo /etc/init.d/rsyslog restart".
Généralisation de la configuration via bcfg2
On supposera ici que les modifications de bcfg2 se font via darcs, on notera donc / comme étant la racine du répertoire darcs bcfg2.
Dans /Cfg/etc/rsyslog.d, créer le répertoire send_relp.conf/ et listen_relp.conf/. Dans send_relp.conf/, créer le fichier send_relp.conf, et y mettre les lignes mentionnées au dessus. Dans listen_relp.conf/ créer le fichier listen_relp.conf, et y mettre les lignes mentionnées au dessus également.
Dans /Bundler/, créer le fichier rsyslog.xml, et le remplir comme suit :
<Bundle name="rsyslog" version="2.0"> <Service name="rsyslog"/> <Group name="syslog-server"> <ConfigFile name="/etc/rsyslog.d/listen_relp.conf"/> </Group> <Group name="syslog-client"> <Group name="syslog-server" negate="true"> <ConfigFile name="/etc/rsyslog.d/send_relp.conf"/> </Group> </Group> <Package name="rsyslog-relp"/> </Bundle>
Dans /Metadata/, modifier le fichier groups.xml, on va modifier le groupe "ragnarok" pour commencer, chercher dans le fichier l'occurence 'Group name="ragnarok"', et y ajouter la ligne :
<Group name="syslog-server"/>
Maintenant, on modifie le groupe "crans-common", chercher l'occurence 'Group name="crans-common"', et y ajouter la ligne (là où il faut, histoire que le fichier reste lisible...) :
<Group name="syslog-client"/>
Dans la portion services du fichier, dans la catégorie divers, rajouter deux nouveaux groupes :
<Group name="syslog-server" comment="Serveur de centralisation des logs"> <Bundle name="rsyslog"/> </Group> <Group name="syslog-client" comment="Serveurs qui ne centralisent pas les logs (cpt Obvious inside)"> <Bundle name="rsyslog"/> </Group>
À partir de là normalement, on peut enregistrer la configuration, et c'est terminé !
Penser à faire add sur les nouveaux fichiers avant de faire un record et de pousser.
Nota
On ne sait pas pourquoi, mais au début whatsupdoc n'envoyait pas les logs, puis finalement après quelques bidouillages, sans qu'on ait compris la cause, ça a marché... À creuser lors de la généralisation.