Améliorer les performances de ZFS

zfs optimize

L'ensemble de mes données sensibles sont stockées sur un système ZFS dans plusieurs zpool (qui est l'équivalent d'un RAID5).

Après plusieurs semaines d'utilisation je me suis aperçu que les vitesses d'écriture et de lecture n'étaient vraiment pas rapide.

J'ai donc effectué des recherches afin de trouver des astuces pour améliorer les performances de mon système ZFS.

Utiliser un processeur 64 Bits et de la mémoire

Une des particularités de ZFS est de consommer pas mal de mémoire car il bufferise pas mal.

Dans mon cas, j'utilise 1Go de mémoire par téraoctet d'espace disque utile. Ainsi si votre zpool fait 8To, je vous conseille d'utiliser 8Go de ram.

J'ai également lu qu'un processeur 64 Bits était préférable pour utiliser ZFS. Personnellement je n'ai pas pu testé ZFS sous un système 32 Bits mais il est fort probable que l'utilisation d'un système d'exploitation 64 Bits a un impact direct sur l'utilisation de la mémoire.

Utiliser des disques durs similaires

Souvent il n'est pas conseillé d'utiliser les mêmes références de disques durs au sein d'un raid car si un disque vient à défaillir on peut supposer que les disques identiques auront le même problème.

Toutefois pour ZFS, il est conseillé d'utiliser des disques durs de même capacité, de même vitesse et ayant la même mémoire tampon (buffer) et le même nombre de secteurs.

Activer la compression

ZFS peut compresser les données afin de gagner en espace disque. Cette fonctionnalité est coûteuse en processeur et en mémoire.

Je vous conseille donc de ne compresser que les zpool qui contiennent des données à fort taux de compression.
Par exemple, il est intéressant d'activer la compression pour la sauvegarde de fichiers bureautique (fichiers texte, word, excel, …) mais il n'est pas intéressant d'activer la compression pour des données de média (mp3, avi, divx, …).

Désactiver les fonctions inutiles

Par défault, ZFS active toute sorte de fonctionnalités qui ne vous seront pas forcément utiles.

Pour récupérer la liste de fonctionnalités activées par ZFS, il faut utiliser la commande suivante:

zfs get all

Vous pourrez alors modifier les options en utilisant la commande "set". Voici un exemple qui désactive le contrôle du checksum pour le zpool nom_du_zpool:

zfs set checksum=off nom_du_zpool

Mettre à jour votre version de ZFS

ZFS est constamment en cours de développement. De nouvelles fonctionnalités et de nombreux correctifs sont apportés régulièrement.

Je vous recommande donc de garder votre version de ZFS à jour en utilisant les commandes:

zfs upgrade nom_du_zpool
zpool upgrade nom_du_zpool

ZFS et SSD Caching

Le SSD Caching permet d'utiliser la rapidité d'un SSD pour stocker certaines logs et mettre en cache les données.

Ainsi pour améliorer les performances en lecture, il faut utiliser la commande:

zpool add 'nom_du_zpool' cache 'nom_du_device_ssd'

Pour améliorer les performances en écriture, il faut utiliser la commande:

zpool add 'nom_du_zpool' log 'nom_du_device_ssd'

Veillez noter qu'il est strictement impossible à l'heure actuelle de retirer un disque ssd utilisé pour améliorer les performances en écriture. Il est donc préférable d'utiliser le SSD en tant que disque mirroir:

zpool add 'nom_du_zpool' log mirror /dev/log_ssd

Augmenter le nombre de disques

ZFS est beaucoup plus rapide si vous utilisez 2 disques de 2To qu'un seul disque de 4To.

En effet, ZFS utilise ainsi les performances propres à chaque disque afin d'augmenter les vitesses en lecture et écriture.

Je vous conseille donc d'utiliser le maximum de disques possible.

Désactiver la déduplication

La déduplication est une technologie qui permet de ne stocker physiquement qu'une seule fois un fichier même s'il est présent plusieurs fois (logiquement).

La déduplication stocke des index en mémoire afin de savoir si le fichier existe ou pas. Dans la documentation ZFS, il est précisé que si la déduplication est activée, il faudra avoir au minimum 2Go de mémoire pour 1To de données.

La plupart du temps, la déduplication ZFS n'est pas intéressante et pas nécessaire. Je vous conseille donc de la désactiver via la commande:

zfs set dedup=off nom_du_zpool

Conclusion

Les améliorations énoncées ci-dessus dépendent de votre configuration matérielle, de vos besoins et de la nature de vos données. ZFS est performant à condition qu'il soit bien configuré.

N'hésitez pas à poster des commentaires si vous avez d'autres astuces.

Détecter le second processeur de votre serveur SMP sous Linux Ubuntu

