Macsim's mind: $tail -f macsim

Aller au contenu | Aller au menu | Aller à la recherche

Debian

dimanche, juillet 13 2008

Additionner des disques avec mhddfs

Attention j'ai testé ce logiciel sur debian testing dans une machine virtuelle.

Mhddfs est un logiciel qui permet d'additionner plusieurs disques ensemble afin d'en faire un seul virtuel, on parle bien ici d'addition ce n'est donc pas du RAID0, Lorsque l'on copie un fichier en RAID0 la moitié du fichier est sur un disque et le reste sur un autre (Vision Basique). Avec mhddfs on copie un fichier il est mis complètement dans un des disques qui forme la parition virtuelle.

Pour tester tout ça j'ai donc fait une machine virtuelle avec une Debian testing, un disque dur de 4G (pour installer la debian) et deux disques durs de 1G pour faire les tests.

Pour l'installation on reste sur le classique:

#aptitude install mhddfs

Ensuite voici un df -h du système de fichier avant la fusion.

/dev/sdb1 est formaté en ext3

/dev/sdc1 est formaté en reiserfs

On additionne les deux disques "/mnt/disk1(sdb1)" et "/mnt/disk2(sdc1)"

avec la commande:

#mhddfs /mnt/disk1,/mnt/disk2 /mnt/ftp/

Et comme résultat on obtiend une belle partition de 2G.

