Storage deduplication for virtual machines with encrypted storage
AssigneeRed Hat, Inc.
InventorMichael Tsirkin
Life of this patent
Estimating the term…
Abstract
Technology for enabling a hypervisor to perform data deduplication on encrypted storage of a virtual machine. An example method may involve: enabling, by a hypervisor, a guest program to access a first storage block of a first virtual machine and a second storage block of a second virtual machine; receiving, by the hypervisor from the guest program, an indication that the first storage block and the second storage block are duplicate storage blocks; and updating the duplicate storage blocks to reference a common storage location.
Claims20
A method comprising:
- associating, by a hypervisor executed by a processing device, one or more cryptographic keys with a guest program of a virtual machine, wherein the virtual machine is managed by the hypervisor and the one or more cryptographic keys are for accessing guest storage of multiple virtual machines;
- enabling, by the hypervisor, the guest program to access a first storage block of a first virtual machine and a second storage block of a second virtual machine, wherein the first storage block and the second storage block are encrypted;
- providing, by the hypervisor, a set of one or more candidate storage blocks to the guest program of the virtual machine that is managed by the hypervisor, wherein the set is provided for comparing by the guest program and comprises identification data of the second storage block of the second virtual machine;
- receiving, by the hypervisor from the guest program, an indication that the first storage block and the second storage block are duplicate storage blocks;
- and
- updating the duplicate storage blocks to reference a common storage location.
A system comprising:
- a memory;
- and
- a processing device communicably coupled to the memory, the processing device to:
- associate, by a hypervisor, one or more cryptographic keys with a guest program of a virtual machine, wherein the virtual machine is managed by the hypervisor and the one or more cryptographic keys are for accessing guest storage of multiple virtual machines;
- enable, by the hypervisor, the guest program to access a first storage block of a first virtual machine and a second storage block of a second virtual machine, wherein the first storage block and the second storage block are encrypted;
- provide, by the hypervisor, a set of one or more candidate storage blocks to the guest program of the virtual machine that is managed by the hypervisor, wherein the set is provided for comparing by the guest program and comprises identification data of the second storage block of the second virtual machine;
- receive, by the hypervisor from the guest program, an indication that the first storage block and the second storage block are duplicate storage blocks;
- and
- update the duplicate storage blocks to reference a common storage location.
A non-transitory machine-readable storage medium storing instructions which, when executed, cause a processing device to perform operations comprising:
- associating, by a hypervisor, one or more cryptographic keys with a guest program of a virtual machine, wherein the virtual machine is managed by the hypervisor and the one or more cryptographic keys are for accessing guest storage of multiple virtual machines;
- enabling, by the hypervisor, the guest program to access a first memory page of a first virtual machine and a second memory page of a second virtual machine, wherein the first memory page and the second memory page are encrypted;
- provide, by the hypervisor, a set of one or more candidate memory pages to the guest program of the virtual machine that is managed by the hypervisor, wherein the set is provided for comparing by the guest program and comprises identification data of the second memory page of the second virtual machine;
- receiving, by the hypervisor from the guest program, an indication that the first memory page and the second memory page are duplicate memory pages;
- and
- updating the duplicate memory pages to reference a common storage location in a physical memory device.
Dependencies are inferred from the claim text.