processor

Le SMP (Symmetric Multi Processing) est une architecture informatique parallèle qui permet d'avoir plusieurs processeurs dans son serveur afin d'augmenter sa puissance de calcul.

De nombreux serveurs haut de gamme utilisent plusieurs processeurs afin de pouvoir exécuter sans difficulté plusieurs centaines de processus.

Aujourd'hui j'ai dû configurer un serveur Dell qui possède 2 processeurs. Le système d'exploitation étant Ubuntu Server, j'ai cherché à détecter le second processeur.

Normalement les systèmes d'exploitation Linux récent utilisent un kernel SMP, du coup il détectera automatiquement votre deuxième processeur.

Il suffit juste de vérifier si votre serveur utilise un kernel SMP via la commande suivante:

rpm -q kernel-smp

7 logiciels de sauvegarde et de backup pour Linux Ubuntu

backup

Il n'y a rien de plus rageant que de perdre des données (et je sais de quoi je parle j'ai perdu plus de 16To de données).

Il est donc indispensable de créer régulièrement des sauvegardes des vos données et du système.

Les systèmes Raid et les systèmes de sauvegarde sont complémentaires et en aucun cas une des solutions doit remplacer l'autre.

Après plusieurs recherches sur le net j'ai trouvé plusieurs comparatifs de logiciels de sauvegarde. Ces applications sont toutes compatibles avec Ubuntu Desktop, certaines le sont avec Ubuntu Server.

Je vous ai fait un petit résumé qui vous guidera dans le choix de votre logiciel de sauvegarde.

Sbackup

Sbackup est une application qui signifie "simple backup". Il est disponible dans le gestionnaire d'applications.

Sbackup

Lorsque vous démarrez le programme, vous apercevrez plusieurs onglets:

  • Général: permet de définir les options globales
  • Inclure: permet de spécifier la liste des répertoires à inclure dans la sauvegarde
  • Exclure: permet de spécifier la liste des répertoires à exclure de la sauvegarde. Il est possible de préciser des extensions (par exemple exclure tous les .mkv), des expressions régulières et la taille maximale des fichiers.
  • Destination: permet de spécifier où seront sauvées les sauvegardes. Il est possible de sauver sur des serveurs distants via SSH ou FTP.
  • Heure: permet de programmer quand faire la sauvegarde
  • Nettoyage: permet de supprimer les sauvegardes obsolètes

Sbackup est relativement complet, simple d'utilisation et possède une interface graphique basée sur Gnome.

Pour plus de détails, allez sur cette page.

Pybackpack

Pybackpack est un logiciel de sauvegarde très simple d'utilisation et avec une interface intuitive.

PyBackpack

Pybackpack se compose de 3 onglets:

  • Home: qui est l'accueil du logiciel de sauvegarde
  • Backup: qui permet de configurer la sauvegarde et l'emplacement où la stocker
  • Restore: qui permet de restaurer une sauvegarde

Pour vérifier si Pybackpack est disponible sur votre distribution, il faut taper:

apt-cache search pyback

Ce qui retournera:

pybackpack - user friendly file backup tool for GNOME

Pour l'installer, vous pourrez alors faire:

apt-get install pybackpack

Pour une utilisation avancée de Pybackpack, vous pouvez consulter ce site.

Rsync

Rsync est un utilitaire en ligne de commande qui est utilisé par pratiquement tous les logiciels de sauvegarde proposant une interface graphique.

Rsync est utilisé pour synchroniser les dossiers et fichiers d'un répertoire vers un autre.

L'intéret de Rsync est qu'il peut prendre des répertoire d'origine et des répertoires de sauvegarde se trouvant sur des serveurs distants.

De plus, Rsync est rapide, securisé et qu'il optimise la bande passante lors des copies.

Pour l'utiliser, vous pouvez vous baser sur cet exemple:

rsync -av --progress /mon_dossier_a_sauver /mon_dossier_backup

Grsync

Grsync est une interface graphique pour Rsync. Son interface graphique est basée sur les librairies GTK.

De plus, Grsync fonctionne sous Linux, Windows et Mac.

GRsync

Grsync permet de sauvegarder des profils de sauvegarde (appelés session). Il se compose de 3 onglets:

  • Options de base: qui permet de définir les paramètres spécifiques à la sauvegarde
  • Options avancées: qui permet de définir des fonctions avancées telles que la vérification du checksum, la compression des données, l'écrasement de fichiers, …
  • Autres options: pour les autres options de rsync

Pour plus d'informations sur Grsync, allez sur sa page Ubuntu.

Rdiff-backup

Rdiff-backup permet de faire des sauvegardes incrémentielles de votre système.

