Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
hypervisor:base:xen [2014/03/24 23:53]
admin [Configure Boot Parameters]
hypervisor:base:xen [2014/04/03 01:44]
admin [Configure Dom0 Memory]
Line 1: Line 1:
 ====== Xen ====== ====== Xen ======
 +<WRAP center round important 60%>
 +In case you want to install the full XCP-XAPI toolstack, don't go any further and read the [[hypervisor:​base:​xcp|XCP-XAPI]] section.
 +</​WRAP>​
 +
 [[https://​wiki.debian.org/​Xen]] [[https://​wiki.debian.org/​Xen]]
  
Line 27: Line 31:
 ===== Configure Networking ===== ===== Configure Networking =====
  
-In order to give network access to guest domains it is necessary to configure ​the domain 0 network ​appropriately. The most common ​configuration ​is to use a software bridge.+Please refer to the [[:​hypervisor:​base:​network|Network ​configuration]] section.
  
-It is recommended that you manage your own network bridge using the [[https://​wiki.debian.org/​BridgeNetworkConnections|Debian network bridge]]. The Xen wiki page [[http://​wiki.xen.org/​wiki/​Host%20Configuration/​Networking|Host Configuration/​Networking]] also has some useful information. The Xen supplied network scripts are not always reliable and will be removed from a later version. They are disabled by default in Debian'​s packages.+===== Reliable Setup =====
  
-If you have a router that assigns ip addresses through dhcp, the following ​is a working example of the **/​etc/​network/​interfaces** file using bridge-utils software. +To avoid randomunexplained performance issues and failures in a XEN virtualization environment ​the following ​configuration items should always be checked; ​ Correspondingly,​ before troubleshooting ANY XEN Host or VM issue verify ​the XEN Host configuration as follows:
-<​code>​ +
-> nano /​etc/​network/​interfaces+
  
-#The loopback network interface +  * "Lock down" the amount of memory assigned to dom0.  
-auto lo +  * Set the amount of memory Dom0 is given at boot time 
-iface lo inet loopback+  * Disable ballooning 
 +  * Do not restrict dom0 to a single VCPU 
 +  * Only use Logical Volume Manager (LVM) on Dom0 or DomU, but not both
  
-iface eth0 inet manual +More (for SUSE)[[http://www.novell.com/support/kb/doc.php?​id=3559698]] ​ 
- +==== Configure ​Dom0 Memory ====
-auto xenbr0 +
-iface xenbr0 inet dhcp +
-   ​bridge_ports eth0 +
- +
-#other possibly useful options in a virtualized environment +
-  #bridge_stp off       # disable Spanning Tree Protocol +
-  #​bridge_waitport 0    # no delay before a port becomes available +
-  #bridge_fd 0          # no forwarding delay +
-</​code>​ +
- +
-activate your changes like this: +
-<​code>​ +
-> ifdown eth0 +
-> killall dhclient +
-> ifup xenbr0 +
-> brctl show +
- +
-bridge name bridge id       STP enabled interfaces +
-br-lan ​     8000.xxxxxxxxxxxx ​  ​no ​     eth0 +
-</code> +
- +
-You should see your new IP address on ifconfig br-lan, and you should still be able to ping out (e.gping 8.8.8.8 ​and resolve: ping google.com). +
- +
- +
-===== Configure ​Domain 0 Memory ​=====+
  
 On a system which is dedicated to running Xen guests it is better to instead give dom0 some static amount of RAM and to disable ballooning, here 1024MB. On a system which is dedicated to running Xen guests it is better to instead give dom0 some static amount of RAM and to disable ballooning, here 1024MB.
Line 98: Line 77:
 At this point you should **reboot** so that these changes take effect. At this point you should **reboot** so that these changes take effect.
  
 +=== Ensure that Xen is running ===
 +<​code>​
 +> cat /​proc/​xen/​capabilities
 +</​code>​
 +Should display “control_d”
 ===== Configure guest behaviour on host reboot ===== ===== Configure guest behaviour on host reboot =====
  
Line 155: Line 139:
  
 Please note that pci-passthrough is broken when msi is enabled (default) in Linux kernels < 3.14. Use Linux kernel >= 3.14 in DomU/VM or set pci=nomsi for DomU/VM kernel as workaround. See the following thread for detailed information:​ [[http://​thread.gmane.org/​gmane.comp.emulators.xen.user/​81944/​focus=191437]] Please note that pci-passthrough is broken when msi is enabled (default) in Linux kernels < 3.14. Use Linux kernel >= 3.14 in DomU/VM or set pci=nomsi for DomU/VM kernel as workaround. See the following thread for detailed information:​ [[http://​thread.gmane.org/​gmane.comp.emulators.xen.user/​81944/​focus=191437]]
 +
 +===== Enable Serial Console =====
 +
 +To get output from GRUB, the Xen hypervisor, the kernel and getty (login prompt) via both VGA and serial console to work, here's an example of the right settings on squeeze:
 +
 +Edit **/​etc/​default/​grub** and add:
 +<​code>​
 +GRUB_SERIAL_COMMAND="​serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1"​
 +GRUB_TERMINAL="​console serial"​
 +GRUB_TIMEOUT=5
 +GRUB_CMDLINE_XEN="​com1=9600,​8n1 console=com1,​vga"​
 +GRUB_CMDLINE_LINUX="​console=tty0 console=hvc0"​
 +</​code>​
 +
 +Here's what I used to configure the serial console (for a Supermicro X8STi-F motherboard with IPMI and SOL):
 +<​code>​
 +GRUB_CMDLINE_XEN="​loglvl=all guest_loglvl=all com1=115200,​8n1,​0x3e8,​5 console=com1,​vga"​
 +GRUB_CMDLINE_LINUX="​console=hvc0 earlyprintk=xen"​
 +</​code>​
 +
 +In **/​etc/​inittab** you need at least these lines:
 +<​code>​
 +1:​2345:​respawn:/​sbin/​getty 38400 hvc0
 +2:​23:​respawn:/​sbin/​getty 38400 tty1
 +# NO getty on ttyS0!
 +</​code>​
 +
 +This way, tty1 will show up at the VGA output, and the hvc0 will show up at the serial console.
 +
 +To keep both Xen and dom0 kernel output on the same tty, just omit the "​vga"​-related settings from the above setup.
 +
 +If you need to debug Xen and see a crash dump of the kernel, you can do it using IPMITool if your server has SOL:
 +<​code>​
 +ipmitool -I lanplus -H server-ip-address -U your-username sol activate | tee my-log-file.txt
 +</​code>​