Blog

Déployez vos serveurs virtuels avec warden (FreeBSD)

Pour suivre cet article tutotiel vous devez absolument suivre le tutoriel d'installation de FreeBSD. Warden, qu'est-ce que c'est? Il s'agit d'un gestionnaire de "jail"(prison). Qu'est-ce qu'un "Jails". Le jails est un outils de paravirtualisation servant à isoler les processus de son hôte. Pourquoi isolé les processus?  On peut vouloir isolé des processus pour plusieur raison. La principale raison de le faire est de protéger le système hôte d'attaque ou de processus pouvant entrer en conflit envers se propre processus. Sous linux, il y a Docker, openVZ, open LXC et quelques autres. Pour les système sous FreeBSD il y a easyJail, iocage et dans notre cas Warden.

Il est à noter que tous ces système sont des outils de para-vitualisation. c'est à dire qu'il partage directement les ressources matériels avec le systèmes autres. Contrairement aux machine virtuelle telle virtualBox ou qemu qui passe par d'autre processus pour partager les ressource matériel. Ce qui a pour insidence d'enlever la performance au système hôte et au système invité.

Pour commecer, on installe nano un éditeur text et warden.

            # pkg install nano warden

 

On édite le fichier le configuration de warden

             # nano /usr/local/etc/warden.conf

 

on y ajoute ceci:

#!/bin/sh
# Configuration options for the Warden
######################################################################


# Directory to use for compressing / decompressing files
WTMP: /usr/jails

# Location of the jails
JDIR: /usr/jails


On sauvegade avec "ctrl o" et on ferme avec "ctrl x"

ensuite, on cré le point de monge de nos "jails"

    # mkdir -p /usr/jails

# zfs create -o mountpoint=/usr/jails zroot/jails

 

 

On cré notre premier "jail"

    # warden create myjail

on lui donne une adresse ip sur notre réseau local

   # warden set ipv4 myjail xxx.xxx.xxx.xxx

# nano /etc/sysctl.conf

 

Ajoutez

    # security.jail.sysvipc_allowed = 0

# warden set flags myjail allow.sysvipc=true

On redémarre pour activer la confiration

# reboot

On démarre le jail

# warden start myjail

On entre dans le jail

# warden chroot myjail

Une fois à l'intérieur, on télécharge l'arbre de ports

# portsnap fetch extract

Pour sortir du jail

exit

Pour sauvegarger un jail 

    # warden clone myjail myjail1

    #warden export myjail1 --dir=/usr/jails

 

Pour importer un jail

   # cd /usr/jails

   # warden import myjail2 myjail1.wdn

Pour des infos sur les commandes de  warden

   # warden help

Pour des infos sur un commande particulières

    # warden help <commande>

 

j'espère que ce tuto vous a plu. Personnelement, j'utilise beaucoup ce gestinnaire de jails et ce tutoriel servira de bases pour beaucoup de tutoriels à venir

Sébastien Douville

sebastien.douville@fexcomm.ca


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
Pour m'embaucher