Rdiff-backup combine 2 technologies de sauvegarde: la sauvegarde mirroir et la sauvegarde incrémentielle.

En effet, Rdiff-backup prend la copie du répertoire spécifié et il ne sauvegarde que la différence.

Veuillez noter que pour utiliser Rdiff-backup, il faut qu'il soit installé sur la machine locale et sur la machine distante.

L'exemple suivant vous montre comment sauvegarder un répertoire de la machine local vers un serveur distant:

rdiff-backup /home/jhd jhd@remoteserver::/backup/jhd

Rdiff-backup utilise librsync qui est la bibliothèque d'algorythmes de rsync. Il fonctionne à la fois avec des fichiers textes et des fichiers binaires.

Les principaux avantages de Rdiff-backup sont:

  • Simple à utiliser en ligne de commande
  • Utilisation de sauvegarde mirroir et de sauvegarde incrémentielle
  • Utilisation réduite de la bande passante et de l'espace disque.
  • Compatible Linux, Windows et Mac.

Pour plus d'informations sur Rdiff-backup, allez sur sa page Ubuntu.

Rsnapshot

Rsnapshot est une application en ligne de commande qui permet de réaliser des sauvegardes complètes et des sauvegardes incrémentielles.

Le principal avantage de Rsnapshot est qu'une fois configuré, il est totalement autonome et ne nécessite aucune action de votre part.

De plus, il utilise peu d'espace disque car il crée une copie exacte lors de la premère sauvegarde puis ensuite il ne sauvegarde que les fichiers modifiés.

Pour plus d'informations sur  Rsnapshot , allez sur sa page Ubuntu.

Backerupper

Backerupper est un logiciel de sauvegarde disposant d'une interface graphique afin de configurer les répertoires à sauvegarder, l'endroit où stocker les sauvegardes, …

Backerupper

Assez complet, Backerupper est plus contraignant à installer car il n'est pas disponible dans le gestionnaire de paquets.

Pour installer Backerupper et l'utiliser, je vous invite à vous rendre sur ce site.

Conclusion

Personnellement, j'utilise rsync en manuel car il est rapide, performant, sécurisé et affiche la progression de la sauvegarde. 

Trouver les répertoires vides et les fichiers vides sous Linux

i found you!

Aujourd'hui j'ai eu besoin de trouver quels étaient les dossiers vides de mon Linux Ubuntu et quels étaient les fichiers dont la taille est de 0 byte.

Après recherche, Linux permet de trouver ces répertoires et fichiers vides grâce à la commande "find".

Trouver les répertoires vides en utilisant la commande find

Pour trouver les dossiers vides du répertoire courant, il faut exécuter la commande suivante:

find . -type d -empty

Pour trouver les dossiers vides du répertoire "/tmp", il faut exécuter la commande suivante:

find /tmp -type d -empty

On peut également supprimer ces répertoires automatiquement via la commande suivante:

find /tmp -type d -empty -exec rmdir {} \;

Attention toutefois à ne pas supprimer les répertoires vides des dossiers systèmes.

Trouver les fichiers vides en utilisant la commande find

Pour trouver les fichiers vides (fichiers de 0 bytes), il faut exécuter la commande suivante:

find . -type f -empty

Veillez noter que ces fichiers sont généralement utilisés comme verrous ou en fichiers tampons par certaines applications. Supprimez les avec attention.

Allez plus loin avec les fichiers vides et la commande find

Pour connaitre le nombre de fichiers vides dans le répertoire courant, il suffit d'utiliser la commande suivante:

find . -type f -empty | wc -l

Pour connaitre le nombre de fichiers NON vides dans le répertoire courant, il suffit d'utiliser la commande suivante:

find . -type f -not -empty | wc -l

Veuillez noter que l'option "-not" inverse l'option requêtée.

Redémarrer son ordinateur sous Linux en ligne de commande

restart

 

Maintenant que l'on sait éteindre son ordinateur en ligne de commande, il est tout aussi intéressant d'apprendre à redémarrer sa machine via une ligne de commande.

Veuillez noter qu'il faut être identifié en tant que "root" pour pouvoir exécuter les commandes qui suivent.

La commande Reboot

Tout comme pour la commande "shutdown", la commande "reboot" permet de redémarrer la machine. 

Elle peut s'utiliser de diverses manières:

/sbin/reboot
/sbin/shutdown -r now
reboot

Vous pouvez également notifier les utilisateurs loggués que le système va être redémarré via la commande:

shutdown -r +5

Ce qui retourne:

Broadcast message from jhd@jhdserver
(/dev/pts/1) at 13:21 ...
The system is going down for reboot in 5 minutes!

