The create-scratch command creates a UVM that is used to mount a vhdx file and format as ext4. This is necessary since windows does not have any existing tooling that can format a disk as ext4. This PR changes the create-scratch code such that the UVM uses physical backed memory instead of virtual backed memory by default. Additionally, the PR adds the option to specify that you want a virtual backed UVM instead.
The create-scratch command is called by containerd here to create scratch vhdxs for containers. This should only happen once per deployment of containerd on the hosting machine since the first time we attempt to pull an image with the lcow snapshotter, the code will create a template scratch file that is then copied for each lcow container created afterwards.
While using physical memory to back the UVM does result in a slower boot time, I believe this is acceptable since this should only be run once on the host per containerd deployment and the UVM is short lived.
The create-scratch command creates a UVM that is used to mount a vhdx file and format as ext4. This is necessary since windows does not have any existing tooling that can format a disk as ext4. This PR changes the create-scratch code such that the UVM uses physical backed memory instead of virtual backed memory by default. Additionally, the PR adds the option to specify that you want a virtual backed UVM instead.
The create-scratch command is called by containerd here to create scratch vhdxs for containers. This should only happen once per deployment of containerd on the hosting machine since the first time we attempt to pull an image with the lcow snapshotter, the code will create a template scratch file that is then copied for each lcow container created afterwards.
While using physical memory to back the UVM does result in a slower boot time, I believe this is acceptable since this should only be run once on the host per containerd deployment and the UVM is short lived.