Blog

virtualisation

Comme depuis la version FreeBSD 12.0, warden, le framework permettant de gérer les "jails", n'offe pas les sources de FreeBSD 12.0, j'ai dû me tourner vers un autre framework. Cependant, vous pouvez déployé les jails déjà existants sous warden. Dans un premier temps, j'ai tenté iocage, framework qui au départ, était supposé remplacer warden. Cependant, malgré la réussite du déploiement, j'ai connu des insussès. je me suis donc mis à la recherche d'un autre framework et je suis tombé sous CBSD.

CBSD est un framework permettant de gérer les jail et les machines virtuelles. Dans un permier temps, je décrierai brièvement les différents types de machine virtuelle et dans un autre article, je décrierai en détails CBSD. C'est en voulant écrire un billet sur CBSD que je suis venue à la conclusion que je devais écrire un article sur la virtualisation.

La virtualisation sert à déployé un système invité dans un sytème hôte. Par exemple on peut virtualisé FreeBSD (système invité) dans un Windows(système hôte) à l'aide d'une machine virtuelle comme VMware ou virtual box. Dans cet exemple précis, ce qui tourne sous freebsd n'interfère pas dans windows. Ce qui d'une part accroît la sécurité des systèmes et d'autres part, garanti l'indépendance des processus par rapport aux autres. La vitualisation comprend les système "chrooté", les conteneurs et les machines virtuelles.

Le système "chrooté" a été pensé (sous un système de type unix) à extraire le système de fichier de l'hôte et le "copier" dans un répertoir choisi par l'utilisateur. Par exemple, on se retrouve avec un système complet Freebsd dans un sytème Freebsd. Les système "chrooté" peuvent avoir une connexion internet par pont, par nat ou par un vnet (interface réseau virtuelle) et comme tout type de virtualisation. Lorsqu'on exécute un processus dans l'environnement "chrooté", ce dernier est isolée du système hôte. Cependant, lorqu'une personne mal intentionné ou un programme mal vaillant s'implante dans un système "chrooté", ces derniers peuvent aisément remonter l'arborescence de ce système et pénétrer dans le système hôte. C'est pour ces raisons de sécurité que ces système sont rarement utilisés.

Pour pallier à ce problème, les dévellopeur Unix ont développé les conteneurs. Ce type de système permet de renforcer un "chroot" et empêcher un intéraction entre le système hôte et le système invité. Ce système partage les paramètres du noyaux entre l'hôte et l'invité. ce qui permet l'économie des ressources sur la machine réelle. Sous FreeBSD, les conteneurs sont des "jails" ou prison (nom évocateur). Ces jails peuvent être configurer à l'aide de framework facilitant ainsi la gestion de ces "jails". Un "jail" peut être mis à jour depuis l'intérieur et depuis le système hôte. On peut généralement le cloner, le sauvegarder puis l'exporter sur une autre machine physique. les framework permettant de gérer les conteneurs sous frebsd sont ezjail. cbsd, warden, iocage, docker(venant de linux) et bien d'autre. Sous linux, il ya docker, lxc pour nommer que ceux-ci. Comme microsoft tend de plus en plus à intégrer les technologie "open source" à leur système windows, ce dernier a intégré docker permettant ainsi de déployer des processus tournant généralement sous linux.

La machine virtuelle quant à elle permet de virtualiser un système complet sur le système hôte. Cette méthode, bien que très utile, est la plus coûteuse en ressource sur la machine physique. il existe différente machine vituelle comme VMware, virtual box, Qemu, bhyve, etc...

Quelle est la meilleure stratégie de virtualisation? La réponse à cette question dépend des besoins. Premièrement, on exclu le plus possible le système "chrooté". Dans le cas de fexcomm, la stratégie de virtualisation est hybride. Par exemple, le serveur ipPBX, les serveurs web, les serveurs de fichier sont tous dans des jails séparé en fonction du type de service qu'ils offrent. Comme il est plus simple de déployer un serveur mail sous un système linux, un serveur linux est virtualisé sous un serveur FreeBSD pour déployer les services de messagerie.


Tous les titres


Bachelier en Géographie depuis 2009
Certificat en administration des affaire en 2016
12 ans d'expérience en système d'information géographique
10 ans d'expérience avec les systèmes d'exploitation linux
6 ans d'expérience avec les Sytèmes d'exploitation BSD (UNIX)
10 ans d'expérience en programmation web
5 ans d'expérience avec les éditeurs de contenue Wordpress et Drupal.
2 ans d'expérience avec le framework django.
3 ans d'expérience en Sytème de gestion (ERP/CRM)
10 ans de connaissance en langage python
2 ans de loisir avec Raspberry py
2 ans d'expérience avec les systèmes ip-pbx
Fondateur et proprétaire de Fexcomm, informatique de gestion en 2017