Comme pour la commande "shutdown", la commande "reboot" prend un paramètre "time" qui peut être au format HH:mm, +m qui correspond à un délai de m minutes, ou bien encore le mot clé "now".

Redémarrer un serveur distant en ligne de commande

Mon besoin principal est de redémarrer mes serveurs dédiés sur lesquels je ne dispose que d'un accès SSH.

Pour se faire, il suffit de taper dans un terminal ou dans putty la commande suivante:

ssh root@mon_serveur.fr /sbin/reboot

Script de minification en php

compressor

Alors que j'utilisai la bibliothèque RGraph dans le projet NetSysInfo, j'ai vu qu'ils utilisent un script de minification à la fois simple et performant.

Je le partage ici. Ce script php permet de minifier des scripts php mais egalement de minifier des scripts javascripts (il a été conçu pour minifier les scripts javascript à la base).

Un minifieur permet de réduire la taille de fichiers afin de les charger plus rapidement (par exemple un javascript plus petit sera optimisé pour le référencement plutôt qu'un fichier de taille relativement importante). 

Notez également que ce script permet de compresser les fichiers à la volée, ce qui permet encore de réduire la taille des fichiers. Minifier bien :-)

#!/usr/bin/php -q
<!--?php
    /**
    * This is a minification script. It minifies the desired script "in-place"
    * 
    *  Usage (Unix): ./minify file1 file2 ...
    *  Usage (Windows): C:\php\php.exe minify file1 file2 ...
    * 
    * The minification is medium, and it can over halve a scripts size.
    * Combined with subsequent gzip compression the results can be excellent. For
    * example a 70k script of mine was reduced to just 7k. (!) Substantial
    * bandwidth savings for you, and much improved performance for your users.
    *
    * NOTE: Usage on Windows works, but is less tested
    */
 
    /**
    * Check for arg
    */
    if (empty($_SERVER['argv'][1])) {
        echo "Minification script\n";
        echo "==========================\n";
        echo "Usage (Unix):     " . $_SERVER['argv'][0] . " file1 file2 ...\n";
        echo "Usage (Windows): C:\php\php.exe " . $_SERVER['argv'][0] . " file1 file2 ...\n\n";
        exit;
 
    } else {
 
        for ($i=1; $i<count($_SERVER['argv']); ++$i) {
            Minify($_SERVER['argv'][$i]);
        }
    }
 
 
    /**
    * This is the function that does the work of minifying the file
    * 
    * @param $filename string The filename to be minified
    */
    function Minify($filename)
    {
        /**
        * Begin
        */
        $original = file_get_contents($filename);
        $new = preg_replace('/^ +/m', '', $original);    // Lose spaces at the start of lines
        $new = preg_replace('/ *\/\/.*$/m', '', $new);   // Lose comments of the style: "// ..."
        $new = preg_replace("/;\r?\n/m", ";\r\n", $new); // Make all lines end with \r\n
        //$new = preg_replace("|\r\n\*|", "", $new);
 
        /**
        * Get rid of block comments
        */
        $out = '';
        $inBlock = false; // Are we in a block comment
        for ($i=0; $i<strlen($new); $i++) {
            if (substr($new, $i, 1) == '/') {
                // Read the next char
                if (!$inBlock AND substr($new, $i, 2) == '/*') {
                    $inBlock = true;
                }
            } elseif (substr($new, $i, 2) == '*/') {
                $inBlock = false;
                $i++;
                continue;
            }
 
            if (!$inBlock) {
                $out .= substr($new, $i, 1);
            }
        }
 
        /**
        * Get rid of double line breaks
        * 
        * NOTE: Is this necessary?
        */
        $out = preg_replace('|\n+|', "\n", $out);
 
        /**
        * Further tweaks
        * UPDATED: 28th March 2009 - Line endings have been changed - they should all be \r\n
        */
        $out = str_replace(";\r\n}", ';}', $out);
        $out = preg_replace('/;\r\n([a-z])/i', ';$1', $out);
        $out = str_replace('if (', 'if(', $out);
        $out = str_replace(') {', '){', $out);
        $out = str_replace("}\r\n", '}', $out);
        $out = str_replace("{\r\n", '{', $out); // UPDATED
        $out = str_replace("{\r\n", '{', $out); // UPDATED
        $out = str_replace("}\r\n}", '}}', $out); // UPDATED
        $out = str_replace("}\r\n}", '}}', $out); // UPDATED
        $out = str_replace("}\r\n}", '}}', $out); // UPDATED
        $out = preg_replace('/ {2,}= /', ' = ', $out);
 
        // Mark the file as minified
        $out = "// MINIFIED ON: " . date('Y-m-d') . "\r\n" . $out;
 
        file_put_contents($filename, $out);
 
        printf(" Minifying {$filename} Before: %s After: %s Saving: %d%%\n", number_format(strlen($original)), number_format(strlen($out)), number_format((((strlen($original) - strlen($out)) / strlen($original)) * 100), 1));
    }
