On Thu, 21 Apr 2011 23:24:22 +0200, Jeremie Le Hen wrote:
Salut,
On Thu, Apr 21, 2011 at 05:42:33PM +0200, Thomas Samson wrote:
Il est possible d'alleger pas mal le chroot en le générant avec debootstrap --variant=minbase (et meme ajouter --include= pour la liste des packages a installer). Le systeme généré sera quand meme un systeme debian suffisament complet et pourra etre mis a jour avec apt-get.
C'est ce qui est utilisé notamment par lxc-create pour le template 'debian'. Et c'est un bon moyen d'avoir une mini-debian sans lutter avec ldd.
(et s'il faut vraiment un mini-chroot, alors un outil comme makejail est nettement plus pratique que l'analyse manuelle pour trouver les dépendances)
J'insiste bien sur LXC, ça te permet de créer un chroot++. Les processus contenus dans le LXC (il s'agit d'ailleurs d'une technologie de "container") sont isolés du reste du système, ce qui :
- augmente la sécurité (même le root sur le LXC ne peut toucher aux processus "extérieurs" au LXC) ;
- permet de mettre en place de la limitation de resources (via des cgroups) ;
- facilite l'administration puisque tu as une Debian à part entière
dans ton LXC et que les processus ne se bind qu'aux IP disponibles dans le LXC (donc pas de configuration applicative).
Hum, donc très proche de ce qui se fait sur FreeBSD avec les Jails en apparence... Il faudrait vraiment que je me penche là-dessus.
Personnellement, j'ai mis en place cette solution pour un client au moyen d'OpenSVC [1], je lui ai migré toute sa plateforme de dev dans un LXC. Plusieurs intérêts :
- l'arrêt et le démarrage du serveurs (et par transitivité, des services) est très simple (une commande) ;
- le LXC tout entier (donc non seulement les data, mais aussi les metadatas) peut-être synchronisé périodiquement sur un autre
serveur afin d'assurer un backup et de la redondance en cas de crash.
Petit bémol, j'ai dû un petit peu ruser pour arrêter le LXC proprement avec OpenSVC, car celui-ci gère normallement des services (applications) et non des serveurs virtuels donc une fois qu'il considère que les applications sont arrêtées, il coupe le LXC un peu brutalement :). Je peux vous la communiquer au besoin.
Un autre bémol, c'est que sous Linux, y'a pas ZFS. Et ZFS avec un truc du style jails, c'est puissant :) Par contre, pour couper proprement un LXC, ca m'intéresse !
[1] http://www.opensvc.com/ Howto LXC @OVH : http://www.opensvc.com/init/default/doc_cookbook_lxcovh