Le tableau
Mon exemple se compose d'une machine Dedibox Pro R210. Il s'agit d'une machine avec un octo-proc Xeon L3426 à 1.87GHz. Ne vous laissez pas avoir par « si peu » de GigaHertz, ces machines n'ont rien à voir avec des processeurs milieu de gamme type i5/i7. Elle comporte 16Go de ram DDR ECC. Cette machine est sous debian squeeze (stable actuelle).
Le réseau
Ma configuration réseau est ainsi :
- IP: 88.190.11.12
- Gateway: 88.190.11.1
- DNS: 127.0.0.1, 88.191.254.60, 88.191.254.70
J'ai une adresse IP failover que j'ai assigné à mon serveur :
- Adresse IP failover 1: 88.190.223.115
- Adresse redirigée sur 88.190.11.12
- Reverse : debsqueeze.yoda-bzh.net
- Mac virtuelle Xen : 00:16:3e:00:00:40
La configuration réseau dépend de votre réseau. Par exemple, si votre ip est 88.190.23.55, la gateway doit donc être 88.190.23.1.
user@dom0$ sudo ifconfig eth0 Link encap:Ethernet HWaddr 00:26:b9:84:ff:ce inet adr:88.190.11.12 Bcast:88.190.11.255 Masque:255.255.255.0 adr inet6: fe80::226:b9ff:fe84:ffce/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:107463 errors:0 dropped:0 overruns:0 frame:0 TX packets:90482 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:19045383 (18.1 MiB) TX bytes:10436963 (9.9 MiB) Interruption:16 Mémoire:da000000-da012800 lo Link encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 adr inet6: ::1/128 Scope:Hôte UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:70 errors:0 dropped:0 overruns:0 frame:0 TX packets:70 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:6949 (6.7 KiB) TX bytes:6949 (6.7 KiB)
user@dom0$ sudo route -n Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 88.190.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 88.190.11.1 0.0.0.0 UG 0 0 0 eth0
Installation de xen4
Vous devez installer les paquets suivant : libxenstore3.0 linux-image-2.6.32-5-xen-amd64 linux-image-xen-amd64 xen-hypervisor-4.0-amd64 xen-tools xen-utils-4.0 xen-utils-common xenstore-utils xenwatch
Avec la commande suivante :
user@dom0$ sudo aptitude installlibxenstore3.0 linux-image-2.6.32-5-xen-amd64 linux-image-xen-amd64 xen-hypervisor-4.0-amd64 xen-tools xen-utils-4.0 xen-utils-common xenstore-utils xenwatch
Par défaut, Debian ne boot pas sur le noyau xen[1]. Il faut donc modifier la configuration de grub pour booter sur ce noyau
user@dom0$ cd /etc/grub.d/ user@dom0$ sudo mv -i 20_linux_xen 09_linux_xen user@dom0$ sudo update-grub2
Vous devez ensuite redémarrer la machine pour qu'elle boot sur ce nouveau noyau. Normalement elle redémarrera sans heurt.
Une fois sur le nouveau noyau, un petit test pour voir si tout s'est bien passé :
user@dom0$ sudo xentop
Si vous voyez quelque chose du genre :
xentop - 10:52:07 Xen 4.0.1 1 domains: 1 running, 0 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdown Mem: 16767188k total, 15117648k used, 1649540k free CPUs: 8 @ 1862MHz NAME STATE CPU(sec) CPU(%) MEM(k) MEM(%) MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS VBD_OO VBD_RD VBD_WR VBD_RSECT VBD_WSECT SSID Domain-0 -----r 16821 400.7 14896180 88.8 no limit n/a 8 0 0 0 0 0 0 0 0 0 0 Delay Networks vBds Tmem VCPUs Repeat header Sort order Quit
C'est que tout s'est bien passé. Si vous avez une erreur concernant sysfs, c'est que votre noyau n'est pas le bon.
Configuration de xend
Il est très fortement conseillé d'utiliser vif-route au lieu de vif-bridge sur le réseau dedibox. Nous allons donc modifier xend en conséquence.
user@dom0$ sudo vim /etc/xen/xend-config.sxp
Vers la ligne 160 il faut commenter ces lignes :
(network-script network-bridge)
Puis un peu plus bas, décommenter
#(network-script network-route) #(vif-script vif-route)
et modifier en
(network-script 'network-route netdev=eth0') (vif-script vif-route)
Il faut aussi modifier le script de route de xen :
user@dom0$ sudo echo 'echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp' >> /etc/xen/scripts/network-route user@dom0$ sudo /etc/init.d/xend restart
Configuration de xen-tools
Le paquet xen-tools contient plusieurs executables[2] permettant de créer facilement des images xen de plusieurs distributions.
Nous allons d'abord configurer les script pour l'utilisation de xen-create-image
user@dom0$ cd /etc/xen-tools user@dom0$ sudo vim xen-tools.conf
Vous trouverez vers la ligne 129 les tailles par défaut de vous images, ainsi que la composition matérielle (nombre de CPU, quantité de RAM, type de système de fichiers, etc.) Ma configuration est ainsi :
# ## # Disk and Sizing options. ## # size = 15Gb # Disk image size. memory = 128Mb # Memory size swap = 512Mb # Swap size # noswap = 1 # Don't use swap at all for the new system. fs = ext3 # use the EXT3 filesystem for the disk image. dist = `xt-guess-suite-and-mirror --suite` # Default distribution to install. image = sparse # Specify sparse vs. full disk images.
Vers la ligne 160 vous aurez la configuration réseau par défaut :
gateway = 88.190.11.12 netmask = 255.255.255.0
J'ai ici mis la configuration réseau de mon Dom0, mais ces valeurs seront écrasées par les options que nous passerons à xen-create-image
.
Vers la ligne 205 j'ai rajouté :
# # Uncomment the following line if you wish not to generate a new root # password for the new guest. # # genpass = 0 # genpass = 0
Par défaut, xen vous crée un mot de pass root aléatoire et vous l'affiche à l'écran quand il a fini de créer l'image. Si vous êtes un peu rapide/pressé, vous arriverez à faire en sorte que ce mot de pass disparaisse avant que vous ayez pu le noter. Avec cette directive, xen vous demandera le mot de pass que vous voudrez utiliser.
Ligne 228, toujours pour les mots de passe :
# # Uncomment the following line if you wish to interactively setup a # new root password for images. # # passwd = 1 # passwd = 1
J'ai laissé les autres directives par défaut.
Création d'une image
user@dom0$ sudo xen-create-image --pygrub --dist=squeeze --ip=88.190.223.115 --mac=00:16:3e:00:00:40 --netmask=255.255.255.255 --hostname=debsqueeze General Information -------------------- Hostname : debsqueeze Distribution : squeeze Mirror : http://ftp.fr.debian.org/debian/ Partitions : swap 512Mb (swap) / 15Gb (ext3) Image type : sparse Memory size : 128Mb Kernel path : /boot/vmlinuz-2.6.32-5-xen-amd64 Initrd path : /boot/initrd.img-2.6.32-5-xen-amd64 Networking Information ---------------------- IP Address 1 : 88.190.223.115 [MAC: 00:16:3e:00:00:40] Netmask : 255.255.255.255 Creating partition image: /var/lib/xen//domains/debsqueeze/swap.img Done Creating swap on /var/lib/xen//domains/debsqueeze/swap.img Done Creating partition image: /var/lib/xen//domains/debsqueeze/disk.img Done Creating ext3 filesystem on /var/lib/xen//domains/debsqueeze/disk.img Done Installation method: debootstrap Done Running hooks Done No role scripts were specified. Skipping Creating Xen configuration file Done Setting up root password Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully All done Logfile produced at: /var/log/xen-tools/debsqueeze.log Installation Summary --------------------- Hostname : debsqueeze Distribution : squeeze IP-Address(es) : 88.190.223.115 RSA Fingerprint : 35:cf:00:03:54:74:60:4a:a5:ca:4f:5f:41:d1:6a:91 Root Password : N/A
Lancement de la VM
user@dom0$ sudo xm create -c /etc/xen/debsqueeze.conf
L'option -c est importante. Elle permet d'avoir une console sur la machine virtuelle qui démarre. Sans cette option, la machine est détachée, vous devez y accéder via SSH. Seulement avec la configuration actuelle, votre machine virtelle n'est pour l'instant pas accessible.
pyGRUB version 0.6 ┌────────────────────────────────────────────────────────────────────────┐ │ Debian GNU/Linux 6.0 │ │ Debian GNU/Linux 6.0 (Single-User) │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────────────────────────┘ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, 'a' to modify the kernel arguments before booting, or 'c' for a command line. Will boot selected entry in 1 seconds Started domain debsqueeze (id=4) [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.32-5-xen-amd64 (Debian 2.6.32-30) (ben@decadent.org.uk) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Wed Jan 12 05:46:49 UTC 2011 [ 0.000000] Command line: root=/dev/xvda2 ro root=/dev/xvda2 ro [ 0.000000] KERNEL supported cpus: [ 0.000000] Intel GenuineIntel [ 0.000000] AMD AuthenticAMD [ 0.000000] Centaur CentaurHauls [ 0.000000] ACPI in unprivileged domain disabled [ 0.000000] released 0 pages of unused memory [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] Xen: 0000000000000000 - 00000000000a0000 (usable) [ 0.000000] Xen: 00000000000a0000 - 0000000000100000 (reserved) [ 0.000000] Xen: 0000000000100000 - 0000000008000000 (usable) [ 0.000000] DMI not present or invalid. [ 0.000000] last_pfn = 0x8000 max_arch_pfn = 0x400000000 [ 0.000000] init_memory_mapping: 0000000000000000-0000000008000000 [ 0.000000] RAMDISK: 016b8000 - 02fd7000 [ 0.000000] No NUMA configuration found [ 0.000000] Faking a node at 0000000000000000-0000000008000000 [ 0.000000] Bootmem setup node 0 0000000000000000-0000000008000000 [ 0.000000] NODE_DATA [000000000002a000 - 0000000000031fff] [ 0.000000] bootmap [0000000000032000 - 0000000000032fff] pages 1 [ 0.000000] (7 early reservations) ==> bootmem [0000000000 - 0008000000] [ 0.000000] #0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000] [ 0.000000] #1 [000301a000 - 0003037000] XEN PAGETABLES ==> [000301a000 - 0003037000] [ 0.000000] #2 [0000006000 - 0000008000] TRAMPOLINE ==> [0000006000 - 0000008000] [ 0.000000] #3 [0001000000 - 0001697994] TEXT DATA BSS ==> [0001000000 - 0001697994] [ 0.000000] #4 [00016b8000 - 0002fd7000] RAMDISK ==> [00016b8000 - 0002fd7000] [ 0.000000] #5 [0002fd7000 - 000301a000] XEN START INFO ==> [0002fd7000 - 000301a000] [ 0.000000] #6 [0000008000 - 000002a000] PGTABLE ==> [0000008000 - 000002a000] [ 0.000000] Zone PFN ranges: [ 0.000000] DMA 0x00000000 -> 0x00001000 [ 0.000000] DMA32 0x00001000 -> 0x00100000 [ 0.000000] Normal 0x00100000 -> 0x00100000 [ 0.000000] Movable zone start PFN for each node [ 0.000000] early_node_map[2] active PFN ranges [ 0.000000] 0: 0x00000000 -> 0x000000a0 [ 0.000000] 0: 0x00000100 -> 0x00008000 [ 0.000000] SFI: Simple Firmware Interface v0.7 http://simplefirmware.org [ 0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs [ 0.000000] No local APIC present [ 0.000000] APIC: disable apic facility [ 0.000000] PM: Registered nosave memory: 00000000000a0000 - 0000000000100000 [ 0.000000] Allocating PCI resources starting at 8000000 (gap: 8000000:f8000000) [ 0.000000] Booting paravirtualized kernel on Xen [ 0.000000] Xen version: 4.0.1 (preserve-AD) [ 0.000000] NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:1 nr_node_ids:1 [ 0.000000] PERCPU: Embedded 30 pages/cpu @ffff88000306d000 s90328 r8192 d24360 u122880 [ 0.000000] pcpu-alloc: s90328 r8192 d24360 u122880 alloc=30*4096 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Xen: using vcpu_info placement [ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 32187 [ 0.000000] Policy zone: DMA32 [ 0.000000] Kernel command line: root=/dev/xvda2 ro root=/dev/xvda2 ro [ 0.000000] PID hash table entries: 512 (order: 0, 4096 bytes) [ 0.000000] Initializing CPU#0 [ 0.000000] Checking aperture... [ 0.000000] No AGP bridge found [ 0.000000] Memory: 95476k/131072k available (3147k kernel code, 384k absent, 35212k reserved, 1908k data, 600k init) [ 0.000000] SLUB: Genslabs=14, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Hierarchical RCU implementation. [ 0.000000] NR_IRQS:4352 nr_irqs:512 [ 0.000000] Console: colour dummy device 80x25 [ 0.000000] console [tty0] enabled [ 0.000000] console [hvc0] enabled [ 0.000000] installing Xen timer for CPU 0 [ 0.000000] Detected 1862.031 MHz processor. [ 0.004000] Calibrating delay loop (skipped), value calculated using timer frequency.. 3724.06 BogoMIPS (lpj=7448124) [ 0.004000] Security Framework initialized [ 0.004000] SELinux: Disabled at boot. [ 0.004000] Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) [ 0.004000] Inode-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.004000] Mount-cache hash table entries: 256 [ 0.004000] Initializing cgroup subsys ns [ 0.004000] Initializing cgroup subsys cpuacct [ 0.004000] Initializing cgroup subsys devices [ 0.004000] Initializing cgroup subsys freezer [ 0.004000] Initializing cgroup subsys net_cls [ 0.004000] CPU: L1 I cache: 32K, L1 D cache: 32K [ 0.004000] CPU: L2 cache: 256K [ 0.004000] CPU: L3 cache: 8192K [ 0.004000] CPU 0/0x3 -> Node 0 [ 0.004000] CPU: Unsupported number of siblings 16 [ 0.004000] Performance Events: unsupported p6 CPU model 30 no PMU driver, software events only. [ 0.004000] SMP alternatives: switching to UP code [ 0.004000] Freeing SMP alternatives: 28k freed [ 0.004164] Brought up 1 CPUs [ 0.004273] devtmpfs: initialized [ 0.007968] Grant table initialized [ 0.007975] regulator: core version 0.5 [ 0.008033] NET: Registered protocol family 16 [ 0.008814] PCI: setting up Xen PCI frontend stub [ 0.009293] bio: create slab <bio-0> at 0 [ 0.009364] ACPI: Interpreter disabled. [ 0.009399] xen_balloon: Initialising balloon driver with page order 0. [ 0.009448] vgaarb: loaded [ 0.009508] PCI: System does not support PCI [ 0.009513] PCI: System does not support PCI [ 0.009592] Switching to clocksource xen [ 0.010783] pnp: PnP ACPI: disabled [ 0.010984] NET: Registered protocol family 2 [ 0.011053] IP route cache hash table entries: 1024 (order: 1, 8192 bytes) [ 0.011268] TCP established hash table entries: 4096 (order: 4, 65536 bytes) [ 0.011311] TCP bind hash table entries: 4096 (order: 4, 65536 bytes) [ 0.011338] TCP: Hash tables configured (established 4096 bind 4096) [ 0.011343] TCP reno registered [ 0.011395] NET: Registered protocol family 1 [ 0.011439] Unpacking initramfs... [ 0.029811] Freeing initrd memory: 25724k freed [ 0.036328] platform rtc_cmos: registered platform RTC device (no PNP device found) [ 0.036528] audit: initializing netlink socket (disabled) [ 0.036542] type=2000 audit(1298716438.501:1): initialized [ 0.041443] HugeTLB registered 2 MB page size, pre-allocated 0 pages [ 0.042805] VFS: Disk quotas dquot_6.5.2 [ 0.042858] Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.042933] msgmni has been set to 236 [ 0.043109] alg: No test for stdrng (krng) [ 0.043164] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) [ 0.043171] io scheduler noop registered [ 0.043175] io scheduler anticipatory registered [ 0.043179] io scheduler deadline registered [ 0.043212] io scheduler cfq registered (default) [ 0.046544] registering netback [ 0.048173] Linux agpgart interface v0.103 [ 0.048207] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.048412] input: Macintosh mouse button emulation as /devices/virtual/input/input0 [ 0.048463] PNP: No PS/2 controller found. Probing ports directly. [ 0.049283] i8042.c: No controller found. [ 0.049349] mice: PS/2 mouse device common for all mice [ 0.049576] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 [ 0.174162] cpuidle: using governor ladder [ 0.174171] cpuidle: using governor menu [ 0.174188] No iBFT detected. [ 0.174612] TCP cubic registered [ 0.174791] NET: Registered protocol family 10 [ 0.175436] lo: Disabled Privacy Extensions [ 0.175812] Mobile IPv6 [ 0.175821] NET: Registered protocol family 17 [ 0.175973] registered taskstats version 1 [ 0.175995] XENBUS: Device with no driver: device/vbd/51714 [ 0.176004] XENBUS: Device with no driver: device/vbd/51713 [ 0.176011] XENBUS: Device with no driver: device/vif/0 [ 0.176018] XENBUS: Device with no driver: device/console/0 [ 0.176043] /build/buildd-linux-2.6_2.6.32-30-amd64-d4MbNM/linux-2.6-2.6.32/debian/build/source_amd64_xen/drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 0.176072] Initalizing network drop monitor service [ 0.176219] Freeing unused kernel memory: 600k freed [ 0.176389] Write protecting the kernel read-only data: 4328k Loading, please wait... [ 0.228234] udev[46]: starting version 164 [ 0.316800] Initialising Xen virtual ethernet driver. [ 0.330826] blkfront: xvda2: barriers enabled [ 0.332243] Setting capacity to 31457280 [ 0.332257] xvda2: detected capacity change from 0 to 16106127360 [ 0.332903] blkfront: xvda1: barriers enabled [ 0.334222] Setting capacity to 1048576 [ 0.334234] xvda1: detected capacity change from 0 to 536870912 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. [ 0.597917] kjournald starting. Commit interval 5 seconds [ 0.597938] EXT3-fs: mounted filesystem with ordered data mode. Begin: Running /scripts/local-bottom ... done. done. Begin: Running /scripts/init-bottom ... done. INIT: version 2.88 booting Using makefile-style concurrent boot in runlevel S. Starting the hotplug events dispatcher: udevd[ 0.762185] udev[147]: starting version 164 . Synthesizing the initial hotplug events...done. Waiting for /dev to be fully populated...[ 0.871458] input: PC Speaker as /devices/platform/pcspkr/input/input1 [ 0.973613] Error: Driver 'pcspkr' is already registered, aborting... done. Activating swap...[ 1.095101] Adding 524280k swap on /dev/xvda1. Priority:-1 extents:1 across:524280k SS done. Checking root file system...fsck from util-linux-ng 2.17.2 /dev/xvda2: clean, 13584/983040 files, 195590/3932160 blocks done. [ 1.133306] EXT3 FS on xvda2, internal journal Loading kernel modules...done. Cleaning up ifupdown.... Setting up networking.... Activating lvm and md swap...done. Checking file systems...fsck from util-linux-ng 2.17.2 done. Mounting local filesystems...done. Activating swapfile swap...done. Cleaning up temporary files.... Setting kernel variables ...done. Configuring network interfaces...SIOCADDRT: No such process Failed to bring up eth0. done. Cleaning up temporary files.... INIT: Entering runlevel: 2 Using makefile-style concurrent boot in runlevel 2. Starting enhanced syslogd: rsyslogd. Starting OpenBSD Secure Shell server: sshd. Starting periodic command scheduler: cron. Debian GNU/Linux 6.0 debsqueeze hvc0 debsqueeze login:
Pour voir si votre machine virtuelle tourne, utilisez xentop
:
user@dom0$ sudo xentop xentop - 11:36:07 Xen 4.0.1 2 domains: 1 running, 1 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdown Mem: 16767188k total, 15245088k used, 1522100k free CPUs: 8 @ 1862MHz NAME STATE CPU(sec) CPU(%) MEM(k) MEM(%) MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS VBD_OO VBD_RD VBD_WR VBD_RSECT VBD_WSECT SSID debsqueeze --b--- 1 0.0 127232 0.8 131072 0.8 1 1 0 0 2 0 978 79 28146 1000 0 Domain-0 -----r 27539 400.7 14896180 88.8 no limit n/a 8 0 0 0 0 0 0 0 0 0 0 Delay Networks vBds Tmem VCPUs Repeat header Sort order Quit
On peut voir que la machine debsqueeze tourne :)
Configuration réseau de la vm
Pour l'instant la configuration de la vm ressemble à ça :
root@debsqueeze:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:3e:00:00:40 inet addr:88.190.223.115 Bcast:88.255.255.255 Mask:255.255.255.255 inet6 addr: fe80::216:3eff:fe00:40/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:244 (244.0 B) TX bytes:468 (468.0 B) Interrupt:246 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:536 (536.0 B) TX bytes:536 (536.0 B) root@debsqueeze:~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface
Comme je le disais, par défaut, votre VM n'a pas encore accès au net. Pour ceci, vous allez devoir ajouter la gateway avec une certaine configuration
root@debsqueeze:~# route add 88.190.11.1/32 dev eth0 root@debsqueeze:~# route add default gw 88.190.11.1
Nous pouvons maintenant vérifier que nous avons le net à partir de la VM :
root@debsqueeze:~# ping -c 3 free.fr PING free.fr (212.27.48.10) 56(84) bytes of data. 64 bytes from www.free.fr (212.27.48.10): icmp_req=1 ttl=122 time=0.868 ms 64 bytes from www.free.fr (212.27.48.10): icmp_req=2 ttl=122 time=0.895 ms 64 bytes from www.free.fr (212.27.48.10): icmp_req=3 ttl=122 time=0.948 ms --- free.fr ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 0.868/0.903/0.948/0.048 ms
Et depuis l'exterieur vers la vm :
moi@autremachine$ ssh root@88.190.223.115 root@88.190.223.115's password: Linux debsqueeze 2.6.32-5-xen-amd64 #1 SMP Wed Jan 12 05:46:49 UTC 2011 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Feb 26 11:44:46 2011 root@debsqueeze:~#
Pour mémoriser cette configuration, nous allons modifier le fichier /etc/network/interfaces (j'ai installé vim entre temps) :
root@debsqueeze:~# vim /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 88.190.223.115 netmask 255.255.255.255 # les deux lignes à rajouter : post-up route add -host 88.190.11.1/32 dev eth0 post-up route add default gw 88.190.11.1 # post-up ethtool -K eth0 tx off # # The commented out line above will disable TCP checksumming which # might resolve problems for some users. It is disabled by default #
Erreurs
- Si vous avez un peth0 qui est actif dans votre
ifconfig
, redémarrer votre machine. Cette interface doit venir de l'installation de xen en bridge. Faire unifconfig peth0 down
va tout simplement vous couper l'accès au réseau.
Sources :
- http://forum.online.net/index.php?/topic/135-lancement-des-macs-virtuelles/page__view__findpost__p__416
- http://documentation.online.net/fr/serveur-dedie/reseau/ip-failover#virtualisation_xen_vserver
Notes
[1] Sources: Bug 606719 chez Debian, Le wiki debian sur xen
[2] xt-customize-image, xt-create-xen-config, xen-list-images, xen-delete-image, xt-install-image, xen-create-nfs, xen-create-image, xt-guess-suite-and-mirror, xen-update-image
1 De Lyes -
Hello,
Très sympa ce tuto. Par contre après avoir modifier la config relative aux interfaces, lorsque je relance Xend j'obtiens ce message d'erreur :
Restarting Xen daemons: xend/etc/xen/scripts/network-route: line 20: /etc/xen/scripts/hotplugpath.sh: No such file or directory
/etc/xen/scripts/network-route: line 20: /etc/xen/scripts/hotplugpath.sh: No such file or directory
xend/etc/xen/scripts/network-route: line 20: /etc/xen/scripts/hotplugpath.sh: No such file or directory
/etc/xen/scripts/network-route: line 20: /etc/xen/scripts/hotplugpath.sh: No such file or directory
/etc/xen/scripts/network-route: line 20: /etc/xen/scripts/hotplugpath.sh: No such file or directory
Est ce normal ?
Merci.
2 De Yoda-BZH -
Merci :)
Oui j'ai ça aussi, c'est un bug connu : http://bugs.debian.org/cgi-bin/bugr... en particulier le message #15 (http://bugs.debian.org/cgi-bin/bugr...). Sands doute que tu arriveras à réparer ça en lisant le message suivant :)
3 De Lyes -
Merci c'est en effet ce que j'avais fait ;)
Sinon j'ai suivi l'ensemble de ton tuto et tout marche nikel. Vraiment super cela m'a bien servi.
Par contre je souhaiterai rajouter une interface avec une IP privée pour communiquer avec deux autres DomU également en IP privée pour faire un architecture front/back avec reverse proxy.
J'ai tout essayé et rien n'y fait...Impossible de faire communiquer les réseaux privés. J'ai même suivi ce tuto: http://wiki.xensource.com/xenwiki/X...
Peut être as tu une idée ? Ca serait super ! :D
++ et merci encore
4 De Lyes -
Bon ben finalement j'ai utilisé le bridge avec mac virtuelle parce qu'en mode route impossible de le faire...
5 De Grigri -
Bonjour,
Excellent tuto.
J'ai réussi à lancer la VM, jusqu'à ce que je reboot la machine. Là, peth0 a bien disparu, reste eth0, eth1 et lo0. Et lorsque je lance la VM, j'ai ce message d'erreur, avec retour au prompt du dom0:
Error: Device 0 (vif) could not be connected. Could not find bridge, and none was specified
J'ai bien vérifié mon xend-config.sxp, j'ai bien (et c'est le seul network-script):
(network-script 'network-route netdev=eth0')
(vif-script vif-route)
J'ai essayé de relancer xend, de recréer l'image, rien n'y fait, le pygrub de la VM se lance bien, mais crash au lancement du noyau, avec le message cité ci-dessus :(
Une petite idée ?
6 De Grigri -
Erm, il faut aussi commenter:
(vif-script vif-bridge)
Maintenant, çà marche.
7 De l0wg33k -
Merci pour m'avoir éclairé ma lanterne, maintenant c'est devenu mon outils favoris pour la virtualisation serveur.
problème résolu:
Pour l'erreur /etc/xen/scripts/network-route: line 20: /etc/xen/scripts/hotplugpath.sh: No such file or directory
il faut simplement commenter avec un "#" une ligne dans /etc/xen/scripts/network-route
". $dir/hotplugpath.sh" par "#. $dir/hotplugpath.sh" puis relancer le démon
problème 2 : Il faut spécifier le dossier de destination car chez moi il ne voulait pas créer l'image!
j'ai crée un répertoire "mkdir -p /vm; cd /vm; cp -r /var/lib/xend/* ."
j'ai donc ajouter '--dir=/vm' a la ligne de commande
puis j'ai relancé la création d'image !
Merci encore!
8 De julio -
j'ai fait comme tu as dis seulement quand je fais "xm top", la column MEM(k) ne se rafraichis pas :/ . je me demande si c'est pas parce que j'ai demarré le vm en HVM??