Diff for /wikisrc/ports/xen/howto.mdwn between versions 1.23 and 1.28

version 1.23, 2014/12/24 01:34:47 version 1.28, 2014/12/24 14:35:23
Line 27  code for Xen and need not be aware that  Line 27  code for Xen and need not be aware that 
 Attempts to access hardware registers are trapped and emulated.  This  Attempts to access hardware registers are trapped and emulated.  This
 style is less efficient but can run unmodified guests.  style is less efficient but can run unmodified guests.
   
 Generally any amd64 machine will work with Xen and PV guests.  For HVM  Generally any amd64 machine will work with Xen and PV guests.  For
 guests, the VT or VMX cpu feature (Intel) or SVM/HVM/VT (amd64) is  HVM guests, the VT or VMX cpu feature (Intel) or SVM/HVM/VT (amd64)
 needed; "cpuctl identify 0" will show this.  TODO: Clean up and check  is needed; "cpuctl identify 0" will show this.  Xen 4.2 is the last
 the above features.  TODO: Explain if i386 (non-amd64) machines can  version for support for using i386 as a host.  TODO: Clean up and
 still be used --- I think that the requirement to use PAE kernels is  check the above features.
 about the hypervisor being amd64 only.  
   
 At boot, the dom0 kernel is loaded as module with Xen as the kernel.  At boot, the dom0 kernel is loaded as a module with Xen as the kernel.
 The dom0 can start one or more domUs.  (Booting is explained in detail  The dom0 can start one or more domUs.  (Booting is explained in detail
 in the dom0 section.)  in the dom0 section.)
   
 NetBSD supports Xen in that it can serve as dom0, be used as a domU,  NetBSD supports Xen in that it can serve as dom0, be used as a domU,
 and that Xen kernels and tools are available in pkgsrc.  This HOWTO  and that Xen kernels and tools are available in pkgsrc.  This HOWTO
 attempts to address both the case of running a NetBSD dom0 on hardware  attempts to address both the case of running a NetBSD dom0 on hardware
 and running NetBSD as a domU in a VPS.  and running domUs under it (NetBSD and other), and also running NetBSD
   as a domU in a VPS.
   
 Some versions of Xen support "PCI passthrough", which means that  Some versions of Xen support "PCI passthrough", which means that
 specific PCI devices can be made available to a specific domU instead  specific PCI devices can be made available to a specific domU instead
Line 60  path when there are no known good reason Line 60  path when there are no known good reason
 This HOWTO presumes a basic familiarity with the Xen system  This HOWTO presumes a basic familiarity with the Xen system
 architecture.  This HOWTO presumes familiarity with installing NetBSD  architecture.  This HOWTO presumes familiarity with installing NetBSD
 on i386/amd64 hardware and installing software from pkgsrc.  on i386/amd64 hardware and installing software from pkgsrc.
 See also the [Xen website](http://www.xen.org/).  See also the [Xen website](http://www.xenproject.org/).
   
 History  History
 -------  -------
Line 69  NetBSD used to support Xen2; this has be Line 69  NetBSD used to support Xen2; this has be
   
 Before NetBSD's native bootloader could support Xen, the use of  Before NetBSD's native bootloader could support Xen, the use of
 grub was recommended.  If necessary, see the  grub was recommended.  If necessary, see the
 [old grub information](/xen/howto-grub/).  [old grub information](/ports/xen/howto-grub/).
   
 Versions of Xen and NetBSD  Versions of Xen and NetBSD
 ==========================  ==========================
   
 Most of the installation concepts and instructions are independent of  Most of the installation concepts and instructions are independent
 Xen version.  This section gives advice on which version to choose.  of Xen version and NetBSD version.  This section gives advice on
 Versions not in pkgsrc and older unsupported versions of NetBSD are  which version to choose.  Versions not in pkgsrc and older unsupported
 inentionally ignored.  versions of NetBSD are intentionally ignored.
   
 Xen  Xen
 ---  ---
Line 100  of 2014-12. Line 100  of 2014-12.
   
 Ideally newer versions of Xen will be added to pkgsrc.  Ideally newer versions of Xen will be added to pkgsrc.
   
 Note that NetBSD support is called XEN3; it works with 3.1 through  Note that NetBSD support is called XEN3.  It works with 3.1 through
 4.2, because the hypercall interface has been stable.  4.2 because the hypercall interface has been stable.
   
 Xen command program  Xen command program
 -------------------  -------------------
   
 Early Xen used a program called "xm" to manipulate the system from the  Early Xen used a program called "xm" to manipulate the system from the
 dom0.  Starting in 4.1, a replacement program with similar behavior  dom0.  Starting in 4.1, a replacement program with similar behavior
 called "xl" is provided.  In 4.2, "xm" is no longer available.  called "xl" is provided.  In 4.2 and later, "xl" is preferred.  4.4 is
   the last version that has "xm".
   
 NetBSD  NetBSD
 ------  ------
Line 177  Installation of NetBSD Line 178  Installation of NetBSD
 ----------------------  ----------------------
   
 First,  First,
 [install NetBSD/amd64](../../docs/guide/en/chap-inst.html)  [install NetBSD/amd64](/guide/inst/)
 just as you would if you were not using Xen.  just as you would if you were not using Xen.
 However, the partitioning approach is very important.  However, the partitioning approach is very important.
   
Line 195  each virtual disk to be used by the domU Line 196  each virtual disk to be used by the domU
 how domU usage will evolve, please add an explanation to the HOWTO.  how domU usage will evolve, please add an explanation to the HOWTO.
 Seriously, needs tend to change over time.)  Seriously, needs tend to change over time.)
   
 One can use lvm(8) to create logical devices to use for domU disks.  One can use [lvm(8)](/guide/lvm/) to create logical devices to use
 This is almost as efficient sa raw disk partitions and more flexible.  for domU disks.  This is almost as efficient as raw disk partitions
 Hence raw disk partitions should typically not be used.  and more flexible.  Hence raw disk partitions should typically not
   be used.
   
 One can use files in the dom0 filesystem, typically created by dd'ing  One can use files in the dom0 filesystem, typically created by dd'ing
 /dev/zero to create a specific size.  This is somewhat less efficient,  /dev/zero to create a specific size.  This is somewhat less efficient,
