version 1.126, 2016/12/20 18:53:23
|
version 1.127, 2016/12/20 19:25:35
|
Line 136 Xen command program
|
Line 136 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, but it does not work well in 4.1. In 4.2, both |
called xl is provided, but it does not work well in 4.1. In 4.2, both |
xm and xl work fine. 4.4 is the last version that has xm. You must |
xm and xl work fine. 4.4 is the last version that has xm. |
choose one or the other, because it affects which daemons you run. |
|
However, the rc.d scripts provided by xentools packages expect a |
You must make a global choice to use xm or xl, because it affects not |
particular version, and you should use the version used by the |
only which command you use, but the command used by rc.d scripts |
scripts. |
(specifically xendomains) and which daemons should be run. The |
|
xentools packages provide xm for 3.1, 3.3 and 4.1 and xl for 4.2 and up. |
|
|
|
In 4.2, you can choose to use xm by simply changing the ctl_command |
|
variable. |
|
|
|
With xl, virtual devices are configured in parallel, which can cause |
|
problems if they are written assuming serial operation (e.g., updating |
|
firewall rules without explicit locking). |
|
|
|
There is now locking for xl startup, but as of 201612 it has not been |
|
adequately tested. |
|
|
NetBSD |
NetBSD |
------ |
------ |
Line 349 Installation of Xen
|
Line 360 Installation of Xen
|
------------------- |
------------------- |
|
|
In the dom0, install sysutils/xenkernel42 and sysutils/xentools42 from |
In the dom0, install sysutils/xenkernel42 and sysutils/xentools42 from |
pkgsrc (or another matching pair). |
pkgsrc (or another matching pair). See [the pkgsrc |
See [the pkgsrc |
documentation](http://www.NetBSD.org/docs/pkgsrc/) for help with |
documentation](http://www.NetBSD.org/docs/pkgsrc/) for help with pkgsrc. |
pkgsrc. Ensure that your packages are recent; the HOWTO does not |
|
contemplate old builds. |
|
|
|
|
For Xen 3.1, support for HVM guests is in sysutils/xentool3-hvm. More |
For Xen 3.1, support for HVM guests is in sysutils/xentool3-hvm. More |
recent versions have HVM support integrated in the main xentools |
recent versions have HVM support integrated in the main xentools |
Line 403 and other than dom0 memory and max_vcpus
|
Line 416 and other than dom0 memory and max_vcpus
|
necessary. |
necessary. |
|
|
As with non-Xen systems, you should have a line to boot /netbsd (a |
As with non-Xen systems, you should have a line to boot /netbsd (a |
kernel that works without Xen) and fallback versions of the non-Xen |
kernel that works without Xen). Consider a line to boot /netbsd.ok (a |
kernel, Xen, and the dom0 kernel. |
fallback version of the non-Xen kernel, updated manually when you are |
|
sure /netbsd is ok). Consider also a line to boot fallback versions |
|
of Xen and the dom0 kernel, but note that non-Xen NetBSD can be used |
|
to resolve Xen booting issues. |
|
|
|
Probably you want a default=N line to choose Xen in the absence of |
|
intervention. |
|
|
Now, reboot so that you are running a DOM0 kernel under Xen, rather |
Now, reboot so that you are running a DOM0 kernel under Xen, rather |
than GENERIC without Xen. |
than GENERIC without Xen. |
Line 433 There will be no domUs, and none can be
|
Line 452 There will be no domUs, and none can be
|
to configure the dom0 daemons. |
to configure the dom0 daemons. |
|
|
The daemons which should be run vary with Xen version and with whether |
The daemons which should be run vary with Xen version and with whether |
one is using xm or xl. The Xen 3.1 and 3.3 packages use xm. Xen 4.1 |
one is using xm or xl. The Xen 3.1, 3.3 and 4.1 packages use xm. Xen |
and higher packages use xl. While is is possible to use xm with some |
4.2 and up packages use xl. To use xm with 4.2, edit xendomains to |
4.x versions (TODO: 4.1 and 4.2?), the pkgsrc-provided rc.d scripts do |
use xm instead. |
not support this as of 2014-12-26, and thus the HOWTO does not support |
|
it either. (Make sure your packages are reasonably recent.) |
|
|
|
For "xm" (3.1 and 3.3), you should enable xend and xenbackendd (but |
For "xm", you should enable xend and xenbackendd: |
note that you should be using 4.x): |
|
|
|
xend=YES |
xend=YES |
xenbackendd=YES |
xenbackendd=YES |
|
|
For "xl" (4.x), you should enabled xend and xencommons (xenstored). |
For "xl", you should enable xend and xencommons (xenstored). Trying |
Trying to boot 4.x without xencommons=YES will result in a hang; it is |
to use xl without xencommons=YES will result in a hang; it is |
necessary to hit ^C on the console to let the machine finish booting. |
necessary to hit ^C on the console to let the machine finish booting. |
TODO: explain why xend is installed by the package. |
TODO: Check if xend really should be used, and if not why it is |
|
installed. |
|
|
|
xend=YES |
xencommons=YES |
xencommons=YES |
|
|
The installation of NetBSD should already have created devices for xen |
|
(xencons, xenevt), but if they are not present, create them: |
|
|
|
cd /dev && sh MAKEDEV xen |
|
|
|
TODO: Recommend for/against xen-watchdog. |
TODO: Recommend for/against xen-watchdog. |
|
|
After you have configured the daemons and either started them (in the |
After you have configured the daemons and either started them (in the |
Line 483 make this work, one should not expect to
|
Line 497 make this work, one should not expect to
|
(and thus xencommons). There is currently no reason to expect that |
(and thus xencommons). There is currently no reason to expect that |
this will get fixed any time soon. |
this will get fixed any time soon. |
|
|
|
### No-longer needed advice about devices |
|
|
|
The installation of NetBSD should already have created devices for xen |
|
(xencons, xenevt, xsd_kva), but if they are not present, create them: |
|
|
|
cd /dev && sh MAKEDEV xen |
|
|
anita (for testing NetBSD) |
anita (for testing NetBSD) |
-------------------------- |
-------------------------- |
|
|
Line 730 for the first virtual disk for the domU
|
Line 751 for the first virtual disk for the domU
|
the file serves two purposes. One is that preallocating the contents |
the file serves two purposes. One is that preallocating the contents |
improves performance. The other is that vnd on sparse files has |
improves performance. The other is that vnd on sparse files has |
failed to work. TODO: give working/notworking NetBSD versions for |
failed to work. TODO: give working/notworking NetBSD versions for |
sparse vnd. Note that the use of file/vnd for Xen is not really |
sparse vnd and gnats reference. Note that the use of file/vnd for Xen |
different than creating a file-backed virtual disk for some other |
is not really different than creating a file-backed virtual disk for |
purpose, except that xentools handles the vnconfig commands. To |
some other purpose, except that xentools handles the vnconfig |
create an empty 4G virtual disk, simply do |
commands. To create an empty 4G virtual disk, simply do |
|
|
dd if=/dev/zero of=foo-xbd0 bs=1m count=4096 |
dd if=/dev/zero of=foo-xbd0 bs=1m count=4096 |
|
|
Line 767 guest, one can create /dev/hda1 in /dev,
|
Line 788 guest, one can create /dev/hda1 in /dev,
|
The third element is "w" for writable disks, and "r" for read-only |
The third element is "w" for writable disks, and "r" for read-only |
disks. |
disks. |
|
|
|
Note that NetBSD by default creates only vnd[0123]. If you need more |
|
than 4 total virtual disks at a time, run e.g. "./MAKEDEV vnd4" in the |
|
dom0. |
|
|
|
Note that NetBSD by default creates only xbd[0123]. If you need more |
|
virtual disks in a domU, run e.g. "./MAKEDEV xbd4" in the domU. |
|
|
Virtual Networking |
Virtual Networking |
------------------ |
------------------ |
|
|