TP XEN - RAISIN - Réseau Aquitain des Informaticiens Systèmes
Transcription
TP XEN - RAISIN - Réseau Aquitain des Informaticiens Systèmes
TP XEN 11 Octobre 2007 1 Informations pour le TP ● DNS : 147.210.188.222 et 147.210.188.211 ● Proxy web : ○ dans le navigateur web : proxy.ixl.fr:3128 ○ dans une console : export http_proxy=http://proxy.ixl.fr:3128 ● Serveur iscitarget : 192.168.32.114 ● Plage DHCP statique (PC salles TP) : 192.168.32.100 192.168.32.111 ● Plage DHCP dynamique (machines virtuelles) : 192.168.32.120 192.168.32.160 ● Système d'exploitation des ordinateurs de la salle de TP : Linux Ubuntu 7.04 2 Découverte de Xen 1. Démarrez la machine sur le noyau Ubuntu 2.6.30 generic (noyau non xen) ○ Connectezvous en root ○ Listez les interfaces réseau avec ifconfig ○ Lancez la commande xm list 2. Démarrez la machine sur un noyau Ubuntu xen 3.0 ○ Connectezvous en root ○ Listez les interfaces réseau avec ifconfig ○ Lancez la commande brctl show ○ Lancez la commande xm list ○ Regarder le contenu du dossier /etc/xen ○ Regarder le fichier de configuration : /etc/xen/xend-config.sxp 3 Installation d'une machine virtuelle xen debian avec xencreate image 1. Démarrez la machine en utilisant le noyau xen ubuntu server 2. Lancez xm list 3. Editez le fichier /etc/xen-tools/xen-tools.conf : ● ● adapter ou vérifier les directives, en particulier : dir, debootstrap, size, memory, noswap, fs, dist, image, dhcp, kernel, initrd, arch modifier la directive mirror en mirror = http://ftp.fr.debian.org/debian 4. Lancez lsmod | grep loop pour vérifier si le module loopback et chargé dans le noyau , s'il ne l'est pas, chargezle avec modprobe loop max_loop=255 5. Positionnez le proxy de l'IXL export http_proxy=http://proxy.ixl.fr:3128 6. Lancez la création de la machine virtuelle xen-create-image --hostname=<nom_machine> 7. Pour forcer une création de machine virtuelle qui a échoué : xen-create-image --force --hostname=<nom_machine> 8. Pour voir l'avancement de l'installation de la machinne virtuelle, lancez : tail -f /var/log/xen-tools/<nom_machine>.log 9. Vérifiez la présence du fichier de configuration de la machine dans /etc/xen et du fichier image dans /tp 10. Lancez la machine virtuelle xm list<nom_machine>.cfg 11. Lancez xm list 4 Manipulation d'une machine virtuelle xen 1. Editez /etc/xen/vm1 et positionnez une adresse mac : vif = [ ’mac=aa :16 :3e :45 :16 : 85, bridge=xenbr0’] 2. Dans un terminal lancez la commande xm create -c /etc/xen/vm1.cfg 3. Dans un autre terminal 1. Arrêtez la machine : xm shutdown -w vm1 2. Démarrez la machine : xm create /etc/xen/vm1.cfg 3. récupérez la console : xm console vm1 (Ctrl-] pour quitter) 4. Sauvegardez la machine : xm save vm1 /tmp/vm1.chk 5. Affichez la liste des machines : xm list 6. Restaurez la machine : xm restore /tmp/vm1.chk 7. Affichez la liste des machines : xm list 8. Arrêtez correctement la machine : xm shutdown -w vm1 9. Arrêtez brutalement la machine : xm destroy vm1 10. Affichez la liste des machines en notant le contenu de la colonne « State »: xm list 11. Mettez la machine en pause : xm pause vm1 12. Affichez la liste des machines en notant le contenu de la colonne « State »: xm list 13. Sortez la machine de l 'état de pause : xm unpause vm1 14. Relancez la machine : xm create -c vm1 15. Augmentez la taille de la machine : xm mem-set <id_domaine> 1024 16. Listez les processeurs de la machine : xm vcpu-list 17. Ajoutez un 2eme vcpu à la machine : xm vcpu-set <id_domaine> 2 5 Installation à la main d'une machine virtuelle xen 1. Aller dans /tp cd /tp 2. Créez une image disque : dd if=/dev/zero of=feisty.img bs=1M count=500 3. Formattez le système de fichier : mkfs.ext3 feisty.img 4. Montez le disque : mkdir /mnt/vmTmp ; mount -o loop feisty.img /mnt/vmTmp 5. Installez un système Debian de base: debootstrap --arch i386 etch /mnt/vmTmp/ http://ftp.fr.debian.org/debian/ 6. Allez dans le disque : cd /mnt/vmTmp 7. Copiez les modules : cp -r /lib/modules/2.6.19-4-server lib/modules/ 8. Editez et modifiez /mnt/vmTmp/etc/fstab 9. Démontez le disque : cd ; umount /mnt/vmTmp 10. Créez un fichier de config pour la machine 11. Lancez la machine : xm create -c <fichier_conf> 6 Migration d'une machine virtuelle xen Préambule : Nous allons utiliser iscsienterprisetarget (cf Annexe B sur iscsi)car NFS ne marche pas dans le cas de la migration (cf Annexe B) Attention : Ne pas monter la même partition simultanément sur 2 PC différents de la salle de TP 1. Pour la migration vous travaillez en binôme de machines (cf l'annexe A pour la liste des binômes de machines), 2. Sur les 2 machines physiques du binôme ● ● Affichez l'identifiant de l'initiator iscsi-iname Récupérez l'identifiant de la target au format iqn... iscsiadm -m discovery --type sendtargets --portal 192.168.32.114 ● Connectez l'initiator à la target iscsiadm -m node -T <id target iqn...> -p 192.168.32.114 -l ● Listez les partitions disques, vous devriez voir une nouvelle partition fdisk -l ● Montez cette partition mkdir /iscsi mount /dev/sdb /dev/iscsi 3. Sur la machine physique qui va recevoir la vm migrée, copier le fichier de config de la vm cp /isci/domU/etc/xen/<nom_vm_a_migrer>.cfg /etc/xen 4. Sur la machine physique qui va recevoir la vm migrée, modifiez /etc/xen/xendconfig.sxp pour activer la fonction de relocation et autoriser la machine qui va envoyer la machine virtuelle à le faire : (xend-relocation-server yes) (xend-relocation-hosts-allow '') 5. Sur la machine physique qui héberge la machine virtuelle qui va être migrée : ● cp /isci/domU/etc/xen/<nom_vm_a_migrer>.cfg /etc/xen ● xm create -c /etc/xen/<nom_vm_a_migrer>.cfg ● xm list ● xm migrate --live <id_vm_a_migrer> <ip_machine_physique_destination> 6. Utilisez la commande de migration pour migrer la machine virtuelle qui tourne sur l'une des 2 machines physiques du binôme vers l'autre machine physique xm migrate <nom_vm> <machine_destination> 7. Lancez xm list sur les 2 machines et un ping sur la machine virtuelle 7 Installation d'une machine virtuelle avec QEMU 1. Créez une image disque à l’aide de la commande dd (2Go) 2. Attention, ne pas lancer « sudo su - »mais lancer « sudo su » (ou encore « sudo /bin/bash ») car sinon des problèmes de frame buffer se produiront lors du lancement de qemu. 3. Lancez l’installation à l’aide de Qemu : qemu -hda <image_disque> -cdrom <image_iso> -boot d 4. Menez l’installation à terme 5. Montez l’image disque ● fdisk -ul <image>, pour connaitre la taille du boot sector (à multiplier par 512) ● mount -o loop,offset=taille <image> <point_montage> 6. Dans le point de montage, déplacez le dossier lib/tls vers lib/tls.disable (mauvais support, fait planter le noyau xen de ce domU) 7. Faîtes un chroot dans le point de montage de votre installation 8. Pour que le réseau puisse fontionner dans la machine virtuelle : ○ montez /proc mount -t proc none /proc ○ copiez le fichier resolv.conf de la machine hôte dans cette machine 9. Modifiez les fichier /etc/apt/source.list pour mettre les dépôts Ubuntu 10. A l’aide de aptget, installez le noyau Xen 11. Quittez le chroot 12. A l’aide des fichiers de configuration des domU donnés, créez une configuration pour votre machine 13. Essayez de lancer votre machine 8 Installation de Windows dans une machine virtuelle xen Suivre la documentation d 'installation d'une machine xen sur Linux Fedora : http://www.cnrs.fr/aquitainelimousin/spip.php?article1337 Annexe A Salle de TP Annexe B Le protocole iSCSI iSCSI = protocole réseau qui encapsule le protocole SCSI dans des paquets TCP. TCP/IP est alors utilisé comme procole de transport, ce qui permet à une machine d'accéder à des périphériques distants connectés à l'infrastructure réseau. Terminologie ● le client est appelé « initiator » ● le serveur est appelé « target » Format des adresse iSCSI est de 2 types ● ● Format iqn (iSCSI Qualified Name) = iqn + la date (AAAMM) + nom du domaine à l'envers + chaine unique Ex : iqn.200503.org.openiscsi:4ba5fad29ab3 Format eui (Enterprise Unique Identifier) = chaine préfixée par « eui » et suivie de 16 chiffres hexadécimaux Ex : eui.00803A4B887A8D05 Connexion entre initiator et target Lorsque l'initiator souhaite établir une connexion TCP avec la target, il a besoin de connaître le port TCP de la target. portal = association (adresse IP, port TCP) Il y a un portal sur l'initiator et sur la target. Le port par défaut sur la target est 3260 Un initiator peut établir plusieurs connexion TCP avec la même target. L'ensemble de ces connexions définit une session iSCSI Découverte automatique Si initiator est activé, il peut découvrir automatiquement les targets associées à une adresse IP donnée. Ce processus est appelé autodécouverte (autodiscovery)