Article utile sur le sujet ici: http://www.admincafe.re/forums/showthread.php?t=110
Merci à l’auteur
Article utile sur le sujet ici: http://www.admincafe.re/forums/showthread.php?t=110
Merci à l’auteur
VirtualBox (http://www.virtualbox.org/) un logiciel libre basé sur Qemu (http://www.nongnu.org/qemu/)[1] et édité par la société Innotek (rachetée récemment par Sun), est un excellent outil pour virtualiser des stations de travail sur une station de travail[2].
Non content d’être très fluide, il tourne sous Windows, GNU/Linux et (Open)Solaris[3].
Il en existe une version libre (VirtualBox Open Source Edition aka OSE) et une autre, propriétaire, offrant plus de fonctionnalités (surtout au niveau du hardware émulé).
La version OSE est disponible dans toutes les bonnes distributions GNU/Linux, tandis que la version de Sun n’est disponible que depuis leur site. Ils fournissent même des sources APT[4] pour qu’il soit facile de l’installer sur une Debian ou dérivée.
Attention cependant, la version OSE utilise aussi des fichiers de configuration des machines virtuelles dans une version nettement plus ancienne que celle du VirtualBox propriétaire. VirtualBox proposera au démarrage d’upgrader le format s’il y a lieu.
Vous le savez probablement, Sun a libéré (GPL v3) le code de son OS-phare (Solaris) il y a déjà quelques années.
La version communautaire de cet OS s’appelle assez logiquement OpenSolaris.
De cette version, en développement constant, sont issues les versions propriétaires de Sun (appelées “Solaris 10″).
Il tourne sous plusieurs architectures différentes: x86, x86_64 (selon la nomenclature Solaris, AMD64 selon la nomenclature Linux), et Sparc (l’architecture de Sun, pour les incultes). Il faut d’ailleurs savoir que cela fait longtemps que Solaris est à la fois 32 et 64 bits (multiarch, selon la nomenclature Linux).
Après une période de prise en main par une communauté (toujours assez réduite aujourd’hui, il faut bien le dire), plusieurs dérivés ont commencé à apparaître, menant à des versions LiveCD, des versions seulement pour une architecture ou une autre, …
Toutes intègrent tout ou parties des fonctionnalités particulières de Solaris (ZFS, SMF, Containers, DTrace, …).
Le problème de Solaris venant plutôt des outils utilisateurs (non-)fournis. Le choix (et souvent la qualité ou le côté pratique) est beaucoup plus vaste sous GNU/Linux.
Alors, plusieurs jouent le rapprochement avec Debian/Ubuntu, à des niveaux divers (avec ou sans Glibc, avec ou sans système de packaging correct, …).
Parmi celles-ci, l’une d’entre elles à retenu toute mon attention: Nexenta.
Nexenta est une petite société spécialisée dans le storage à base d’OpenSolaris (grâce à ZFS, qui Tue(tm)[1]). Pour son produit-phare, NexentaStor, elle a décidé d’utiliser un kernel Solaris avec un userland Ubuntu[2].
Et pour (avoir une chance d’)obtenir de l’aide de l’extérieur, ils se basent sur une version communautaire, totalement libre[3], et appelée Nexenta Core Platform (qui en est à sa version 2.0).
Et donc voilà, c’est cool, mais il y a encore du travail pour que ce soit utilisable par le commun des mortels.
FreeNAS (http://www.freenas.org) est, comme son nom l’indique, un NAS libre. Il est basé sur FreeBSD.
Historiquement, il est parti d’un fork de m0n0wall, dérivé de FreeBSD spécialisé pour un usage de firewall avec une interface web écrite spécialement pour l’occasion. Petit à petit, le principe de réécrire (et maintenir) tous les scripts de démarrage (initscripts) a été abandonné, ensuite l’interface web a été revue, et les deux projets sont assez divergeants aujourd’hui.
Les versions se succèdent à un rythme effréné depuis maintenant plusieurs années. Certaines sont plus réussies que d’autres (il y a encore parfois des régressions par rapport à la précédente).
La série des versions 0.6x est basée sur FreeBSD 6.x, tandis que la série des 0.7x est basée sur FreeBSD 7.x.
Le maître-mot de FreeNAS pourrait être: “fonctionnalités”.
Ce qui ne le place pas d’emblée dans la catégorie des NAS pour entreprise, où “performances” et “fiabilité” seraient plus adaptés.
Le développeur qui a lancé le projet (Olivier Cochard-Labbe) est plutôt brouillon (et a une orthographe et une conception de l’anglais particulières), mais aime bien lancer de nouvelles pistes. C’est un fonceur. Un second développeur (qui est maintenant le développeur principal du projet pour diverses raisons), Volker Theile, l’a rejoint et corrige à un rythme soutenu tous les problèmes introduits par le premier ou rapportés par des utilisateurs. Jusqu’ici, la combinaison donne un résultat très intéressant.
Malgré ou grâce à tout cela, les performances en NFS (ce qui nous intéresse principalement), sont excellentes.
Et la facilité de gestion et de restauration de la configuration le replace de nouveau dans le cercle des solutions plus qu’utilisables en entreprise.
Et comme en plus ZFS est disponible à partir de FreeBSD 7.x donc aussi dans FreeNAS 0.7x, c’est un très bon point en sa faveur.
Cela dit, il ne support pas encore les snapshots de ZFS (depuis l’interface web) pour l’instant. Or, pour tout filesystem de volume important (disons au-dessus du TB), seul ZFS permet de faire des snapshots qui n’impactent pas (du tout) les performances de la machine pendant plusieurs minutes.
iSCSI est aussi disponible, ce qui ne gâche rien, mais nous ne l’avons pas encore testé en pratique.
Les performances des dernières versions ont l’air particulièrement impressionnantes.
Comme beaucoup de projets de Logiciel Libre, des Nightly Builds sont disponibles, ici: http://www.freenas.org/index.php?option=com_versions&Itemid=51#Nightly%20Build
m0n0wall (http://m0n0.ch) est un dérivé embarqué de FreeBSD spécialisé en pare-feu (firewall).
Le but premier du projet était de générer un firewall très réduit en taille (pour pouvoir facilement le faire tenir sur une mémoire Flash) et très
rapide (au boot notamment). Le constat de départ est que les UNIX libres utilisent trop d’interpréteurs différents (ex.: shell, Perl, Python, PHP, …) pour
leurs scripts de démarrage (initscripts) et leur gestion.
Ils ont alors décidé de n’en garder qu’un, et comme ils voulaient une interface web pour leur firewall, ils ont sélectionné PHP.
Grâce à ces deux choix, ils ont obtenu un système très économe en espace disque (de telle sorte qu’on peut le mettre sur un tout petit média
selon la norme actuelle) et RAM.
Ensuite, ils se sont dit[1] qu’un fichier XML serait approprié pour stocker toute la configuration.
Et le résultat est qu’un seul fichier (XML) sauvegardé permet de restaurer un firewall en quelques instants, que les erreurs dans ce fichier sont faciles à trouver/éviter, et qu’on peut facilement le faire tourner depuis un média en lecture seule (read-only, comme un CD par exemple).
Associé au firewall de FreeBSD (pf), c’est probablement un ensemble de très bons choix qui mènent sans surprise à l’une des solutions de ce
genre les plus abouties[2].
Un NAS est un Network-Attached Storage. C’est-à-dire un serveur de fichiers, mais qui ne fait vraiment que cela (enfin, au départ, puisqu’on verra ensuite que ça peut se compliquer beaucoup).
Au départ, c’est seulement une solution abordable pour remplacer en Ethernet les SAN (Storage Area Network), qui font la même chose mais sur de la fibre optique, bien plus chère à l’usage (pour diverses raisons[1]). Il existe même du matériel qui fait les deux (SAN + NAS, par exemple en Ethernet pour les longues distances ou le grand nombre de clients et en Fiber Channel pour les plus courtes).
Dans les deux cas, le but est de rassembler la problématique du stockage en un seul endroit, et ainsi pouvoir l’allouer de manière plus souple, plus fiable,
plus économique, et plus gérable (exemple: simplification des backups). La virtualisation par exemple en bénéfie très rapidement et très naturellement.
Un certain nombre de protocoles ou de technologies, viennent rapprocher les deux systèmes.
Je pense ici à des protocoles comme iSCSI, AoE[2], qui font passer à travers le réseau un protocole standard utilisé d’habitude pour les disques locaux. Et
l’OS s’en accomode d’habitude bien, souvent à travers une implémentation ad-hoc dans le kernel.
Enfin, tout un tas de protocoles exotiques existent, souvent orientés vers un OS ou un type de matériel Multimédia, mais pas toujours, permettent d’augmenter
l’utilisabilité du tout. Je pense en particulier à uPNP, DLNA, TFTP, FTP, SMB, NFS, rsync, …
Souvent, la sécurité n’est pas gérée au niveau du NAS, mais au sein du reste de l’infrastructure.
Puisque ses fonctionnalités sont supposées être plutôt restreintes, on attendra d’un NAS une fiabilité et des performances exceptionnelles. On y trouvera donc
souvent des systèmes de redondance (RAID, alimentations électriques, load-balancing réseau, …) ainsi que des systèmes pour améliorer (aggrégation de liens réseau, fine-tuning des disques et des NIC, …) et/ou diagnostiquer les performances de tous les éléments (disques, contrôleurs, OS, réseau, client, …).
Et il en existe maintenant pour tous les budgets. Depuis les systèmes prévus pour être installés sur des PC de récupération jusqu’aux NAS d’entreprise avec
support, redondance complète (haute disponibilité) et sélection de tout le matériel le plus cher en passant par des systèmes hyper économes en énergie pour
le salon de Monsieur Tout Le Monde (qu’on appelle alors souvent Media Server).
Linux, de par sa légerté proverbiale et ses fonctionalités est assez intéressant pour ce genre d’usage, tout comme FreeBSD.
Solaris (et OpenSolaris), toutefois apporte des avantages non négligeables sous la forme de ZFS (avec snapshots) et DTrace (notamment).
Et ce n’est pas fini…
I have a list of e-mails that I extracted from MySQL as something like this:
name@example.com firstname lastname
name2@example.com firstname2 lastname2
name3@example.com firstname3 lastname3
and I want them to be in this format:
firstname lastname
firsntame2 lastname2
firstname3 lastname3
Using VIM, I can do:
:% s/^/ /
:% s/\(\)\s\(\w*\)\s\(.*$\)/\2 \3 \1/
The last one is a bit more complex but uses the \n-style references to parenthesed elements in the matching part.
In just two days, I came up with two different reasons to point to Landure’s technical doc’s site.
http://howto.landure.fr/gnu-linux/ubuntu-dapper-drake/developpement-et-serveurs/installation-du-module-mssql-pour-php-5-sur-ubuntu-dapper-drake
This time, it was to setup a connection to a MSSQL server from a Debian server. This type of connection is incredibly badly documented on the internet in general (or maybe I didn’t look the right way), and in the end everything points to FreeTDS, a library and program that allows this type of connection.
The post is in French, but is certainly worth the effort of translation for people looking on how to do this:
http://howto.landure.fr/gnu-linux/debian-4-0-etch/creer-un-certificat-ssl-multi-domaines
If enough people ask for a good translation, I’ll consider doing that here.
I just found about the flossmetrics project through the FOSDEM program. Reading the details, it just looks like some wacky free version of ohloh.net… Let’s keep an eye on that.