?-->

Hotswap sous Linux Ubuntu sur bus SCSI SATA

hotswap

Aujourd'hui j'ai eu un disque qui a rendu l'âme. J'ai donc voulu le remplacer à chaud (hotswap) car celui-ci est connecté en SATA et j'ai lu sur le forum Ubuntu que les disques branchés en SATA peuvent être changé à chaud.

Tout en gardant le pc allumé, je retire donc l'ancien disque, et je remets un nouveau disque qui fonctionne à la place.

Je lance le gestionnaire de disques et la à ma grande surprise aucun changement n'est apparent.

En effet, une fois le disque changé, il faut rescanner le bus SCSI afin de prendre en compte les modifications.

Pour celà, il faut installer le paquet "scsitools_0.10-1.2ubuntu1_i386" disponible via le gestionnaire de paquets:

apt-get install scsitools_0.10-1.2ubuntu1_i386

Une fois installé, il faut lancer le scan du bus SCSI en exécutant la commande:

rescan-scsi-bus

Cette commande va mettre à jour la liste des périphériques connectés sur le bus SCSI. Il faut ensuite attendre quelques instants pour voir le nouveau disque disponible dans le gestionnaire de disques d'Ubuntu :)

La détection des nouveaux disques en rescannant le bus SCSI se fait donc sans redémarrer la machine, et celà très facilement grâce à la commande "rescan-scsi-bus".

Eteindre son ordinateur Linux en ligne de commande

shutdown

Mon serveur est sous Ubuntu Server et des fois j'ai besoin de l'arrêter via une ligne de commande.

Veuillez noter qu'il faut être identifié en tant que "root" pour pouvoir exécuter les commandes qui suivent.

La commande ShutDown

La méthode la plus simple pour éteindre votre ordinateur est d'utiliser la commande "shutdown":

shutdown -h time &quot;votre_message&quot;
shutdown -h now &quot;votre_message&quot;

Voici le détail des options:

  • -h: éteindre l'ordinateur
  • time: délai pour éteindre l'ordinateur. Le format utilisé est HH:mm (02:30 par exemple pour un délai de 2 heures 30). Le mot clé "now" permet d'éteindre l'ordinateur immédiatement
  • "votre_message": est le message qui sera envoyé à tous les utilisateurs loggués à la machine.

La commande PowerOff

La commande "poweroff" permet d'éteindre immédiatement votre ordinateur sous Linux. Elle s'utilise en utilisant la commande suivante:

poweroff

Voir la log de l'historique des arrêts et redémarrage du système

Sous linux, il est possible de visualiser la log des reboots et shutdown (redémarrages et arrêts).

Il suffit d'utiliser les commandes suivantes:

last reboot
last shutdown

Ce qui retournera:

reboot &nbsp; system boot &nbsp;3.0.0-17-generic Mon Apr 16 12:05 - 12:21 &nbsp;(00:16)
reboot &nbsp; system boot &nbsp;3.0.0-17-generic Mon Apr 16 11:59 - 12:04 &nbsp;(00:04)
reboot &nbsp; system boot &nbsp;3.0.0-17-generic Mon Apr 16 11:52 - 11:58 &nbsp;(00:06)
reboot &nbsp; system boot &nbsp;3.0.0-17-generic Sun Apr 15 13:15 - 11:50 &nbsp;(22:34)
reboot &nbsp; system boot &nbsp;3.0.0-17-generic Sun Apr 15 13:12 - 13:14 &nbsp;(00:02)
reboot &nbsp; system boot &nbsp;3.0.0-17-generic Sun Apr 15 13:01 - 13:10 &nbsp;(00:09)
reboot &nbsp; system boot &nbsp;3.0.0-17-generic Sun Apr 15 10:46 - 13:00 &nbsp;(02:13)
reboot &nbsp; system boot &nbsp;3.0.0-17-generic Sun Apr 15 10:44 - 10:45 &nbsp;(00:00)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Fri Apr &nbsp;6 23:44 - 10:42 (8+10:58)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Fri Apr &nbsp;6 23:42 - 23:42 &nbsp;(00:00)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Fri Apr &nbsp;6 23:39 - 23:42 &nbsp;(00:03)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Thu Apr &nbsp;5 19:04 - 23:42 (1+04:38)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Thu Apr &nbsp;5 18:57 - 19:00 &nbsp;(00:02)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Wed Apr &nbsp;4 22:15 - 18:46 &nbsp;(20:30)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Wed Apr &nbsp;4 22:07 - 22:12 &nbsp;(00:05)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Wed Apr &nbsp;4 22:03 - 22:05 &nbsp;(00:01)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Wed Apr &nbsp;4 21:49 - 21:50 &nbsp;(00:00)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Wed Apr &nbsp;4 21:46 - 21:47 &nbsp;(00:01)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Wed Apr &nbsp;4 21:08 - 21:44 &nbsp;(00:35)
reboot &nbsp; system boot &nbsp;3.0.0-16-generic Wed Apr &nbsp;4 20:32 - 21:06 &nbsp;(00:33)