Line 248  As with non-Xen systems, you should have Line 250  As with non-Xen systems, you should have
 kernel that works without Xen) and fallback versions of the non-Xen  kernel that works without Xen) and fallback versions of the non-Xen
 kernel, Xen, and the dom0 kernel.  kernel, Xen, and the dom0 kernel.
   
   The [HowTo on Installing into
   RAID-1](http://mail-index.NetBSD.org/port-xen/2006/03/01/0010.html)
   explains how to set up booting a dom0 with Xen using grub with
   NetBSD's RAIDframe.  (This is obsolete with the use of NetBSD's native
   boot.)
   
 Configuring Xen  Configuring Xen
 ---------------  ---------------
   
Line 264  For 4.1 and 4.2, add to rc.conf: Line 272  For 4.1 and 4.2, add to rc.conf:
   xend=YES    xend=YES
   xencommons=YES    xencommons=YES
   
   Note that xend is for supporting "xm", and should only be used if
   you plan on using "xm".  Do NOT enable xend if you plan on using
   "xl" as it will cause problems.
   
 Updating NetBSD in a dom0  Updating NetBSD in a dom0
 -------------------------  -------------------------
   
Line 292  Ensure that the contents of /etc/rc.d/xe Line 304  Ensure that the contents of /etc/rc.d/xe
 correct set of daemons.  Ensure that the domU config files are valid  correct set of daemons.  Ensure that the domU config files are valid
 for the new version.  for the new version.
   
 Creating unprivileged domains (domU)  
 ====================================  Unprivileged domains (domU)
   ===========================
   
   This section describes general concepts about domUs.  It does not
   address specific domU operating systems or how to install them.
   
   Provided Resources for PV domains
   ---------------------------------
   
   TODO: Explain that domUs get cpu, memory, disk and network.
   Explain that randomness can be an issue.
   
   Virtual disks
   -------------
   
   TODO: Explain how to set up files for vnd and that one should write all zeros to preallocate.
   TODO: Explain in what NetBSD versions sparse vnd files do and don't work.
   
   Virtual Networking
   ------------------
   
   TODO: explain xvif concept, and that it's general.
   
   There are two normal styles: bridging and NAT.
   
   With bridging, the domU perceives itself to be on the same network as
   the dom0.  For server virtualization, this is usually best.
   
   With NAT, the domU perceives itself to be behind a NAT running on the
   dom0.  This is often appropriate when running Xen on a workstation.
   
   One can construct arbitrary other configurations, but there is no
   script support.
   
   Config files
   ------------
   
   TODO: give example config files.   Use both lvm and vnd.
   
   TODO: explain the mess with 3 arguments for disks and how to cope (0x1).
   
   Starting domains
   ----------------
   
   TODO: Explain "xm start" and "xl start".  Explain rc.d/xendomains.
   
   TODO: Explain why 4.1 rc.d/xendomains has xl, when one should use xm
   on 4.1.
   
   Creating specific unprivileged domains (domU)
   =============================================
   
 Creating domUs is almost entirely independent of operating system.  We  Creating domUs is almost entirely independent of operating system.  We
 first explain NetBSD, and then differences for Linux and Solaris.  first explain NetBSD, and then differences for Linux and Solaris.
