cd /etc/xen/auto ln -s ../bios
/etc/default/xendomains
XENDOMAINS_SAVE="" XENDOMAINS_RESTORE=false
Pour démarrer la machine bios
tout en se connectant à la console (switch -c):
xm create -c bios
xm list xm top
Se connecter en tant que root sur bixen puis:
xm shutdown bios xm destroy bios
Se connecter en tant que root sur bixen puis:
xm shutdown bios xm destroy bios xm create bios
ATTENTION La commande reboot envoyée à partir de la machine virtuelle ne fonctionne pas: elle arrête effectivement le FS, mais pas la machine virtuelle en elle-même.
xm console bios
Attention, pressez un ou deux fois la touche Retrun avant de voit apparaître l'invite de commande du système.
/etc/xen/sample
donne quelques indications sur les possibilitésIl est simple de faire grossir un disque, ainsi que son système de fichiers:
xm shutdown bios xm destroy bios
lvresize -L500T /dev/xdt/bios-data
NOTE: Dans les commandes suivantes on ne spécifie pas de taille pour le système de fichier, celui-ci prendra toute la place disponible dans la partition.
Pour ext2,3,4:
resize2fs /dev/xdt/bios-data
Pour reiserfs:
resize_reiserfs /dev/xdt/bios-data
Il est tout aussi simple de faire maigrir un disque, ainsi que son système de fichiers (il est ainsi possible de redistribuer l'espace disque en jouant aux vases communiquants).
xm shutdown bios xm destroy bios
Pour ext2,3,4:
resize2fs /dev/xdt/bios-data 50G
Pour reiserfs:
resize_reiserfs -s 50G /dev/xdt/bios-data
lvresize -L50G /dev/xdt/bios-data
xm create bios
xen-create-image --hostname NOM --role udev --ip XX.XX.XX.XX --passwd --extension ''
xen-create-image --hostname NOM --role udev --ip XX.XX.XX.XX --passwd --extension '' --dist wheezy
NOTE - Pour que xen-create-image
fonctionne avec wheezy vous devez la première fois seulement faire la manip suivante:
cd /usr/lib/xen-tools ln -s debian.d wheezy.d cd /usr/share/debootstrap/ ln -s sid wheezy
xen-create-image --hostname NOM --role udev --ip XX.XX.XX.XX --passwd --extension '' --dist hardy --install-method rinse
xen-create-image --hostname NOM --role udev --ip XX.XX.XX.XX --passwd --extension '' --dist fedora-core-8 --install-method rinse
/usr/lib/xen-tools
donne la liste des distributions qu'il est possible d'installer aisément.rpm
(redhat et dérivées)dpkg
(Debian et dérivées)copy
Il est possible de faire tourner une version de windows (a priori n'importe laquelle) dans une machine virtuelle. Toutefois, il ne s'agit plus de paravirtualisation, mais cette fois de véritable virtualisation. Cela marche à condition que les instructions de virtualisation du processeur soient actives (et à condition que le processeur soit assez récent pour avoir ces instructions).
# xm dmesg | grep -i hvm (XEN) HVM: VMX enabled
# xm dmesg | grep -i hvm (XEN) HVM: SVM enabled
gvncviewer
par apt-get install gvncviewer
kernel = "/usr/lib/xen-default/boot/hvmloader" builder='hvm' memory = 512 shadow_memory = 8 name = "win" vif = [ 'type=ioemu' ] disk = [ 'phy:/dev/xdt/windows-sys,xvda,w', 'file:/xen/cdrom-winxp.iso,xvdc:cdrom,r' ] device_model = '/usr/lib/xen-default/bin/qemu-dm' # boot on floppy (a), hard disk (c) or CD-ROM (d) # default: hard disk, cd-rom, floppy boot="d" sdl=0 vnc=1 #vnclisten="0.0.0.0" vncconsole=1 vncpasswd='azerty' stdvga=0 serial='pty' usbdevice='tablet' keymap='fr' on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
disk
indique que nous déclarons deux disques:vif
donne le type d'interface réseau (ioemu
). On peut aussi spécifier l'adresse mac, et il peut être nécessaire de spécifier le modèle de carte (obligatoirement ne2k_pci
, ne me demandez pas pourquoi), d'où la ligne:vif = [ 'type=ioemu, mac=00:16:3e:12:34:56, model=ne2k_pci' ]
xm create win
gvncviewer localhost
xm destroy win
boot=“d”
par boot=“c”
xm create win gvncviewer localhost
(TODO)
Il suffit d'ajouter le switch –force
à la commande xen-create-image
Pour changer la quantité de mémoire vive utilisée par une machine virtuelle:
memory=
lvresize -L1G /dev/xdt/bix44-swap mkswap /dev/xdt/bix44-swap
La taille de swap recommandée est 1,5 fois la taille mémoire.
ATTENTION: La somme de toutes les lignes memory doit être inférieure à la quantité de mémoire vive se trouvant dans la machine physique !
Pour agrandir un disque de la machine virtuelle bios44, voici la procédure la plus simple:
lvresize -L 10G /dev/xdt/bios44-disk
e2fsck -f /dev/xdt/bios44-disk
resize2fs /dev/xdt/bios44-disk
Pour ajouter un disque à la machine virtuelle bios44:
lvcreate -n bios44-data -L100G xdt
mkfs /dev/xdt/bios44-data
disk = [ 'phy:xdt/bios44-disk,sdb1,w','phy:xdt/bios44-swap,sda2,w'] devient disk = [ 'phy:xdt/bios44-disk,sdb1,w','phy:xdt/bios44-swap,sda2,w','phy:xdt/bios44-data,sda3,w']
mkdir /mnt/data mount /dev/sda3 /mnt/data
Pour jeter une vieille machine, il suffit d'arrêter la machine, de supprimer son fichier de configuration ainsi que les partitions lvm associées:
xm destroy vieille_machine rm /etc/xen/vieille_machine /etc/xen/auto/vieille_machine lvremove /dev/xdt/vieille_machine-sys /dev/xdt/vieille_machine-swap
apt-get update apt-get dist-upgrade
alien
(nécessaire pour l'installation) ainsi que la bibliothèque libxp6
(nécessaire pour nwrecover à, partir de 7.4) par apt-get update apt-get install alien libxp6
alien est un utilitaire qui permet de convertir des fichiers au format .rpm (pour redhat) au formet .deb (pour debian)
# wget ftp://www.stordata.fr/pub/networker/7.4.4/nw74sp4_linux_x86_64.tar.gz
tar xvzf nw74sp4_linux_x86_64.tar.gz lgtoclnt-7.4.4-1.x86_64.rpm
alien -i lgtoclnt-7.4.4-1.x86_64.rpm
c'est un peu long, il y a quelques messages qu'on peut ignorer, mais ça marche
update-rc.d networker start 98 2 . stop 02 0 6 .
il ne s'installe pas automatiquement car alien n'a pas converti les scripts de postinstallation
mkdir -p /nsr/res/; echo 'votre_serveur' > /nsr/res/servers
Attention également les fichiers /etc/host doivent être correctement renseignés
/etc/init.d/networker start
cat /nsr/logs/daemon.raw 0 1250514586 2 0 0 3798447856 4101 0 bios nsrexecd 2 %s 1 0 28 @(#) Product: NetWorker 0 1250514586 2 0 0 3798447856 4101 0 bios nsrexecd 2 %s 1 0 34 @(#) Release: 7.4.4.Build.634 0 1250514586 2 0 0 3798447856 4101 0 bios nsrexecd 2 %s 1 0 22 @(#) Build number: 634 0 1250514586 2 0 0 3798447856 4101 0 bios nsrexecd 2 %s 1 0 47 @(#) Build date: Thu Dec 11 17:33:29 PST 2008 0 1250514586 2 0 0 3798447856 4101 0 bios nsrexecd 2 %s 1 0 27 @(#) Build arch.: linux86w 0 1250514586 2 0 0 3798447856 4101 0 bios nsrexecd 2 %s 1 0 53 @(#) Build info: DBG=0,OPT=-O2 -fno-strict-aliasing
nwrecover
ou
recover
xdt
.bixen
, comme expliqué ci-dessus# vi /nsr/res/BIXEN.res type: savepnpc; precmd: "/etc/xen/nsr/nsr_precmd"; pstcmd: "/etc/xen/nsr/nsr_pstcmd","echo bye", "/bin/sleep 5"; abort precmd with group: No;
savepnp
comme 'remote command' (et non pas le programme par défaut save
) lors de chaque sauvegarde: ce programme permet d'appeler un script AVANT et APRES l'opération de sauvegarde proprement dite.cd /etc/xen/nsr tar xvzf nsr_savepnp.tgz
cd /etc/xen/nsr cp pre/bixN.pl.dist pre/bix2.pl cp pst/bixN.pl.dist pst/bix2.pl
pre/bix2.pl
et pst/bix2.pl
à vos besoins (taille et nombre des volumes à sauvegarder). Editez ces scripts et modifiez-les si besoincd /tmp /etc/xen/nsr/nsr_precmd lvscan mount /etc/xen/nsr/nsr_pstcmd lvscan mount
pre/bix2.pl
, c'est-à-dire au moins /mnt/bix2/disk
(cf. le script pre/bix2.pl
).cd /mnt/bix2/disk nwrecover
scp
par exemple) sur la machine bix2
pour terminer la restitution.