3

I've got an Ubuntu server running a few things, and I'd like to add FreePBX to it. I don't want to reconfigure/reinstall my current Ubuntu installation just so I can run a Type-1 hypervisor like Xen (If I understand correctly I would have to reinstall Ubuntu inside the type-1 hypervisor). But I like the whole "autostart VMs on boot and connecting if you want to" flow, rather than the VBox/QEMU "Launch it when you need it and leave the window open" idea. Does such a thing exist for Ubuntu?

Edit: The whole point of this is for me to not even realize it's there if I don't check ps or connect to it. If you ask it to, Hyper-V will start VMs on boot automatically and transparently. You can later choose to connect if you wish, but services can still be running as if they are on the host machine.

Dessa Simpson
  • 687
  • 7
  • 19
  • You can create upstarts for your VM's if that's all you're wanting out of xen. I have a few vagrant boxes start and shutdown safely on boot, and shutdown. –  Apr 13 '16 at 20:55
  • Your question contains the answer: VBox or QEMU. There is also virtual machine manager, which is another gui front end for qemu. – psusi Apr 13 '16 at 23:15
  • Also KVM (which works in tandem with QEMU) and OpenStack are worth consideration. – DopeGhoti Apr 13 '16 at 23:46
  • @psusi I specifically said NOT VBox or QEMU. Basically I want it to be transparent to me unless I connect to it. – Dessa Simpson Apr 15 '16 at 04:29
  • Woops... for some reason I read that as "I like the launch it when you need it rather than boot and auto start like xen". – psusi Apr 15 '16 at 22:31

2 Answers2

2

The way on Ubuntu would be to use libvirt on top of KVM/QEMU/VirtualBox. Quoting the Arch Wiki:

Libvirt is collection of software that provides a convenient way to manage virtual machines and other virtualization functionality, such as storage and network interface management. These software pieces include a long term stable C API, a daemon (libvirtd), and a command line utility (virsh). A primary goal of libvirt is to provide a single way to manage multiple different virtualization providers/hypervisors, such as the KVM/QEMU, Xen, LXC, OpenVZ or VirtualBox hypervisors (among others). Some of the major libvirt features are:

  • VM management: Various domain lifecycle operations such as start, stop, pause, save, restore, and migrate. Hotplug operations for many device types including disk and network interfaces, memory, and cpus.
  • Remote machine support: All libvirt functionality is accessible on any machine running the libvirt daemon, including remote machines. A variety of network transports are supported for connecting remotely, with the simplest being SSH, which requires no extra explicit configuration.
  • Storage management: Any host running the libvirt daemon can be used to manage various types of storage: create file images of various formats (qcow2, vmdk, raw, ...), mount NFS shares, enumerate existing LVM volume groups, create new LVM volume groups and logical volumes, partition raw disk devices, mount iSCSI shares, and much more.
  • Network interface management: Any host running the libvirt daemon can be used to manage physical and logical network interfaces. Enumerate existing interfaces, as well as configure (and create) interfaces, bridges, vlans, and bond devices.
  • Virtual NAT and Route based networking: Any host running the libvirt daemon can manage and create virtual networks. Libvirt virtual networks use firewall rules to act as a router, providing VMs transparent access to the host machines network.

CLI management is done primarily using the virsh command. There's an associated GUI front-end, called virt-manager.

As for starting VMs automatically, assuming you have a VM named foo, to mark it for starting at boot:

virsh autostart foo

And to unmark it:

virsh autostart --disable foo

The Ubuntu LTS Server Guide has a chapter on libvirt.

muru
  • 197,895
  • 55
  • 485
  • 740
0

Virtual Machine Manager can manage quemu instances with a nice gui interface, and has an option you can check to auto start a vm when the host boots.

psusi
  • 37,551