Line 324  PKG\_SYSCONFDIR for its parameters. By d Line 386  PKG\_SYSCONFDIR for its parameters. By d
 will be executed in the new domain (this kernel is in the *domain0* file  will be executed in the new domain (this kernel is in the *domain0* file
 system, not on the new domain virtual disk; but please note, you should  system, not on the new domain virtual disk; but please note, you should
 install the same kernel into *domainU* as `/netbsd` in order to make  install the same kernel into *domainU* as `/netbsd` in order to make
 your system tools, like MAN.SAVECORE.8, work). A suitable kernel is  your system tools, like savecore(8), work). A suitable kernel is
 provided as part of the i386 and amd64 binary sets: XEN3\_DOMU.  provided as part of the i386 and amd64 binary sets: XEN3\_DOMU.
   
 Here is an /usr/pkg/etc/xen/nbsd example config file:  Here is an /usr/pkg/etc/xen/nbsd example config file:
Line 434  like this: Line 496  like this:
     !brconfig $int add ex0 up      !brconfig $int add ex0 up
   
 (replace `ex0` with the name of your physical interface). Then bridge0  (replace `ex0` with the name of your physical interface). Then bridge0
 will be created on boot. See the MAN.BRIDGE.4 man page for details.  will be created on boot. See the bridge(4) man page for details.
   
 So, here is a suitable `/usr/pkg/etc/xen/vif-bridge` for xvif?.? (a  So, here is a suitable `/usr/pkg/etc/xen/vif-bridge` for xvif?.? (a
 working vif-bridge is also provided with xentools20) configuring:  working vif-bridge is also provided with xentools20) configuring:
   
     #!/bin/sh      #!/bin/sh
     #============================================================================      #============================================================================
     # $NetBSD: howto.mdwn,v 1.22 2014/12/24 01:27:36 gdt Exp $      # $NetBSD: howto.mdwn,v 1.27 2014/12/24 08:32:49 jnemeth Exp $
     #      #
     # /usr/pkg/etc/xen/vif-bridge      # /usr/pkg/etc/xen/vif-bridge
     #      #
Line 818  to use PCI devices in a domU. Here's a k Line 880  to use PCI devices in a domU. Here's a k
     sd*     at scsibus? target ? lun ?      # SCSI disk drives      sd*     at scsibus? target ? lun ?      # SCSI disk drives
     cd*     at scsibus? target ? lun ?      # SCSI CD-ROM drives      cd*     at scsibus? target ? lun ?      # SCSI CD-ROM drives
   
 Links and further information  
 =============================  
   
 -   The [HowTo on Installing into RAID-1](http://mail-index.NetBSD.org/port-xen/2006/03/01/0010.html)  NetBSD as a domU in a VPS
     explains how to set up booting a dom0 with Xen using grub   =========================
     with NetBSD's RAIDframe.  (This is obsolete with the use of  
     NetBSD's native boot.)  The bulk of the HOWTO is about using NetBSD as a dom0 on your own
 -   An example of how to use NetBSD's native bootloader to load  hardware.  This section explains how to deal with Xen in a domU as a
     NetBSD/Xen instead of Grub can be found in the i386/amd64 boot(8)  virtual private server where you do not control or have access to the
     and boot.cfg(5) manpages.  dom0.
   
   TODO: Perhaps reference panix, prmgr, amazon as interesting examples.
   
   TODO: Somewhere, discuss pvgrub and py-grub to load the domU kernel
   from the domU filesystem.

Removed from v.1.23  
changed lines
  Added in v.1.28


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb