This is an old revision of the document!


Virtualization TODO

This wiki page contains the results of brainstorming missing features required to make FreeBSD work well in a range of virtualized environments.

  • VirtIO drivers in the base tree (for KVM, bhyve, VirtualBox, possibly others) (9/21, initial commit of virtio drivers to projects/virtio branch: http://lists.freebsd.org/pipermail/svn-src-projects/2011-September/004361.html )
  • Support for hot adding/removing of CPUs (mainly for bare metal and VMware so far)
  • “make release” generates template disk / file system images (not specific to a particular VM platform)
  • “make release” extensions that allow qemu-tools (or similar external or new internal tools) to convert file system images into VM images that can be loaded with minimal work (i.e., VMDK, etc).
  • makefs(1) support for UFS2
  • GEOM “resize” event to allow device drivers to notify the storage stack of growth
  • Live-growable UFS
  • Shrinkable UFS (for reducing “cloud” costs)
  • Reorder partitions so that swap is first
  • Possibly a /boot with pivotroot twiddle model
  • tar(1) support for UFS1, UFS2
  • tar(1) support for ext2fs
  • Cross-install from Linux (i.e., FreeBSD installer ported to Linux can build FreeBSD file system images for use with a VM)
  • See: Xen
  • kldloadable PV drivers without having to compile in “options XENHVM”
  • Break out various Xen PV drivers into separate modules so they can be loaded independently – i.e., front drivers without back drivers
  • ifnet-level support for advertising the maximum number of mbuf clusters that can be used with TSO; Xen netfront tweaks to advertise the Linux limit used by netback
  • dom0 (but lots to do here – especially, grant tables, but also general stability work for “options XEN”)
  • See the dedicated bhyve page: BHyVe
  • Suspend/resume
  • Live migration
  • Support for older CPUs without nested paging virtualization (there are still a lot of them)
  • Make more filesystems jail friendly (audit individual filesystem code so that VFCF_JAIL can be set)
  • Provide AMI files as part of the release process
  • Add a FreeBSD VM vApp template. See /opt/vmware/etc/new_os/TODO_new_os in the VMWare Studio 2.6 image.
  • Port the Provisioning Agent to FreeBSD. This is just a shell script run once after first boot, which provisions a VM from template fillout hosted in a custom ISO image. /etc/rc integration is needed. See /opt/vmware/www/provagent/.build/etc/vmware-studio in the VMWare Studio 2.6 image.

CategoryTODO


CategoryTODO

  • virtualizationtodo.1361184803.txt.gz
  • Last modified: 2013/02/18 10:53
  • by MichaelDexter