Choisir un onduleur: le guide complet

onduleur

Afin de sécuriser mon serveur de production, j'ai décidé d'acheter un onduleur.

J'ai parcouru de nombreux blogs et forums afin de comprendre ce qu'est un onduleur, comment il fonctionne et à quoi il sert.

Il existe de nombreuses sortes et modèles d'onduleurs, j'ai donc lu de nombreux guides et dossiers afin de faciliter mon choix.

Voici un récapitulatif afin de vous aider à choisir un onduleur.

A quoi sert un onduleur ?

Tout d'abord, les onduleurs sont communément appelés UPS (Uninterruptible Power Supply) ou ASI (Alimentation Statique sans Interruption).

Principalement utilisés en milieu professionnel afin de sécuriser des équipements, ils se sont démocratisés et sont désormais accessible à tous le monde.

Un onduleur peut être considérer comme une batterie d'énergie qui permettra d'obtenir de l'électricité lorsque vos équipements en ont besoin.

Un onduleur assure plusieurs fonctionnalités:

  • en cas de coupure d'électricité, l'onduleur fonctionnera comme une alimentation de secours en fournissant l'énergie stockée dans ses batteries aux différents équipements qui y sont reliés. Cela vous permettra par exemple de sauvegarder vos données puis d'éteindre proprement votre machine lorsqu'il y a une panne électrique.
  • le signal électrique fournit étant rarement parfait, un onduleur va réparer le signal afin d'obtenir une onde sinusoïdale parfaite de 50Hz pour une tension de 220v. En effet, il est fréquent que des perturbations diverses (parasites, variation de tensions,variation de fréquences) viennent altérer la qualité du signal électrique fournit par ERDF ou tout autre fournisseur d'électricité.
  • un onduleur saura protéger votre équipement des microcoupures électriques.

Indispensable dans le domaine professionnel, un onduleur permet d'assurer la sécurité de vos données, d'étendre la longévité de vos équipements électriques.

Bref, un onduleur est indispensable, d'autant plus qu'il est désormais accessible au tout public.

Les types d'onduleurs

Un onduleur se caractérise par sa puissance, son type, le nombre de prises électriques, son format, ses fonctions avancées (connection USB au PC, logiciel de supervision).

Il existe 3 sortes d'onduleurs, chacun ayant des caractéristiques spécifiques.

Les onduleurs OffLine

Les onduleurs OffLine sont les onduleurs historiques. C'est le modèle d'onduleur le plus utilisé chez les particuliers car son fonctionnement est simple et son coût est moindre.

Ce type d'onduleur commute sur le circuit de secours, ce qui signifie que l'onduleur bascule sur ses batteries dès qu'une chute de tension électrique est détectée.

La principale caractéristique de ce type d'onduleur est le temps de commutation (temps que met l'onduleur à basculer sur sa batterie) qui est souvent élevé (> 5ms).

Enfin, veuillez noter que les onduleurs OffLine ne régule pas la tension. Ils se limitent au filtrage des parasites, aux baisses de tension électrique et sont dépourvus de fonctionnalités avancées.

Les onduleurs OffLine étant souvent considérés comme du matériel d'entrée de gamme, ils s'utilisent principalement sur des stations de travail bureautique.

Les onduleurs InLine (Line Interactive)

Tout comme les onduleurs OffLine, les onduleurs InLine sont également des onduleurs à commutation mais ils sont dits "intelligents".

En effet, les onduleurs OffLine sont équipés d'un microprocesseur qui va réduire le temps de commutation (< 2ms) et qui va permettre de lisser la tension électrique afin d'obtenir une onde sinusoidale parfaite.

De plus, un mécanisme interne appelé "booster" permet d'augmenter la durée de vie des batteries en améliorant leur sollicitation.

Les onduleurs InLine sont une très bonne alternative aux onduleurs OffLine pour la sécurisation des postes de travails, serveur de backup et petit équipement électrique.

De plus, leur coût a été réduit ces dernières années. Ces onduleurs sont considérés comme étant des onduleurs milieu de gamme.

Les onduleurs OnLine

Les onduleurs OnLine sont les meilleurs onduleurs car ils régulent la tension en continue. Cela signifie donc qu'il n'y a plus de temps de commutation.

