nixpkgs/nixos/modules/virtualisation
Robert Hensing afc60d017b nixos/qemu-vm: Use disposable EROFS for store when writableStore = false
This avoids putting a large disk image in the store (and possibly
in a binary cache), while improving runtime performance.

Assuming you're running an SSD, and/or with plenty of cache (?)
it is feasible to preempt the virtualization overhead before
VM start, in single-digit seconds.

For some tests that perform many reads on the store, the improved
performance of EROFS is sufficient that not only the image creation
overhead is compensated for, but is actually faster.

Stats for nixosTests.gitlab:

Baseline without useNixStoreImage: >1000s

Baseline with useNixStoreImage without writableStore = false
ext4 image in store: 277 seconds
  + significant image build time and/or disk space

Disposable erofs image: 249 seconds _including_ image build time

Custom erofs overlay on 9p host store: 391 seconds; presumably
because the overlay still performs too many 9p accesses, or perhaps
some other overhead. This solution had no obvious performance
advantage, while requiring extra options to work, so it was
discarded.
2022-07-17 14:56:35 +02:00
..
podman nixos/podman: add user socket/service 2022-06-10 07:21:56 +10:00
amazon-ec2-amis.nix ec2-amis: add release 22.05 2022-05-31 18:43:58 -04:00
amazon-image.nix nixos/amazon-image: default to 5.15 kernel 2022-05-08 21:13:50 -07:00
amazon-init.nix treewide: pkgs.systemd -> config.systemd.package 2022-05-05 20:00:31 +02:00
amazon-options.nix nixos/*: add trivial defaultText for options with simple defaults 2021-12-02 22:35:04 +01:00
anbox.nix anbox: drop kernel modules package 2022-05-10 21:15:48 +02:00
appvm.nix nixos/appvm: init at unstable-2021-12-20 2022-05-26 08:33:49 -04:00
azure-agent-entropy.patch
azure-agent.nix nixos/logrotate: convert to freeform 2022-04-01 07:09:26 +09:00
azure-bootstrap-blobs.nix
azure-common.nix nixos/virtualisation/azure-common: add auto resize of os disk 2022-01-15 12:00:04 +01:00
azure-config-user.nix
azure-config.nix
azure-image.nix treewide: use auto diskSize for make-disk-image 2021-04-24 14:49:07 -04:00
azure-images.nix
brightbox-config.nix
brightbox-image.nix iproute: deprecate alias 2021-04-04 01:43:46 +02:00
build-vm.nix nixos/build-vm.nix: Fix docs eval 2022-01-14 19:17:11 +01:00
cloudstack-config.nix
container-config.nix nixos/container-config: Only use true as fallback 2022-01-20 23:10:13 +01:00
containerd.nix nixos/containerd: fix zfs setting config override 2022-02-16 18:54:59 +10:00
containers.nix nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
cri-o.nix treewide: add literalDocBook text to options with complex defaults 2021-12-09 01:38:24 +01:00
digital-ocean-config.nix
digital-ocean-image.nix treewide: use auto diskSize for make-disk-image 2021-04-24 14:49:07 -04:00
digital-ocean-init.nix treewide: pkgs.systemd -> config.systemd.package 2022-05-05 20:00:31 +02:00
docker-image.nix
docker-rootless.nix docker-edge: remove 2022-06-06 14:06:39 +10:00
docker.nix docker-edge: remove 2022-06-06 14:06:39 +10:00
ec2-amis.nix ec2-amis.nix -> amazon-ec2-amis.nix, new format 2021-10-08 17:30:01 +02:00
ec2-data.nix iproute: deprecate alias 2021-04-04 01:43:46 +02:00
ec2-metadata-fetcher.nix metadata fetchers: use umask instead of fetch-and-chmod 2021-05-02 08:28:59 +10:00
ecs-agent.nix nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
gce-images.nix add new Google Cloud image for the current release 2021-03-21 14:04:09 -04:00
google-compute-config.nix google-compute-config: update config 2022-02-05 23:33:10 +03:00
google-compute-image.nix google-compute-image: Make GZIP compression level configurable 2021-07-13 16:53:09 +02:00
grow-partition.nix
hyperv-guest.nix nixos/hyperv: fix evaluation of kernelParams 2021-10-18 11:22:53 -07:00
hyperv-image.nix treewide: use auto diskSize for make-disk-image 2021-04-24 14:49:07 -04:00
includes-to-excludes.py nixos/qemu-vm: Use disposable EROFS for store when writableStore = false 2022-07-17 14:56:35 +02:00
kubevirt.nix virtualisation: implement kubevirt config 2021-12-21 05:52:16 -06:00
kvmgt.nix nixos/kvmgt: add myself to maintainers 2022-02-02 20:48:35 +01:00
libvirtd.nix nixos/libvirtd: allow to provide both x86 and aarch64 ovmf 2022-05-14 12:00:00 +00:00
lxc-container.nix nixos/lxc-container: improve template example 2022-06-17 11:42:16 -04:00
lxc.nix Revert "Revert "apparmor: fix and improve the service"" 2021-04-23 07:17:55 +02:00
lxcfs.nix
lxd.nix nixos/lxd: fix nftables switch #81172 breaking module 2021-11-03 07:41:40 +01:00
nixos-containers.nix treewide: fix loss of precision in NixOS systems 2022-05-28 20:01:55 +00:00
oci-containers.nix nixos/virtualisation.oci-containers: Use podman as the default backend 2022-05-03 14:50:43 +12:00
openstack-config.nix openstack-config: note the image metadata needed to boot a uefi image 2022-04-07 15:28:28 -04:00
openstack-metadata-fetcher.nix openstack-metadata-fetcher: don't fail if any specific wget's fail 2022-04-07 15:28:28 -04:00
openstack-options.nix openstack-options: init 2022-04-07 15:28:27 -04:00
openvswitch.nix nixos/openvswitch: remove ipsec 2022-01-26 01:12:40 +01:00
parallels-guest.nix nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
proxmox-image.nix nixos/proxmox-image: init (#144013) 2021-11-07 16:02:54 +01:00
proxmox-lxc.nix nixos/proxmox-lxc: use hostname provided by proxmox 2022-05-05 01:05:04 +05:30
qemu-guest-agent.nix nixos/qemu-guest-agent: use qemu_kvm 2021-11-14 20:28:06 +00:00
qemu-vm.nix nixos/qemu-vm: Use disposable EROFS for store when writableStore = false 2022-07-17 14:56:35 +02:00
spice-usb-redirection.nix nixos: explicitely set security.wrappers ownership 2021-09-13 13:48:13 +02:00
vagrant-guest.nix nixos/vagrant-virtualbox-image: init (#101120) 2020-10-20 11:09:46 +02:00
vagrant-virtualbox-image.nix nixos/vagrant-virtualbox-image: init (#101120) 2020-10-20 11:09:46 +02:00
virtualbox-guest.nix nixos/virtualisation.virtualbox.guest: remove override 2022-01-22 20:36:24 -05:00
virtualbox-host.nix virtualbox: Add option to build vboxwebsrv tool 2021-11-07 08:34:47 +01:00
virtualbox-image.nix nixos/virtualbox-image: cast baseImageFreeSpace into str 2021-08-01 18:59:08 +00:00
vmware-guest.nix nixos/vmware-guest: Remove the video driver 2022-05-30 11:56:21 +02:00
vmware-host.nix nixos/vmware-host: init at 16.2.3 2022-05-04 01:58:32 +05:00
vmware-image.nix treewide: use auto diskSize for make-disk-image 2021-04-24 14:49:07 -04:00
waydroid.nix nixos/waydroid: Misc fixes 2022-03-25 19:51:41 -07:00
xe-guest-utilities.nix iproute: deprecate alias 2021-04-04 01:43:46 +02:00
xen-dom0.nix treewide: attempt at markdown option docs 2022-06-12 12:44:38 +02:00
xen-domU.nix