2010 June Skip to content

Linux Attitude

Le libre est un état d'esprit

Archive

Archive for June, 2010

Niveau :      
Résumé : TCP + RTT + window size = debit

Si je me connecte au réseau local gigabit, que je fais un transfert de fichier ... je n'arrive pas à dépasser 200Mb/s ! Vous rendez-vous compte que c'est normal ?

Vous allez me dire que je ne suis pas doué, mais ce n'est pas moi, ce sont les lois de la physique.

Bon puisque nous somme dans un cas particulier je m'explique.

Temps de réponse

Le débit a beau toujours augmenter, il y a quelque chose qui s'améliore beaucoup moins vite : le temps de réponse. Pour une bonne raison, l'information a une vitesse limite, celle de la lumière. La limite est un peu inférieure sur une fibre optique et encore inférieure sur un câble cuivre.

De plus il faut une certaine électronique pour traiter tous ces paquets et ce débit. Du coup la traversée de switchs et de firewall en fout un coup à la latence. Et pourtant le débit ne change quasiment pas.

Tout ceci se voit avec la commande ping. Si vous lancez un ping sur la machine d'à coté, vous constatez un temps de réponse de l'ordre de la milliseconde.

Par exemple :

PING mamachine (10.0.0.0.1) 56(84) bytes of data.
64 bytes from mamachine (10.0.0.0.1): icmp_seq=1 ttl=61 time=1.16 ms

C'est le temps qu'il a fallu pour créer le paquet ping, l'envoyer à travers le switch, le réceptionner, répondre, repasser dans le switch, lire la réponse. Donc il faut la diviser par deux pour avoir un ordre de grandeur du temps de transfert du paquet.

Pour une machine sur un autre réseau c'est plus dans les 20ms voire 100ms.

Dans cette histoire les plus gros temps de latence dépendent de votre infrastructure, si vous êtes sur une fibre de 100km c'est elle qui contribuera à la latence, si vous êtes sur un réseau local c'est plus le temps de traitement par la carte réseau et le noyau, et s'il y a plusieurs switchs ou un routeurs c'est l'électronique des ces appareils.


continue reading...

Niveau :      
Résumé : ferm

Ferm

Vous battez-vous toujours avec vos scripts shell pour configurer les firewall de vos serveurs ? Ne ramez plus, j'ai la solution : Ferm.

Pourquoi ferm ? Ben pourquoi pas ?

Je l'ai choisi car il ne fait qu'une chose (et le fait bien), il remplace vos scripts shell de lancement de firewall. Et c'est tout ! Pas d'interface graphique, pas d'assistance à création de règle, pas de gestion de votre serveur DHCP ...

Donc si votre machine de bureau sert de passerelle vers internet, ou si vous ne connaissez pas bien iptables, ce n'est probablement pas le meilleur outil. Par contre si vous avez l'habitude d'écrire des scripts shell pour gérer votre firewall, ferm est là pour vous simplifier la vie.

Configuration

Ferm génère des règles iptables à partir de son fichier de configuration. Il n'invente rien, il ne fait qu'écrire sous forme hiérarchique les règles iptables et vous permet d'utiliser des variable et des listes. Il faut donc les connaître un peu.

Petit exemple pour vous montrer comment gagner du temps (il se comprend tout seul) :


continue reading...

Niveau :      
Résumé :

Aujourd'hui les disques atteignent des limites qui n'avaient pas été prévues lorsqu'on les fabriquait comme des machines à laver (notez que le premier disque tournait déjà à 3600 tours par minute.

Les disques ont d'abord été adressés au format cylindre, tête, secteur (CHS), puis au format LBA. Les différentes limites ont évolué en fonctions de la taille du bus d'adressage.

Limites

Aujourd'hui on rencontre encore plusieurs limites. Tout d'abord au niveau logiciel, les partitions qui prévoyaient un adressage linéaire sur 32 bits des secteurs trouvent une limite à 2To (2^32 * 512).

Aujourd'hui au niveau du disque lui-même, les fabricants qui stockaient les informations de redondance et de structure du disque sur chaque secteur commencent à trouver cet espace très restreint.

Aujourd'hui les disques sont tellement gros que la lecture d'un disque entier est extrêmement longue, une erreur dans un fichier et la récupération du système de fichier devient une opération très lourde.

Aujourd'hui les disques sont tellement gros que la restauration d'un disque dans un raid prends un temps énorme, au point qu'il est possible d'avoir une seconde défaillance pendant ce temps.

Aujourd'hui les disques normaux sont tellement gros qu'on utilise le même disque pour plusieurs machines.

Aujourd'hui les disques sont tellement petits qu'on en utilise plusieurs par machine.

Avec tous ces problèmes, on voit beaucoup de choses évoluer.

RAID 6+1

Les disques étant de plus en plus lents et de plus en plus gros, on est déjà passé du raid5 au raid6 pour éviter les problèmes de lenteur lorsqu'un disque manquait, on envisage d'ajouter un nouveau disque de redondance pour éviter le cas où un 2e disque grille pendant la restauration du premier.

SAN

Maintenant tout le monde a un NAS chez lui, mais les serveurs utilisent des SANs qui se partagent sur des interfaces réseau standard et plus seulement SCSI ou Fiber Channel. Le iSCSI, le AoE ainsi que d'autres protocoles permettent d'accéder à ces périphériques de façon transparente et sans matériel supplémentaire.

GPT

Les disques atteignent couramment une taille de 2To. Le format de partition actuel ne permet pas d'utiliser le disque au delà de cette taille. Il devient donc rapidement obligatoire de passer au format GPT. Ceci implique des modifications dans le bios et dans le système d'exploitation.

Secteur 4k

Les secteurs de 512 octets devenant petit, on commence à fabriquer des disques ayant des secteurs de 4ko. Cela permettra une plus grande capacité, de meilleures performances, mais implique aussi des changements au niveau du bios et de système d'exploitation (très lourd cette fois). Quelques références et solutions.

Filesystem

Toutes ces fonctionnalités nouvelles peuvent êtres prises en compte au niveau du système de fichier pour permettre des fonctionnalités sympathiques. Le snapshot fréquent voir continu, l'utilisation de plusieurs disques locaux voire distants, la vérification d'intégrité en live, la récupération d'une perte sans downtime, la possibilité d'utiliser des disques d'une taille quasiment infinie pour notre époque, l'usage d'un même filesystem par plusieurs machines ...

Tout ceci n'était qu'un aperçu qui je l'espère vous donnera envie de connaître les nouvelles technologies à venir.

Niveau :      
Résumé : ssh qemu-system -hda /dev/sda

Supposons que vous administriez une machine distante. Vous n'avez pas d'accès physique à cette machine. C'est ennuyant puisque vous venez de changer la configuration de votre bootloader.

Comment faire pour rebooter tout en garantissant que ca va marcher ?

Hé bien j'ai la solution qui vous permettra de tester ce boot avant de rebooter : qemu.

Préparer les disques

Il nous faut des disques en lecture seule pour éviter que le boot de la machine virtuelle n'écrive sur un disque en cours d'utilisation. Donc pour chacun de vos disques physique :

$ cp -a /dev/sda /root/sda
$ chmod 440 /root/sda

Ainsi nous avons des disques garantis en lecture seule.


continue reading...