Les onduleurs OnLine sont très réactif et assurent une protection optimale grâce un signal parfaitement régulé et régulié.

Ce type d'onduleur est considéré comme le haut de gamme. 

Les onduleurs OnLine sont les plus performants et les plus sécurisés, leurs coûts est élevé, c'est pourquoi ils sont uniquement destinés à un usage professionnel (serveurs, baies, routeurs, …).

Choisir son onduleur

Maintenant que l'on connait les différents types d'onduleurs, il est important de savoir comment choisir un onduleur.

Tout d'abord, il faut savoir quel type d'équipements vous souhaitez protéger, la puissance dont vous avez besoin, et l'utilisation que vous allez en faire. 

Puissance d'un onduleur

La puissance de l'onduleur (exprimée en Volt Ampères VA) va dépendre de la puissance de vos équipements électriques (exprimée en Watts). 

Pour calculer la puissance nécessaire pour le choix d'un onduleur il faut appliquer la formule suivante:

Nombre VA = Nombre de Watts /0.66

Dans mon cas, mes équipements ont une puissance totale de 400W. Il me faudra donc un onduleur de 606VA minimum.

Si vous ne savez toujours pas quelle puissance doit faire votre onduleur, vous pouvez vous référer à la liste suivante:

  • PC Classique : 200 Watt de consommation soit 300 VA de puissance
  • PC Serveur : 250 Watt de consommation soit 350 VA de puissance
  • Ecran standard : 90 Watt de consommation soit 150 VA de puissance

La puissance est un point crucial lors du choix d'un onduleur. Un onduleur sous dimensionné ne servira à rien. Il vaut mieux surestimer la puissance que la sousestimer.

Solutions contre les défaillances électriques

Il faut également prendre en compte le type des défaillances électriques dont vous souhaitez vous protéger.

Voici une liste des principales perturbations électriques:

  • les coupures de courant: tous les types d'onduleurs prendront le relai grâce à leur batterie lorsqu'il y aura une coupure de courant.
  • les chutes de tension: seuls les onduleurs InLine et OnLine assurent une protection efficace contre les chutes de tension en boostant la tension jusqu'à 230 Volts.
  • les surtensions : tous les types d'onduleur vont abaisser la tension jusqu'à la tension nominale, soit 230 Volts.
  • les bruits et parasites: tous les types d'onduleurs vont filter les interférences électromagnétiques et radio (RFI).
  • les pics: tous les onduleurs proposent une protection parafoudre. Ils lissent la courbe de tension de sortie en supprimant les pics de tension.
  • les distorsions: seuls les onduleurs OnLine permettent de reformer la tension puisqu'il est filtré en permanence.

Type d'utilisation de votre onduleur

Enfin le dernier critère à prendre en compte est l'utilisation que vous allez faire de l'onduleur.

Les onduleurs OffLine ont une technologie basique et un temps de commutation élevé. Ils sont recommandés pour sécuriser des machines non critiques comme des ordinateurs de bureau. Par contre, ils sont peu chers.

Les onduleurs InLine ont un temps de communation faible (2ms en moyenne), améliorent la longévité des batteries, protègent correctement les équipements. Ils sont recommandés pour des serveurs de backups et autres équipements intermédiaires. Ils peuvent coûter chers.

Les onduleurs OnLine n'ont aucun temps de commutation car ils filtrent en permanence la tension. Ils assurent la plus grande sécurité mais sont onéreux. Ils sont recommandés pour sécuriser des équipements critiques: serveurs, routeurs, baies, nas, …

Mon choix

Mon choix s'est porté sur un onduleur "Eaton ellipse 750" car il rentre dans mon budget (hé oui je ne suis pas no limit malheureusement :-( ), il délivre une puissance suffisante, il est compatible Linux via une connection USB. De plus, le remplacement des batteries ne coûtent pas très cher (une trentaine d'euros).

Allez voici une petite photo de mon onduleur acheté 50€ sur Internet :)

Utiliser TraceRoute et TracePath sur Linux Ubuntu

traceroute

TracePath et TraceRoute sont des logiciels qui permettent d'afficher une cartographie réseau entre votre serveur et un serveur distant ( c'est à dire la route parcourue entre votre machine et un serveur distant).

Sur Linux, il existe 2 différences entre TracePath et TraceRoute:

  • TraceRoute nécessite de disposer des droits super utilisateur (root) pour être exécuté alors que TracePath peut être exécuté par tous les utilisateurs.
  • TraceRoute autorise certains options qui ne sont pas disponibles par TracePath. Malheureusement ces options ne sont pas forcément supportées par tous les routeurs.

Utiliser TracePath

