4 234
modifications
m (a déplacé L'hyperviseur Xen sous Debian Squeeze vers L'hyperviseur Xen sous Debian Wheezy) |
|||
(11 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 162 : | Ligne 162 : | ||
<pre> | <pre> | ||
$ mount /dev/sda1 /mnt | $ mount /dev/sda1 /mnt | ||
$ debootstrap --arch=amd64 | $ debootstrap --arch=amd64 wheezy /mnt | ||
... | ... | ||
I: Base system installed successfully | I: Base system installed successfully | ||
Ligne 179 : | Ligne 179 : | ||
Editez le fichier <code>/etc/apt/sources.list</code> : | Editez le fichier <code>/etc/apt/sources.list</code> : | ||
<pre> | <pre> | ||
deb http://ftp.fr.debian.org/debian | deb http://ftp.fr.debian.org/debian wheezy main contrib non-free | ||
deb-src http://ftp.fr.debian.org/debian | deb-src http://ftp.fr.debian.org/debian wheezy main contrib non-free | ||
#Sec | #Sec | ||
deb http://security.debian.org/ | deb http://security.debian.org/ wheezy/updates main contrib non-free | ||
deb-src http://security.debian.org/ | deb-src http://security.debian.org/ wheezy/updates main contrib non-free | ||
#anciennement debian-volatile | #anciennement debian-volatile | ||
deb http://ftp.fr.debian.org/debian | deb http://ftp.fr.debian.org/debian wheezy-updates main contrib non-free | ||
deb-src http://ftp.fr.debian.org/debian | deb-src http://ftp.fr.debian.org/debian wheezy-updates main contrib non-free | ||
</pre> | </pre> | ||
Ligne 332 : | Ligne 332 : | ||
Il faut bien évidemment rebooter pour appliquer ces paramètres. | Il faut bien évidemment rebooter pour appliquer ces paramètres. | ||
==Forcer l'arrêt des VMs (shutdown) lors du reboot de xen== | |||
Par défaut, si l'hyperviseur reboot, Xen sauvegarde l'état des VMs plutôt que de les shutdown proprement. Si vous voulez vous affranchir de ce comportement, modifiez <code>/etc/default/xendomains</code> : | |||
<pre> | |||
XENDOMAINS_RESTORE=false | |||
XENDOMAINS_SAVE="" | |||
</pre> | |||
=Configuration réseau= | =Configuration réseau= | ||
Ligne 341 : | Ligne 348 : | ||
<pre> | <pre> | ||
(vif-script vif-bridge) | (vif-script vif-bridge) | ||
(network-script 'network-bridge bridge=br0') | |||
</pre> | </pre> | ||
Editez le fichier <code>/etc/network/interfaces</code> de cette façon : | Editez le fichier <code>/etc/network/interfaces</code> de cette façon : | ||
<pre> | <pre> | ||
auto lo | auto lo | ||
iface lo inet loopback | iface lo inet loopback | ||
auto | auto br0 | ||
iface | iface br0 inet static | ||
address 91.121.117.116 | address 91.121.117.116 | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
Ligne 398 : | Ligne 402 : | ||
=Configuration de Xen-Tools pour créer automatiquement des machines virtuelles debian= | =Configuration de Xen-Tools pour créer automatiquement des machines virtuelles debian= | ||
Par défaut sous debian | Par défaut sous debian wheezy, le fichier <code>/etc/xen-tools/xen-tools.conf</code> est adapté à la création de VMs debian wheezy. | ||
Notre configuration permettra : | Notre configuration permettra : | ||
* de créer les partitions des VMs sur le LVM | * de créer les partitions des VMs sur le LVM | ||
* d'utiliser debootstrap pour créer des VMs vierges sous debian | * d'utiliser debootstrap pour créer des VMs vierges sous debian wheezy | ||
* de configurer automatiquement l'ip sur la VM | * de configurer automatiquement l'ip sur la VM | ||
Ligne 415 : | Ligne 419 : | ||
netmask = 255.255.255.0 | netmask = 255.255.255.0 | ||
broadcast = IP-du.dom0.255 | broadcast = IP-du.dom0.255 | ||
bridge = br0 | |||
</pre> | </pre> | ||
Ligne 560 : | Ligne 565 : | ||
# | # | ||
# | # | ||
installDebianPackage ${prefix} locales #already installed in debian- | installDebianPackage ${prefix} locales #already installed in debian-wheezy domU | ||
installDebianPackage ${prefix} ntp | installDebianPackage ${prefix} ntp | ||
installDebianPackage ${prefix} console-data | installDebianPackage ${prefix} console-data | ||
Ligne 631 : | Ligne 636 : | ||
echo up route add default gw $gateway >> ${prefix}/etc/network/interfaces | echo up route add default gw $gateway >> ${prefix}/etc/network/interfaces | ||
fi | fi | ||
sed -i -e 's/gateway/#gateway/g' ${prefix}/etc/network/interfaces | |||
# | # | ||
Ligne 638 : | Ligne 644 : | ||
# | # | ||
# | # | ||
for ip in `ifconfig | grep "inet addr" | cut -d ":" -f 2 | cut -d " " -f 1`; do | for ip in `ifconfig | grep "inet addr" | cut -d ":" -f 2 | cut -d " " -f 1`; do | ||
if [ ! $ip = "127.0.0.1" ]; then | if [ ! $ip = "127.0.0.1" ]; then | ||
Ligne 680 : | Ligne 652 : | ||
echo $ip >> ${prefix}/etc/sshguard_whitelist | echo $ip >> ${prefix}/etc/sshguard_whitelist | ||
done | done | ||
cp /etc/default/sshguard ${prefix}/etc/default/ | |||
# | # | ||
# Log our finish | # Log our finish | ||
Ligne 708 : | Ligne 680 : | ||
Voici un autre exemple plus complet détaillant la création d'une VM ubuntu | Voici un autre exemple plus complet détaillant la création d'une VM ubuntu | ||
<pre> | <pre> | ||
xen-create-image | xen-create-image --size=10Gb --memory=512Mb --fs=ext3 \ | ||
--dist=natty --hostname=vm1.domain.tld --ip=<IP> --netmask=255.255.255.0 --swap=1024Mb \ | --dist=natty --hostname=vm1.domain.tld --ip=<IP> --netmask=255.255.255.0 --swap=1024Mb \ | ||
--arch=amd64 --kernel=/boot/vmlinuz-2.6.32.5-xen-amd64 --mirror=http://archive.ubuntu.com/ubuntu/ --passwd --role main | --arch=amd64 --kernel=/boot/vmlinuz-2.6.32.5-xen-amd64 --mirror=http://archive.ubuntu.com/ubuntu/ --passwd --role main | ||
Ligne 759 : | Ligne 731 : | ||
Commencez par éditer le fichier <code>/etc/network/interfaces</code> | Commencez par éditer le fichier <code>/etc/network/interfaces</code> | ||
<pre> | <pre> | ||
auto | auto br1 | ||
iface | iface br1 inet static | ||
address | address 192.168.10.1 | ||
broadcast | broadcast 192.168.10.255 | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
bridge_ports none | |||
</pre> | </pre> | ||
Puis activez l'interface : | Puis activez l'interface : | ||
<pre>ifup | <pre>ifup br1</pre> | ||
Créez ensuite le fichier <code>/etc/xen/scripts/my-network-bridge</code> contenant : | Créez ensuite le fichier <code>/etc/xen/scripts/my-network-bridge</code> contenant : | ||
<pre> | <pre> | ||
#!/bin/sh | #!/bin/sh | ||
/etc/xen/scripts/network-bridge "$@" netdev= | /etc/xen/scripts/network-bridge "$@" netdev=br0 | ||
/etc/xen/scripts/network-bridge "$@" netdev= | /etc/xen/scripts/network-bridge "$@" netdev=br1 | ||
</pre> | </pre> | ||
Ligne 784 : | Ligne 757 : | ||
Ce script aura comme conséquence : | Ce script aura comme conséquence : | ||
* créer le bridge classique de xen (celui qui était lancé par <code>(network-script network-bridge)</code> | * créer le bridge classique de xen (celui qui était lancé par <code>(network-script network-bridge)</code> | ||
* créer le bridge | * créer le bridge br0 pour notre interface interne | ||
Il faut ensuite relancer xend : | Il faut ensuite relancer xend : | ||
Ligne 795 : | Ligne 768 : | ||
Par exemple pour la vm <code>vm1.domain.tld</code> éditez le fichier <code>/etc/xen/vm1.domain.tld.cfg</code>. Modifiez la ligne <code>vif</code> de cette manière : | Par exemple pour la vm <code>vm1.domain.tld</code> éditez le fichier <code>/etc/xen/vm1.domain.tld.cfg</code>. Modifiez la ligne <code>vif</code> de cette manière : | ||
<pre> | <pre> | ||
vif = [ 'ip=192.168.0.1,bridge= | vif = [ 'ip=192.168.0.1,bridge=br0,mac=00:16:3E:A3:F1:5A','ip=172.16.16.2,bridge=br1,mac=00:16:3E:A3:F1:07' ] | ||
</pre> | </pre> | ||
Après redémarrage, la VM aura désormais deux interfaces réseaux : | Après redémarrage, la VM aura désormais deux interfaces réseaux : | ||
* eth0 bridgé sur l'interface | * eth0 bridgé sur l'interface br0 du dom0 (le réseau public) | ||
* eth1 bridge sur l'interface | * eth1 bridge sur l'interface br1 du dom0 (le réseau interne) | ||
Si votre VM est sous debian, il faudra ajouter la configuration de eth1 dans <code>/etc/network/interfaces</code> (sur la vm!) : | Si votre VM est sous debian, il faudra ajouter la configuration de eth1 dans <code>/etc/network/interfaces</code> (sur la vm!) : | ||
Ligne 806 : | Ligne 779 : | ||
auto eth1 | auto eth1 | ||
iface eth1 inet static | iface eth1 inet static | ||
address | address 192.168.10.2 | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
</pre> | </pre> |