Aller au menu du forum Aller au contenu du forum Aller à la recherche dans le forum
Logo Khaganat
Menu principal

Xen et archlinux

Zatalyz

J'aborde un sujet de spécialiste en espérant que vous pourrez m'aider à trouver des éléments de réponses. En gros, je cherche le Fichu Manuel, et surtout les pages du fichu manuel qui parlent de mon fichu problème.

Nos serveurs (Murbaz et Nuxru) tournent avec Xen, un hyperviseur, qui permet de créer des sortes de VM sur lesquels tournent nos services. Actuellement tout est calibré pour Debian : Xen tourne sur une version de debian, et on peut créer facilement des vm debian.

J'aimerais pouvoir démarrer des vm d'autres systèmes d'exploitations, dont Archlinux pour commencer.

Archlinux, parce que je sais gérer ce système au quotidien, parce que ses paquets sont à jour, parce que c'est une rolling release et que j'aime les rolling release... Ce n'est pas forcément la solution la plus évidente pour un serveur, mais ça marche.

Pour créer une vm avec le système qui va bien, Xen utilise des scripts basés dans /etc/xen-tools/ (et après une petite commande et hop ça se fait tout seul). J'ai identifié les fichiers suivants :

distributions.conf

# xen-tools configuration file for distribution meta data
#
# Syntax:
#
# codename = distribution and further keywords
#
# Known distributions: debian, ubuntu
# Known keywords: eol, pygrub, default-keyring, dont-test
#
sarge        = debian eol
etch         = debian eol
lenny        = debian eol
squeeze      = debian eol default-keyring
wheezy       = debian
jessie       = debian
stretch      = debian
buster       = debian dont-test
bullseye     = debian dont-test
sid          = debian

testing      = debian
oldoldstable = debian dont-test
oldstable    = debian
stable       = debian
unstable     = debian

# dapper and edgy currently need manual adjustments in debootstrap's
# configuration, see #659360
dapper       = ubuntu eol dont-test
edgy         = ubuntu eol dont-test
feisty       = ubuntu eol
gutsy        = ubuntu eol
hardy        = ubuntu eol
intrepid     = ubuntu eol
jaunty       = ubuntu eol
karmic       = ubuntu eol
lucid        = ubuntu eol pygrub
maverick     = ubuntu eol pygrub
natty        = ubuntu eol pygrub
oneiric      = ubuntu eol pygrub
precise      = ubuntu     pygrub
quantal      = ubuntu eol pygrub
raring       = ubuntu eol pygrub
saucy        = ubuntu eol pygrub
trusty       = ubuntu     pygrub
utopic       = ubuntu eol pygrub
vivid        = ubuntu eol pygrub
wily         = ubuntu eol pygrub
xenial       = ubuntu     pygrub
yakkety      = ubuntu     pygrub
zesty        = ubuntu     pygrub

devel        = ubuntu     pygrub



mirrors.conf

# xen-tools default mirror configuration file

debian =         http://httpredir.debian.org/debian
debian_archive = http://httpredir.debian.org/debian-archive/debian

ubuntu =         http://archive.ubuntu.com/ubuntu
ubuntu_archive = http://old-releases.ubuntu.com/ubuntu

#
# If you like, you can also declare per-release mirrors:
#
# sarge  = http://debian.ethz.ch/debian-archive/debian
# trusty = http://ubuntu.ethz,ch/ubuntu


Il est aussi possible que certaines options dans xen-tools.conf soient à surveiller afin de lancer la commande de création de vm en indiquant bien tout ce qu'il faut changer pour passer à du archlinux.

Enfin il y a probablement des trucs dans /etc/xen-tools/role.d/, par exemple le contenu de builder :
#!/bin/sh
#
#  Configure the new image to be suitable for compiling Debian packages within
#
# Steve
# --
# https://steve.fi/
#


prefix=$1



#
#  Source our common functions - this will let us install a Debian package.
#
if [ -e /usr/share/xen-tools/common.sh ]; then
    . /usr/share/xen-tools/common.sh
else
    echo "Installation problem"
fi
#
#  Update APT lists.
#
chroot ${prefix} /usr/bin/apt-get update
#
#  Install the packages
#
installDebianPackage ${prefix} dpkg-dev
installDebianPackage ${prefix} devscripts
installDebianPackage ${prefix} fakeroot
installDebianPackage ${prefix} debhelper
installDebianPackage ${prefix} build-essential
installDebianPackage ${prefix} lintian
installDebianPackage ${prefix} linda


Comme on le voit, il n'y a rien d'autre que debian et peut-etre ubuntu... Donc la question est : comment on ajoute la possibilité d'installer d'autres systèmes linux ?

Edit : suffit que je pose mon souci publiquement pour commencer à trouver mes mots-clés... possible qu'une part de ma réponse soit donc ici :
https://wiki.archlinux.org/index.php/Xen#Configuring_a_paravirtualized_.28PV.29_Arch_domU

Me reste à tout comprendre et mettre en application.
Dernière édition: 27 Janvier 2018 à 10:27:55 par Zatalyz

shepeng

xen-tools utilise debootstrap pour installer sa VM, il faut trouver un moyen d'installer la distribution cliente sur la partition prévue. Tu peux utiliser l'installateur prévu  de la distribution, en faisant une VM utilisant hvm et démarrant depuis une image iso du CD d'installation, ou trouver un outil capable d'installer la distribution cible dans un chroot ou sur un répertoire précis. Ça va dépendre de la distribution cible.

Personnellement je n'utilise plus xen-tools pour créer mes VM mais un playbook ansible. Ce playbook fait toutes les étapes de xen-tools, plus certaines autres (pas exemple ajout de mes clés publiques dans la config ssh), il n'y aurait qu'à remplacer la partie concernant debootstrap dans ce playbook pour l'adapter à une autre distrib.

Licences Mentions légales Accueil du site Contact