Debian OpenVZ + LVM

In: Professionnel| Système

13 Apr 2010

Cette article vous guidera sur une mise en place d’un ensemble de VE déployé sur des volumes logiques de type LVM. Pour rappel, OpenVZ permet à un serveur physique d’exécuter de multiples instances de systèmes d’exploitation isolés, connus sous le nom de serveurs privés virtuels (VPS) ou environnements virtuels (VE). LVM quand à lui, permet la gestion de volume logique ceci permettant de créer des volumes pouvant être redimensionnés à la volée ou bien d’être déplacés à chaud.

Préambule

Nous disposons d’un serveur fonctionnant sous GNU/Linux (cette article est basé sur du debian 5.0, mais il peut bien entendu être adapté), nous souhaitons créer un sous système.

Installation d’OpenVZ

L’installation d’openvz est des plus simple, il suffit d’installer le paquet du kernel (sous debian). Pour ce faire :

# aptitude install linux-image-openvz-amd64
# reboot (et rebooter sur votre nouveau noyau)

Installation de LVM et création des volumes logiques

# aptitude install lvm2
# pvcreate /dev/sda5 (création de la partition LVM sur la partition 5 du disque)
# vgcreate vg /dev/sda5 (création du groupe VG sur le volume LVM)

La commande pvcreate effectura la création de la partition LVM sur la partition cinq du disque.
La commande vgcreate créera, quand à elle, un groupe nommé “vg” sur cette partition. Ce nom pouvant bien entendu être changé à votre guise.

Ensuite, nous créons le disque pour le sous système.

lvcreate -n mail.fedae.fr -L 5g fedae-vg
lvcreate -n sql.fedae.fr -L 5g fedae-vg
lvcreate -n web.fedae.fr -L 5g fedae-vg
# lvcreate -n vm -L 5g vg
# mkfs -t ext3 /dev/vg/vm

Notre vm est alors créé et formaté, vous pouvez monter le volume automatique depuis votre fstab, ajouter alors cette ligne :

/dev/mapper/vg-vm      /var/lib/vz/private/vm ext3 defaults 0 0

Il faudrait bien entendu créer le dossier /var/lib/vz/private/vm qui contiendra le futur sous système.

Création du sous système

OpenVZ fonctionne sur un système de template, vous trouverez plus amples informations sur leur wiki. Nous allons donc installer une template déjà créer par l’équipe d’openVZ afin de nous faciliter la vie. Et ainsi générer le sous système à partir de cette dernière.

Récupération de la template :

# cd /var/lib/vz/template/cache/
# wget http://download.openvz.org/template/precreated/debian-5.0-x86_64.tar.gz

Création de la vm :

# vzctl create 10 --ostemplate debian-5.0-x86_64 --config vps.basic --private=/var/lib/vz/private/vm/10
# vzctl set 10 --name vm --save
# vzctl set vm --hostname vm.localhost --save
# vzctl set vm --ipadd 10.0.0.10 --save

Il ne nous reste plus qu’à démarrer notre nouvel vm :

# vzctl start vm

Nous pouvons prendre la main (récupération du shell de la vm) en tapant cette commande :

# vzctl enter vm

Vous avez pu remarquer que votre connexion à internet ou autre n’est pas disponible depuis le sous système. Pour ce faire il vous faut rediriger le flux sur l’ip de sortie. Pour ce faire, je vous propose de rediriger toute la plage d’ip (/24) sur l’ip de sortie (ip_address)

# iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j SNAT --to ip_address

Comment Form

A propos de moi

Passionné des nouvelles technologies, je propose en tant qu’auto-entrepreneur diverses activités : développement de bibliothèques, d’applications ou encore de progiciels mais aussi des prestations plus courantes comme la création de sites web et d'intranet professionnel.

De plus je suis administrateur système, je m occupe ainsi d’un micro parc de six machines dans un environnement professionnel. Passionné par les technologies libres et open-source, il m’arrive souvent d’apporter mon aide au développement de divers projets. Actuellement, je me concentre essentiellement sur Drupal, qui est selon moi le CMS le plus prometteur dans le domaine du net.

Vous avez un projet ?

Vous avez des idées plus ou moins abouties que vous tentez de concrétiser, vous rencontrez quelques problèmes, ou vous êtes bloqués, n’hésitez pas à partager avec moi votre projet.

Responsable et bien organisé je peux vous accompagner pour faire connaître votre projet ou tout simplement vous aider dans des développements temporels, ainsi que vous conseiller sur des améliorations possibles.

  • rookmoot: Ce billet est un peu vieux, et l'API de EINA a peut être changé depuis, renseigne toi auprès de c [...]
  • Issa: Par contre j'ai oublié de poser ma question donc : par contre ce que je comprend pas pourquoi on [...]
  • Issa: Hello cool ! mais quand on compile ton programme il y a des warnings : issa@issa-desktop:/media/ [...]
  • sekh: t'es pas employé ! [...]