TracePath est disponible dans les distributions Linux dans le paquet iputils qui regroupe toute sorte d'outils permettant de superviser et monitorer votre serveur Linux.

Pour installer TracePath, vous devez tapez la commande suivante:

apt-get install iputils-tracepath

Ensuite pour utiliser TracePath c'est tout simple, il suffit de faire:

tracepath google.com

Et celà vous retournera alors:

 1:  monserver.fr                                          0.120ms pmtu 1500
 1:  freebox-server.local                                  0.440ms
 1:  freebox-server.local                                  0.374ms
 2:  88.182.245.255                                       50.015ms
 3:  213.228.39.62                                        59.668ms
 4:  nantes-6k-1-po7.intf.routers.proxad.net              68.641ms
 5:  bzn-crs16-1-be1104.intf.routers.proxad.net           48.563ms
 6:  no reply
 7:  te0-3-0-6.mpd21.par01.atlas.cogentco.com             59.288ms asymm  9
 8:  te0-1-0-1.mpd22.lon13.atlas.cogentco.com             62.591ms asymm 13
 9:  te0-1-0-1.ccr21.lon01.atlas.cogentco.com             65.574ms asymm 13
10:  no reply
11:  no reply
12:  no reply
13:  no reply
14:  no reply
15:  no reply
16:  no reply
17:  no reply
18:  no reply
19:  no reply
20:  no reply
21:  no reply
22:  no reply
23:  no reply
24:  no reply
25:  no reply
26:  no reply
27:  no reply
28:  no reply
29:  no reply
30:  no reply
31:  no reply
     Too many hops: pmtu 1500
     Resume: pmtu 1500

Utiliser TraceRoute

Pour installer TraceRoute, vous devez installer le paquet "traceroute":

apt-get install traceroute

Ensuite pour l'utiliser:

traceroute google.com

Ce qui retournera:

traceroute to google.com (74.125.230.194), 30 hops max, 60 byte packets
 1  freebox-server.local (192.168.0.254)  0.409 ms  0.452 ms  0.502 ms
 2  88.182.245.255 (88.182.245.255)  47.698 ms  47.880 ms  50.130 ms
 3  213.228.39.62 (213.228.39.62)  50.335 ms  51.331 ms  52.768 ms
 4  nantes-6k-1-po7.intf.routers.proxad.net (212.27.57.34)  52.794 ms * *
 5  bzn-crs16-1-be1104.intf.routers.proxad.net (212.27.50.185)  57.800 ms  57.818 ms  57.838 ms
 6  te1-7.359.mag02.par01.atlas.cogentco.com (149.6.160.85)  186.974 ms  171.249 ms  171.175 ms
 7  te0-5-0-6.mpd22.par01.atlas.cogentco.com (130.117.49.125)  53.854 ms te0-6-0-6.ccr22.par01.atlas.cogentco.com (154.54.38.177)  38.785 ms te0-7-0-7.mpd21.par01.atlas.cogentco.com (154.54.60.29)  35.242 ms
 8  te0-0-0-1.ccr21.lon13.atlas.cogentco.com (130.117.2.162)  43.816 ms te0-4-0-6.mpd21.lon13.atlas.cogentco.com (154.54.37.157)  44.495 ms te0-1-0-3.mpd22.lon13.atlas.cogentco.com (154.54.59.29)  47.226 ms
 9  te0-1-0-1.ccr21.lon01.atlas.cogentco.com (154.54.57.97)  46.677 ms  47.202 ms te0-0-0-1.ccr22.lon01.atlas.cogentco.com (154.54.57.158)  48.861 ms
10  te1-1.ccr01.lon18.atlas.cogentco.com (130.117.51.162)  268.524 ms te1-2.ccr01.lon18.atlas.cogentco.com (154.54.61.150)  268.585 ms te2-1.ccr01.lon18.atlas.cogentco.com (154.54.61.214)  268.532 ms
11  149.6.146.30 (149.6.146.30)  76.224 ms  77.655 ms  78.126 ms
12  209.85.255.86 (209.85.255.86)  53.251 ms 209.85.255.84 (209.85.255.84)  53.707 ms  80.480 ms
13  209.85.253.90 (209.85.253.90)  38.997 ms  51.467 ms 209.85.253.196 (209.85.253.196)  51.456 ms
14  209.85.242.79 (209.85.242.79)  51.446 ms  51.458 ms  51.835 ms
15  209.85.242.49 (209.85.242.49)  51.858 ms  51.882 ms  51.902 ms
16  par08s09-in-f2.1e100.net (74.125.230.194)  57.768 ms  57.785 ms  58.941 ms

Petite astuce: pour tracer une ipv6, vous pouvez utiliser tracepath6 et traceroute6.