New bhyve user

Matt Churchyard matt.churchyard at userve.net
Fri Sep 28 14:29:08 UTC 2018


-----Original Message-----
From: owner-freebsd-virtualization at freebsd.org <owner-freebsd-virtualization at freebsd.org> On Behalf Of D'Arcy Cain
Sent: 28 September 2018 14:24
To: freebsd-virtualization at freebsd.org
Subject: New bhyve user

>Greetings.  I have just recently started using bhyve (previously a Xen user).  I am using vm-bhyve to manage it.  I have a few questions.

>First question, am I making the right choice by switching and, if so, is bhyve the right choice to switch to?  I realize that that is an impossible question but perhaps some pros and cons as well as war stories will help me.

It really depends on how well bhyve supports what you need to do. The main downside of bhyve at the moment is that it's very new and lacks many features and performance optimisations you may find in more established hypervisors. I can't really say yes you should use bhyve or no you should stick with Xen.

>I created a switch and clients using the examples on the vm-bhyve web site.  However, I could not get IP working until I put an IP address on the vm-public interface.  I duplicated the address of the interface that it is >connected to (re0 in my case) and used DHCP to assign addresses to the clients.  If this is the correct way, shouldn't it have happened automatically?

No, you should not be duplicating IP addresses.

A virtual "switch" is really just an ethernet bridge. If you want guests to be on the same lan as the host, then you can just create a virtual switch and add your physical interface to it

# vm switch create public
# vm switch add public re0

Any guest that is connected to the vm-public switch will be bridged to re0, and as such to the network re0 is connected to. In that instance you would give guests IP addresses on the same range as re0 (or they could get addresses from your local DHCP server).

If you want to guests to have a separate network, then you can assign an address to the virtual switch (using a different address range to the host)

# vm switch create guests
# vm switch address guests 192.168.100.1/24

In this case you would assign guests address in that network, with 192.168.100.1 as the gateway. (Alternatively you could install something to provide dhcp. There are guides on the vm-bhyve GitHub for using dnsmasq).
For this to work you would either need to configure the host to perform NAT, or configure the rest of your network to know that any traffic to 192.168.100.0/24 should be routed to the bhyve host. (NAT is probably the easier option)

>In any case, I saw I see that it can be added at creation time but how do I modify it later?  I saw "switch address a.b.c.d/xx|none" in the man page but no way to specify which switch the address should be applied to.  I tried >adding the switch name before and after the address but that gave me an error.

I've just tested the above address command and it seems to be working for me...

>I tried to boot into a Linux install but even though I set grahics to yes, it doesn't seem to be serving VNC.  On the console I can only get into the live CD.  How do I get it installed?

Did you have uefi="yes" in the configuration? Graphics are only available when using UEFI boot.

>I am thinking of creating a base install with various install options and then copy that over to new installs as a starting point.  I was going to use rsync with the -S option to copy over the file as sparse.
>Is there another way that is preferred?

For this sort of setup, ZFS is the obvious answer as you can use send/recv to duplicate guests (or even clone to create an instant copy without using additional disk space). If not using ZFS then rsync would be a reasonable option to create copies of guests.

>In Xen there is a maxvcpus which limit the number of CPUs but they could baloon down if not busy so that other clients who are busy can use the CPUs.  In bhyve (at least in vm-bhyve) there is only a cpus line in the config.  >Is this a minimum, maximum or is it a hard limit?

This is the number of virtual cpus that the guest will see. Remember that as far as the host is concerned, the guests are processes that are using resources, just like any other program. A guest that is not doing much will not being using much cpu time on the host, and the host will happily run other guests (or system processes) on the same physical cpus.

>That's it for now.  Thanks for any help.

>-- 
>D'Arcy J.M. Cain <darcy at druid.net>         |  Democracy is three wolves
>http://www.druid.net/darcy/                |  and a sheep voting on
>+1 416 788 2246     (DoD#0082)    (eNTP)   |  what's for dinner.
>IM: darcy at Vex.Net, VoIP: sip:darcy at druid.net _______________________________________________
>freebsd-virtualization at freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
>To unsubscribe, send any mail to "freebsd-virtualization-unsubscribe at freebsd.org"


More information about the freebsd-virtualization mailing list