I haven’t done any testing of NVMM under 10.x or -current, so my observations may be a bit dated. I’m also making an assumption, maybe an incorrect one, that KVM in Linux is very similar to NVMM in NetBSD. Based on that I’d expect to see similar responsiveness and support in both, which hasn’t been what I’ve observed. My testing has all been done on the same machine and I’ve tried to use the same setups in both cases, i.e. the basic change was which type of acceleration is used.
(BTW, assuming that KVM and NVMM are indeed quite similar then a test for the completeness of NVMM would seem to be can it install, run and offer the same level of performance as KVM does on identical HW running the same guest systems. The acid test(s) seem to be OS X which generally installs and runs on KVM but won't with NVMM, although most are probably not interested in these systems. One interesting observation in this regard is that OS X 10.6 (Snow Leopard) installs and runs with KVM but doesn’t install with NVMM. However the KVM installed OS will run with NVMM.) For those systems which ran in both setups I’d generally see poorer mouse and keyboard response in NVMM than I did in KVM. In some cases I’d have to change the mouse/keyboard emulation from PS2 to USB or visa versa to get them to work or be a bit more responsive. I’m not sure it this is a problem with NVMM, the way it interfaces with the kernel or the NetBSD kernel itself though. In all my tests I was interfacing to the guest OS from the actual keyboard on my system, not using networking access. Commenting on your follow-up on Xen startup and how I considered doing this in NVMM. I have a rudamentory script that I use to define/create guest systems which also includes some hooks for starting up guest systems. There’s not currently any way I found in NVMM to send in shutdown commands or instructions though which seem to be available in Xen and KVM. I did put hooks in my script to backup and restore guest systems. -bob On May 23, 2023, at 8:11 AM, Mathew, Cherry G.* <c...@bow.st> wrote: > Hi Robert, Matthias, > > (taking current-users@ off Cc:) > > > Thank you so much for your respective replies. Replying further inline > below. > >>>>>> "bob" == Robert Nestor <rnes...@mac.com> writes: > > bob> My experience with nvmm is limited and was mainly trying to use > bob> it on 9.x, but I have the feeling that development on it has > bob> pretty much ceased and there’s very little interest in > bob> improving it. I’ve been running a comparison experiment seeing > bob> what it takes to get as many systems as possible running in > bob> various environments - NVMM, plain qemu, Linux KVM and > bob> eventually Xen. For the time being I’ve given up on NVMM and > bob> have been concentrating on Linux KVM as I’ve found a number of > bob> systems that seem to install and run fine there which don’t > bob> under NVMM. > > Ok, so it looks like there might be some emulation completeness issues > (related to your variety of workloads) - but I was wondering if you saw > any difference in the "responsiveness" of the guest OS - for eg: when > you login using ssh, have you ever noticed jitter on your keystrokes, or > intermittent freezes, for eg: - I'm specifically asking about the > NetBSD/nvmm case. > > > [...] > > >>>>>> "MP" == Matthias Petermann <m...@petermann-it.de> writes: > > > [...] > > > MP> I came across Qemu/NVMM more or less out of necessity, as I had > MP> been struggling for some time to set up a proper Xen > MP> configuration on newer NUCs (UEFI only). The issue I encountered > MP> was with the graphics output on the virtual host, meaning that > MP> the screen remained black after switching from Xen to NetBSD > MP> DOM0. Since the device I had at my disposal lacked a serial > MP> console or a management engine with Serial over LAN > MP> capabilities, I had to look for alternatives and therefore got > MP> somewhat involved in this topic. > > MP> I'm using the combination of NetBSD 9.3_STABLE + Qemu/NVMM on > MP> small low-end servers (Intel NUC7CJYHN), primarily for classic > MP> virtualization, which involves running multiple independent > MP> virtual servers on a physical server. The setup I have come up > MP> with works stably and with acceptable performance. > > I have a follow-on question about this - Xen has some config tooling > related to startup - so you can say something like > > 'xendomains = dom1, dom2' in /etc/rc.conf, and these domains will be > started during bootup. > > If you did want that for nvmm, what do you use ? > > Regarding the hardware issues, I think I saw some discussion on > port-xen@ so will leave it for there. > > > MP> Scenario: > > MP> I have a small root filesystem with FFS on the built-in SSD, and > MP> the backing store for the VMs is provided through ZFS ZVOLs. The > MP> ZVOLs are replicated alternately every night (full and > MP> incremental) to an external USB hard drive. > > Are these 'zfs send' style backups ? or is the state on the backup USB > hard drive ready for swapping, if the primary fails for eg ? > > I have been using a spindisk as a mirror component with NVMe - bad idea! > It slows down the entire pool. > > MP> There are a total of 5 VMs: > > MP> net (DHCP server, NFS and SMB server, DNS server) app > MP> (Apache/PHP-FPM/PostgreSQL hosting some low-traffic web apps) > MP> comm (ZNC) iot (Grafana, InfluxDB for data collection from two > MP> smart meters every 10 seconds) mail (Postfix/Cyrus IMAP for a > MP> handful of mailboxes) > > MP> Most of the time, the Hosts CPU usage of the host with this > MP> "load" is around 20%. The provided services consistently respond > MP> quickly. > > Ok - and these are accounted as the container qemu processes' quota > scheduling time, I assume ? What about RAM ? Have you had a situation > where the host OS has to swap out ? Does this cause trouble ? Or does > qemu/nvmm only use pinned memory ? > > MP> However, I have noticed that depending on the load, the clocks > MP> of the VMs can deviate significantly. This can be compensated > MP> for by using a higher HZ in the host kernel (HZ=1000) and > MP> tolerant ntdps configuration in the guests. I have also tried > MP> various settings with schedctl, especially with the FIFO > MP> scheduler, which helped in certain scenarios with high I/O > MP> load. However, this came at the expense of stability. > > I assume this is only *within* your VMs, right ? Do you see this across > guest Operating Systems, or just specific ones ? > > MP> Furthermore, in my system configuration, granting a guest more > MP> than one CPU core does not seem to provide any > MP> advantage. Particularly in the VMs where I am concerned about > MP> performance (net with Samba/NFS), my impression is that > MP> allocating more CPU cores actually decreases performance even > MP> further. I should measure this more precisely someday... > > ic - this is interesting - are you able to run some tests to nail this > down more precisely ? > > > [...] > > > MP> If you have specific questions or need assistance, feel free to > MP> reach out. I have documented everything quite well, as I > MP> intended to contribute it to the wiki someday. By the way, I am > MP> currently working on a second identical system where I plan to > MP> test the combination of NetBSD 10.0_BETA and Xen 4.15. > > There's quite a bit of goodies wrt Xen in 10.0 - mainly you can now run > accelerated as a Xen guest (hvm with the PV drivers active). > > Thanks again for both of your feedback! > > -- > ~cherry