project-machine / disko

Disk Operations API in Go
Apache License 2.0
13 stars 9 forks source link

zeroing 1MiB may not be sufficient #121

Closed smoser closed 2 years ago

smoser commented 2 years ago

addPartitionSetMBR and addPartitionSetGPT as well as wipeDisk call zeroStartEnd to get rid of any filesystem or metadata signatures in a disk / partition.

It turns out that 1MiB is not necessarily sufficient to wipe all signatures.

The VMFS_volume_member signature is at "kboff = 1024" (1024 kilobytes offset). vmfs.c.

In my quick grep of util-linux, the only kboff values larger than 1023 are in vmfs.c. (VMFS comes at 2048).

raharper commented 2 years ago

Do you think this is a util-linux issue? in that LVM2 uses libblkid to find signatures and wipe them ... I do think that if pvcreate uses wipe-signatures by default (it should in our lvm.conf) then libblkid should have found the VMFS signature on /dev/sdb1 and if it didn't that seems like a bug in util-linux libblkid.