I understand that people with a need to make sensitive data unrecoverable use file shredding to achieve it. This means writing over the physical areas of the storage media in more or less sophisticated patterns with the aim of eliminating any physical traces of the information.
Virtual machines add a layer of virtualization to disk access. I'm curious about whether this affects file shredding attempts within the virtual machine.
Virtual machine disks can be backed by physical partitions which I suspect (?) would increase the chance of file shredding working. But the typical thing seems to be to use a file in the host file system to back the virtual machine disk. I'm unclear on how such an image file is used exactly. Is it possible the virtualization system would leave traces of a shredded file in the disk image even if a normally-effective shredding procedure was used?
Is file shredding effective in a virtual machine?
EDIT: My question seems ambiguous after some consideration. It seems there are multiple circumstances at the disk or volume layers unrelated to virtualization that can make normally-effective file shredding procedures ineffective. Examples mentioned below are SSDs, LVM volumes, files on network file systems.
I'd like to update the question slightly to target the virtualization system precisely.
Assuming file shredding would be effective if performed directly on the backing of a virtual disk, would the same procedure performed on the virtual disk from within the VM still be effective?
Can disk virtualization prevent an effective file shredding procedure from having the desired effect?