Utilisation de backuppc avec Windows 7 et VSS (shadow copy)

Sous backuppc, les utilisateurs peuvent être avertis d’une erreur de sauvegarde des fichiers Outlook lorsque leur poste est sauvegardé par smb. Mais je voulais profiter de la rapidité et de la sécurité de SSH couplé à Rsync. Le problème de cette solution est que les fichiers ouverts, tout comme en sauvegardant en smb, no peuvent pas être sauvegardés.

Mon but est donc de procéder comme suit :

  • création d’une volume shadow copy puis montage de volume avant la sauvegarde
  • sauvegarde du postes par SSH/Rsync
  • démontage et suppression de la volume shadow copy

Continuer la lecture

Résoudre les problèmes mdadm lors de la mise à jour de votre Debian vers la Squeeze

Lancer la commande suivante :

/usr/share/mdadm/mkconf

Copier coller le contenu dans le fichier /etc/mdadm/mdadm.conf en vérifiant bien que vous avez tous vos array et qu’il n’y en a pas en double (j’ai eu le souci sur un array).
J’ai dû vérifier les uuid des array démarrés et utilisés actuellement avec les commandes

mdadm --query --examine /dev/sda1
mdadm --query --examine /dev/sda2

La commande suivante est peut-être plus rapide pour faire ce job

mdadm --detail --scan

Il existe aussi la commande suivante que je viens de découvrire

blkid

J’ai donc ensuite ignoré les lignes avec les uuid fantômes.

Je suis actuellement en train de chercher ce qu’il faut faire pour supprimer ces uuid fantômes.

Problèmes avec onduleur Eaton sous Nut

!! Article en cours de rédaction !!

Sites trouvés :
http://blog.adlibre.org/technology/how-to-configure-eaton-ellipse-asr-ups-with-centos-5.html
http://blog.shadypixel.com/monitoring-a-ups-with-nut-on-debian-or-ubuntu-linux/
http://doc.ubuntu-fr.org/onduleur_mge_ups_systems_psp
http://forum.ubuntu-fr.org/viewtopic.php?id=86196
http://www.networkupstools.org/stable-hcl.html

Contenu de mon fichier ups.conf

[ONDULEUR]
#driver = newhidups
driver = usbhid-ups
port = auto
port = /dev/usb/hiddev0
desc = "Eaton"

Retour de la commande upsdrvctl start

Network UPS Tools - UPS driver controller 2.4.3
Network UPS Tools - Generic HID driver 0.34 (2.4.3)
USB communication driver 0.31
No matching HID UPS found
Driver failed to start (exit status=1)

Retour de la commande lsusb

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Après un reboot l’onduleur semble ne plus être du tout reconnu. J’ai donc l’impression que l’onduleur ne fonctionne que quelques temps après avoir été branché mais qu’un problème de l’USB lui fait perdre contact avec le PC.

Module r8169 manquant lors de la mise à jour vers la Debian Squeeze

Lors de la mise à jour d’une Debian Lenny a la version Squeeze de l’un de mes serveurs, j’ai obtenu le message d’erreur suivant :

W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169

Pour résoudre ce souci, j’ai trouvé la solution dans un forum, voilà la procédure :

Connecté en root installer les packets suivants

aptitude install firmware-linux firmware-linux-free firmware-linux-nonfree modconf

Ensuite lancer modconf et activer les pilotes suivants :

Dans la section kernel/drivers/pci/hotplug
activer
  fakephp (pas présent sur mon serveur)
  pci_hotplug
  shpchp
Dans la section kernel/drivers/net
activer
  8139too

Source : http://lists.debian.org/debian-user-french/2011/02/msg00536.html

Ajouter wdidle3 à un iso de l’ultimate boot cd et utilisation de wdidle3

J’utilise pas mal de disques Western Digital Caviar Green dans les serveurs linux que j’assemble pour mes clients. En plus du « problème » des secteurs de 4k au lieu de 512 octets il existe un souci avec le parcage automatique des têtes qui fait grimper la valeur SMART load_cycle_count de manière dangereuse pour la santé des disques.

Afin d’augmenter l’intervalle de parcage des têtes voir de désactiver totalement ce parcage il faut utilise l’outil wdidle3. Cet outil nécessite de booter en mode DOS mais au lieu d’utiliser un cd entier juste pour wdidle il est plus intéressant de l’intégrer à l’UBCD qui comporte déjà pas mal d’utilitaires utiles.