La commande peut être tapée avec un -o et des options, les options disponibles sont:

  • allow_other (pour permettre aux autres utilisateurs d'accéder à la partition virtuelle)
  • logfile = /tmp/log.log
  • loglevel = N
  • N peut être 0 = Debug message, 1 = Messages d'info, 2 = Message standard.
  • mlimit-size = (défaut 4giga, mini = 100Mo)

Si on veut ajouter un automontage avec /etc/fstab pour mon exemple voici la ligne:

/mnt/disk1,/mnt/disk2 /mnt/ftp fuse defaults,allow_other 0 0

Pour ce qui est des limites, la taille maximal d'un fichier "copiable" dans la parition virtuelle est égale au plus grand espace disque libre sur un des disques durs.

Exemple:

Si on fusionne un disque de 400G avec 200G de libre est un disque de 200G avec 50G de libre.

La taille maximale du plus gros fichier "copiable" est de 200Giga et non pas 250 Go, même si l'espace disque restant est 250Go.

mhddfs est encore en développement donc à utiliser avec précautions.

vendredi, juillet 11 2008

SmsAlert : Envoyer des sms gratuitement depuis ses serveurs

EDIT: On m'a fait remarqué que cette solution ne fonctionne pas sous Ubuntu Hardy Heron, je suis en train de plancher sur une solution.
Actuellement ça fonctionne parfaitement avec une debian stable.
------------------------

Je me permet de faire passer ce billet sur le planetlibre car je pense qu'il pourra servir à certains d'entre nous et je n'étais pas inscrit à l'époque, l'original date du 15-02-2008.


Il y a quelques jours je me demandais comment être alerté gratuitement par sms depuis mes serveurs en cas de soucis ou panne. Alors après avoir épluché google et parcouru une dizaine de sites gratuits mais payant (cherchez l'erreur) après avoir demandé à mes connaissances et ne trouvant pas de solution j'ai fini par pondre la solution suivante, alors oui ce n'est pas parfait, oui ce n'est pas 100% libres, oui c'est du bidouillage, mais bon ça fait ce que je veux, comme je le veux.


Alors pour cette recette j'ai besoin :


Premièrement je vais créer un compte sur google calendar.



Une fois le compte créé je vais surGoogle Calendar je clique sur la flèche à côté de mon agenda:


et je choisis notification.

Une fois sur la fenêtre des options de notification je clique sur : "Configurez votre mobile pour recevoir des notifications".



Dans la fenêtre de paramètre je saisis mon numéro de mobile, je clique sur "Envoyer le code de vérification".



Je reçois un texto du genre:

Votre code de vérification de Google Agenda est XXXXXX


Je saisi le code et "Terminer la configuration."

Maintenant dans la fenêtre de notification je choisis d'envoyer par défaut un rappel via SMS.



Voilà tout est bon, passons maintenant à smsalert.
J'ai créé deux fichiers d'envoi de sms (sms.php et sms_plan.php) qui utilisent les deux excellentes classes de Mr Alexander Skakunov.

cd ~
wget http://macsim.labolinux.net/upload/smsalert.tar.gz
tar zxvf smsalert.tar.gz
cd smsalert


Quelques explications:

Dans le dossier il y a deux classes GoogleCalendarWrapper et MyCurl, j'ai légèrement retouché ces deux classes.
J'ai ajouté l'ajout de notification dans les nouveaux évènement et j'ai changé le chemin des logs curl.
Le principal soucis c'est que google calendar ne permet pas de notification inférieure à 5 minutes ce qui est normal pour utilisation classique de google calendar. J'ai donc rusé, sms.php ajoute l'évènement 5 minutes et 30 secondes après l'instant T.

Configuration:

Maintenant j'édite sms.php et sms_plan.php pour modifier la ligne:

$gc = new GoogleCalendarWrapper("VOTRE_MAIL", "VOTRE_PASS");

avec mon compte google.

Voila la configuration est terminée.
Il n'y a plus qu'à utiliser.


Utilisation de sms.php

Sms.php permet d'envoyer un sms en ajoutant l'évènement 5 minutes et 30 secondes après l'instant T.
Ce qui réalise un envoi presque immédiat.

Syntaxe:

$php sms.php "TITRE" "MESSAGE"

Exemple:

$php sms.php "Serveur Mail" "Reboot"


et dans les 30secondes qui suivent on reçoit le sms.
J'utilise sms.php pour mes scripts avec cron.

Utilisation de sms_plan.php

Sms_plan.php lui ajoute un évènement à une heure précise pour planifier quelque chose.
Syntaxe:

(L'heure doit être de la forme HH:MM).


$php sms_plan.php "TITRE" "MESSAGE" HEURE


Exemple:

$php sms_plan.php "Serveur Mail" "Reboot dans 1h" 16:00.


Voilà le système est près.
Alors, quels sont les avantages de cette méthode, premièrement elle permet d'être informé rapidement d'un incident sur un serveur par sms, deuxièmement l'agenda google gardera une trace de ces évènements et pour finir c'est gratuit ;).
Si vous connaissez un meilleur moyen de réaliser ça je suis preneur.
Si vous voulez ajouter les évènements sur un autre agenda que celui par défaut, l'explication est dans les fichiers sms.php et sms_plan.php.

mardi, juin 17 2008

Xen et le message 4gb seg fixup, process

En me connectant à un domU depuis mon dom0 j'ai vu apparaitre une multitude message avec 4gb seg fixup, process ...
Pour résoudre ce problème il faut taper ça depuis le dom0:

#echo "hwcap 0 nosegneg" > /etc/ld.so.conf.d/nosegneg.conf

puis un petit ldconfig pour appliquer tout ça.

jeudi, mars 13 2008

Installation d'une clé wifi USB SAGEM sur une Debian

Méthode pour installer la clé SAGEM XG-760A sous Debian.

Lire la suite

mercredi, mars 12 2008

Grub et résolution du tty

Bon j'en ai marre de devoir chercher après à chaque fois alors:

Pour du 1024x768 16M de couleur  : 792.

Pour du 1280x1024 16M de couleur : 795.


Pour ceux qui lise ça et ne comprennent pas de quoi je parle, on peut configurer la résolution de ses TTY (quand on fait ctrl+alt+F1 par exemple) pour régler ça sous grub on édite le fichier /boot/grub/menu.lst et on cherche la ligne (81 normalement) :

# defoptions=

Et on la change en :

#defoptions=vga=792

ensuite un petit coup de

update-grub

et on redemarre.

mercredi, septembre 5 2007

DatabaseError: file is encrypted or is not a database avec trac

Aujourd'hui j'ai rencontré cette charmante erreur avec trac j'ai rien trouvé en français pour résoudre le problème alors si ça peut aider les anglophobes.

Traceback (most recent call last):
File "/usr/share/trac/cgi-bin/trac.cgi", line 20, in ?
cgi_frontend.run()
File "/var/lib/python-support/python2.4/trac/web/cgi_frontend.py", line 68, in run
gateway.run(dispatch_request)
File "/var/lib/python-support/python2.4/trac/web/wsgi.py", line 87, in run
response = application(self.environ, self._start_response)
File "/var/lib/python-support/python2.4/trac/web/main.py", line 377, in dispatch_request
env = _open_environment(env_path, run_once=run_once)
File "/var/lib/python-support/python2.4/trac/web/main.py", line 51, in _open_environment
return open_environment(env_path)
File "/var/lib/python-support/python2.4/trac/env.py", line 435, in open_environment
if env.needs_upgrade():
File "/var/lib/python-support/python2.4/trac/env.py", line 315, in needs_upgrade
if participant.environment_needs_upgrade(db):
File "/var/lib/python-support/python2.4/trac/env.py", line 369, in environment_needs_upgrade
dbver = self.env.get_version(db)
File "/var/lib/python-support/python2.4/trac/env.py", line 236, in get_version
cursor.execute("SELECT value FROM system WHERE name='database_version'")
File "/var/lib/python-support/python2.4/trac/db/util.py", line 51, in execute
return self.cursor.execute(sql)
File "/var/lib/python-support/python2.4/trac/db/sqlite_backend.py", line 56, in execute
args or [])
File "/var/lib/python-support/python2.4/trac/db/sqlite_backend.py", line 48, in _rollback_on_error
return function(self, *args, **kwargs)
DatabaseError: file is encrypted or is not a database

Pour résoudre le problème:

#aptitude install sqlite
#find CHEMIN_VERS_LES_INSTANCES_TRACS -iname "trac.db" | xargs -i bash -c "mv {} {}.2; sqlite {}.2 .dump | sqlite3 {};"
#chown www-data\: CHEMIN_VERS_LES_INSTANCES_TRACS/. -R

Et ça devrait rouler.

mardi, novembre 14 2006

Dunk-Tank, les bonnes questions, posées intelligemment


Le blog de Sukria, m'informe de ce mail, qui décrit de façon intelligente toute la problématique de Dunk-Tank.

dimanche, novembre 5 2006

Utiliser le système de suivit de bug (BTS) de debian.

J'ai réalisé la traduction d'un post sur http://www.debian-administration.org de jamesw.
Cet article est intitulé Using the Debian bug-tracking system.
Il représente une introduction à l'utilisation du système de suivit de bug de debian.


Au sommaire:
  1. Regarder un bug.
  2. Etat (States), Sévérité (Severities) et Etiquette (Tags).
  3. Reporter un bug.
  4. Ajouter à un bug.
  5. Manipuler les bugs.
  6. Fermer et réouvrir des bugs.
  7. Autres astuces.
Merci de me faire parvenir les coquilles.

Lire la suite

samedi, septembre 30 2006

[Archive] Debian

Archive de la section Debian de l'ancien blog.
Contenu:
  1. - Guide d'installation de la Debian Sarge en Français.
  2. - Enlightment 17 sous debian.
  3. - Prelink pour optimiser vos programmes.
  4. - Virer des vieux fichiers de configuration.
  5. - Erreur [ Waiting 2 sec for /sys/block/hda/dev ].

Lire la suite