Hier soir c'était la rentrée pour
le GUSES, l'occasion de parler Solaris et OpenSolaris avec des cas
d'usages métiers très concrets...
Une soirée où nos amis
banquiers étaient assez bien représentés et nous ont fait part de
quelques retour d'expériences intéressantes.
1)
ZFS et performances
ZFS est très prisé pour sa simplicité et l'ensemble des fonctionnalités qu'il apporte : snapshot, checksum, ....
Reste le point important des performances. A ce titre, je tiens à rappeler l'existence du site ZFS Evil Tuning Guide et notamment quelques paramètres important à positionner :
-
Encadrer l'utilisation de la mémoire système entre ZFS et vos applications (comme iozone, pour les personnes cherchant à effectuer des comparaisons, par example). Dans le cas d'une évaluation récente face à Ext3, sur un système avec 16Go de RAM, le bon paramètrage a été un positionnement du ARC limité à 10 Go (laissant 6 Go pour l'application -IOzone- ).
Pour limiter le taille mémoire utilisée par ZFS, positionner dans /etc/system : set zfs:zfs_arc_max = 0x280000000 (pour limiter à 10Go)
En outre, il faut dimensionner la swap de façon adéquate également pour que la réclamation de pages mémoires entre ZFS et les applications se face de façon optimum. -
Dévalider le flush des caches des disques dans le cas où le système de fichier ZFS se trouve sur une baie de disque avec un cache RAM sécurisé. Si ce paramètre n'est pas positionné, toutes les 5 secondes environs ZFS va forcer la baie à flusher l'ensemble de son cache sur les disques !! Pour plus d'explication et quelques résultats : http://milek.blogspot.com/2008/02/2530-array-and-zfs.html
Pour dévalider le flush de façon permanente, ajouter dans /etc/system : set zfs:zfs_nocacheflush = 1 -
Utiliser le bon record size au niveau de chacun des systèmes de fichier ZFS
# zfs set recordsize=8k mypool/myDatafs;zfs set recordsize=128k mypool/myRedologfs
http://blogs.sun.com/roch/entry/tuning_zfs_recordsize -
Attention au prefetch de ZFS qui peut avoir un effet de bord additionnel avec le prefetch des baies disques, et conduire à la "pollution" du cache (de la baie). Donc si les I/O ne sont pas séquentielles, il peut être pertinent de dévalider le prefetch de ZFS.
Pour dévalider le prefetch de ZFS, ajouter dans /etc/system : set zfs:zfs_prefetch_disable = 1
2) Solaris Temps réel vs. Linux Temps
réel
Un point important recherché avec un système
temps réel est son aspect déterministe. C'est ce qu'ont pu
observer des utilisateurs de Solaris face à Linux (avec un noyau
temps réel) dans ce contexte. Linux a faible charge ayant un
traitement plus rapide des requêtes que Solaris, mais étant
fortement instable à forte charge (traitement plus long des
requêtes que Solaris). Là où Solaris gardait un comportement
constant, et donc déterministe... Pour cela, l'utilisation
des techniques de processeurs set (psrset(1M)) et de binding des interrupts (psrset(1M) options -f et -n)
sont des éléments de Solaris intéressant à utiliser.
3)
Les optimisations de Solaris avec Intel Nehalem (Xeon 5500 Series)
J'ai
déjà écrit sur ce sujet,
mais depuis, un document assez fouillé sur ces optimisations est
disponible à l'adresse suivante :The
Solaris Operating System---Optimized for the Intel Xeon Processor
5500 Series
Il comprend notamment un chapitre pour les développeurs autour
des outils d'optimisation et des options de compilation permettant
de tirer parti des avancées offertes par le Xeon 5500.
4)
Les fonctions avancées d'OpenSolaris et Solaris pour construire des
architectures Cloud
Mikael Lofstrand,
Sun Chief Technologist-Networking vient de publier un document
décrivant les architectures associées, étayé au travers de la
mise en oeuvre d'une plate-forme Cloud s'appuyant sur ces principes,
dont notamment la couche de virtualisation réseau Crossbow et les
containers Solaris : The VeriScale
Architecture: Towards a Scalable and Elastic Datacenter
Pour conclure, sachez que les membres du GUSES nous préparent une conférence pour fin octobre, début novembre sur un retour d'expérience client avec la consolidation Solaris sur environnement Oracle utilisant les containers et ZFS.
Globalement un consensus s'est dégagé sur cette question. Les SSD sont une tendance de fond qui se retrouve petit à petit dans l'ensemble des offres. Sachant qu'il faut bien distinguer les disques SSD d'entreprise de ceux utilisés pour le grand public.





Bien entendu, tout le monde n'a pas encore Hadoop chez soi, quoi que,
les personnes cherchant à faire de l'analyse sur des données non structurées (donc massives) regardent cela de très près. Par contre,
tout le monde possède des serveurs de fichiers, qui, eux aussi voient
leur besoin en stockage croitre de façon dramatique... C'est là que
nous avons décidé d'agir avec les dernières solutions Open Storage
(