Intégration de wdidle à l’ISO de l’UBCD

– Télécharger l’iso de l’UBCD : http://www.ultimatebootcd.com/

– Télécharger wdidle3 : http://support.wdc.com/product/download.asp?groupid=609&sid=113

– Décompresser l’iso au moyen de 7zip par exemple dans un dossier, nous allons utiliser le dossier d:\ubcd503 dans ce tutoriel

– Copier le fichier wdidle3.zip dans le dossier D:\ubcd503\ubcd\dosapps et renommer le en wdidle3.zip afin de ne pas avoir de souci avec les nom de plus de 8 caractères.

– Modifier le fichier c:\ubcd503\ubcd\custom\custom.ini et ajouter les lignes suivantes :

[User Defined]
wdidle3; "wdidle.exe"; -$; wdidle3

– Modifier le fichier c:\ubcd-extracted\ubcd\custom\custom.cfg en ajoutant les lignes suivantes :

LABEL -
MENU LABEL Wdidle
TEXT HELP
Utilitaire wdidle
ENDTEXT
LINUX /boot/syslinux/memdisk
INITRD /ubcd/images/fdubcd.img.gz
APPEND raw ubcdcmd=wdidle3

– Ouvrez une ligne de commande et lancez la commande suivante afin de reconstruire l’ISO :

D:\ubcd503\ubcd\tools\win32\ubcd2iso\ubcd2iso.cmd D:\ubcdnew.iso

– Gravez l’iso avec imgburn par exemple

Utilisation de wdidle3 à partir de l’UBCD

– Bootez sur le cd et sélectionner « User-defined », là vous devriez avoir wdidle dans la liste des outils disponibles.

– Sélectionner wdidle puis une fois sur la ligne de commande vous pouvez taper la commande suivante afin de désactiver le parcage des têtes :

wdidle3 /d

Page utilisée comme base pour la rédaction de ce tutoriel :  http://www.ultimatebootcd.com/customize.html

Mise en place de jobs cron pour phplist

Après avoir un peu galéré pour la mise en place de jobs cron pour lire les flux rss et traîter la file dans phplist je vous livre le résultat de mes recherche.

Dans la doc il est donc qu’on peut mettre une ligne de ce type pour éxécuter un job cron :

/home/www/phplist/public_html/lists/admin/index.php -pgetrss -c /home/client/www/phplistigf.conf

He bien pas du tout, cela provoque une erreur au sujet de USER qui n’est pas défini.

Je suis tombé sur cette page http://docs.phplist.com/CommandLineScriptExamples où ils indiquent qu’il faut mettre un script en place par exemple à cet endroit /home/client/phplist.sh

#!/bin/bash

# Place config data in environment
export CONFIG

# Check the USER environment variable is set
if [ $USER ]; then
echo found USER variable
else
USER=www-data
#   USER=listprocessor
export USER
fi
# run the PHPlist index file with all parameters passed to this script
/usr/bin/php /home/www/phplist/public_html/lists/admin/index.php $*

Ne pas oublier de passer le script exécutable avec un chmod +x

Puis mettre les lignes suivantes dans le crontab :

/home/client/phplist.sh -pgetrss -c /home/client/www/phplistigf.conf         # pour getrss
/home/client/phplist.sh -pprocessqueue -c /home/client/www/phplistigf.conf         # pour processqueue

Je précise le fichier de configuration car j’utilise une seule installation de phplist pour plusieurs site, le fichier de configuration est donc différent pour chaque site (base de données différentes, paramètres différents, etc.)

On peut rajouter un petit >/dev/null à la fin des lignes cron une fois que tout fonctionne afin de ne pas avoir de mails contenant le retour de la console

Problème de ping d’une machine Linux avec son nom… erreur de débutant

Après avoir installé mon serveur de sauvegarde, j’ai constaté que je ne pouvais pas faire de ping de son nom depuis un pc sous windows ou mon autre serveur Linux. J’ai donc procédé à une vérification des ports ouverts, du paramétrage de samba, des règles des firewall, des logs de samba, etc. … rien d’anormal…

Avant d’abandonner… pour cette nuit :-D, j’essai un dernier test depuis mon autre serveur Linux :

srv01:/var/log/samba# nmblookup srv02
querying srv02 on 192.168.2.255
192.168.2.2 srv02<00>

Bon il ne le trouve toujours pas, normal car le ping srv02 ne fonctionnait pas. Je fais donc le test dans l’autre sens sur l’autre serveur :

srv02:/var/log/samba# nmblookup srv01
querying srv01 on 192.255.255.255
name_query failed to find name srv01

Et là que vois-je ????? une adresse en 192.255.255.255 alors que sur l’autre l’adresse de broadcast était 192.168.2.2555.

He oui finalement ce n’était qu’une erreur de masque sur l’interface de mon serveur srv02, après avoir mis 255.255.255.0 tout est rentré dans l’ordre et tout le monde pouvait se pinguer joyeusement par le nom…

Migration de backuppc d’une machine sous Debian Lenny à une autre

Dans un précédent en cours de rédaction je décris comment installer Lenny sur des disques WD EARS avec clusters de 4KB. Suite à cela il a fallu que je transfert le logiciel backuppc, sa configuration et le pool de sauvegarde sur cette nouvelle machine. La tâche a été assez facile, un peu de rsync, scp, chown, ln, etc. et le tour était joué. J’ai tout de même au quelques petits soucis donc j’explique la solution dans ce billet.

Après avoir tout transféré, les graphiques sur la page d’accueil de backuppc ne fonctionnaient plus. J’ai donc jeté un oeil dans le fichier error d’apache :

  1. Une fois backuppc installé sur la nouvelle machine, arrêter le service sur les deux machines.
  2. Copier /etc/backuppc sur la nouvelle machine en sauvegardant la configuration actuelle ailleurs… juste au cas où 🙂
    Vérifier les droits sur les fichiers
  3. Copier le pool de sauvegarde sur la nouvelle machine (srv02) pour moi c’était la commande suivante à lancer sur la nouvelle machine avec du rsync et du ssh :
    rsync -apzv --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive --partial -e "ssh -p 22 -i /root/.ssh/id_rsa" root@srv01:/backup/backuppc/ /home/backuppc/<br style="font-family: Georgia, 'Bitstream Charter', serif; color: #444444; line-height: 1.5;" />

    Il y a peut-être plus court comme commande mais au moins on voit bien toutes les options en clair.
    La copie a duré plusieurs heures car il y avait tout de même plus d’un tera-octet de données.

  4. J’ai modifié le fichier de configuration afin d’indiquer que le pool se trouve sur /home/backuppc, c’est le paramètre suivant : $Conf{TopDir} = ‘/home/backuppc’;
    J’ai ensuite créé un lien symbolique de /var/lib/backuppc (dossier du pool par défaut) sur /home/backuppc, je ne sais pas si c’est nécessaire mais au moins je ne risque pas d’erreur avec un répertoire /var/lib/backuppc manquant.
  5. Vu que je suis passé d’une Lenny 32 bits à une Lenny 64 bits j’ai eu un souci avec rrdtool qui ne voulait plus générer les graphiques et je me suis retrouvé avec le message suivant dans le error.log d’Apache :
    « ERROR: This RRD was created on another architecture »
    J’ai donc suivi les indications données ici : http://tripleblack.net/~mmeija/?q=node/27
    Lancez la commande suivante sur la nouvelle machine : cd /var/lib/backuppc/log && rrdtool dump pool.rrd >pool.rrd.xml
    Copier le fichier pool.rrd.xml sur la nouvelle machine avec un ptit scp par exemple.
    Faites une sauvegarde du fichier pool.rrd de la nouvelle machine puis lancez la commande qui va restaurer les données des graphiques : mv pool.rrd pool.rrd.old && rrdtool restore pool.rrd.xml
    Vérifiez les droits sur les fichiers, je ne l’avais pas fait et le fichier pool.rrd était resté en root:root du coup les statistiques ne pouvaient pas être mises à jour.

Et voilà vous pouvez relancer backuppc et ouvrir l’interface web. Petit rappel, si vous ne vous souvenez pas du mot de passe dans le cas où vous l’ayez enregistré dans votre navigateur il y a six mois ;-), un petit coup de htpsswd /etc/backuppc/.htpasswd backuppc vous permettra d’en définir un nouveau.