Initial VMFS 5 support
Today I added an initial VMFS 5 support to vmfs-tools. For the most part, VMFS 5 is VMFS 3, so these should just work as before, and adds new features; but this initial support is very limited:
- Unified 1MB File Block Size – Nothing has been changed here, so file size is still limited to 256 GB with 1MB File Block Size.
- Large Single Extent Volumes – This is not supported yet. So the 2TB extent limitation still exists.
- Smaller Sub-Block – This actually doesn’t change anything to the on-disk format, but is only really the tuning of an existing value in the format. This should be handled out of the box by vmfs-tools.
- Small File Support – VMFS 5 now stores files smaller than 1KB in the inode itself instead of allocating a Sub-Block. Support for this has been added on master.
- Increased File Count – Like smaller Sub-Blocks, this was supported by the on-disk format, and the change is only about tuning, so this should just work out of the box.
On related news, while the git repository here is kept alive, I also pushed it to github. The main reason I did so is the Issue tracker.
Update: It turns out the small file support makes the vmfs-tools crash when accessing files bigger than 256GB, because the assumption made when reverse engineering was wrong and clashes with how files bigger than 256GB are implemented. It also turns out large single extent volumes may be working already because it looks like it was only about tuning an existing value, like smaller sub-block and increased file count.
Update 2: Latest master now supports small files without crashing with files bigger than 256GB.
2011-09-09 17:34:17+0200
You can leave a response, or trackback from your own site.

2011-10-05 10:31:21+0200
Hi Mike,
I used this vmfs tools several times and I really like it.
Do you want to add VAAI support? If you do I am willing to help. For example I can provide working sg3 utils for the relevant verbs. I can also help testing the code if you don’t have access to VAAI able storage.
Shahar
2011-10-05 11:22:38+0200
Shahar: I don’t have access to VAAI able storage, and I’m not sure what vmfs-tools could do with it. That is, I’m not sure vmfs-tools is the right tool for this.
2011-10-06 09:38:00+0200
What I have in mind is to perform cloning/backup using VAAI verbs. I am sure that other use cases exists.
For cloning/backup you need the list of extents and a way to ensure that they will not “run away” under you feet. An internal copy may be the cleanest way to do it. If not, some sort “list extents” may be very useful.
Concerning the VAAI storage, maybe I can help.
2012-01-16 12:15:28+0200
Hello.
I use vmfs-tools 0.2.1-1 with Debian 6.
# dpkg -l |grep vmfs
ii vmfs-tools 0.2.1-1 Tools to access VMFS filesystems
I trying use vmfs-tools for access to vmfs5 volume, but I got error:
VMFS: Unsupported version 5.
Unable to open device/file “/dev/sdc1″.
What does it mean? vmfs-fuse currently doesn’t work with vmfs5? May be I need compile vmfs-tools from git repo for access to vmfs5?
Thak you.
2012-01-16 16:36:06+0200
Version 0.2.1 doesn’t support VMFS 5. You indeed need to compile off the git repository.
2012-01-26 09:59:54+0200
Is there a requirement on the libfuse-dev package version used? When trying to compile the latest GitHib version on Debian 5, the module is not recognized, although installed.
Package used now is libfuse-dev_2.7.4-1.1+lenny1_amd64.deb
Thanks
2012-01-26 19:19:31+0200
Wim: define “not recognized”.
2012-01-26 20:08:05+0200
During the make process, this output is shown
debian:~/glandium-vmfs-tools-7c33aa6# make
Checking for pkg-config…no
Checking for uuid…yes
Checking for fuse…no
Checking for asciidoc…yes
Checking for xsltproc…yes
Checking for docbook.xsl…yes
Checking for strndup…yes
Checking for dlopen in -ldl…yes
Checking for posix_memalign…yes
echo VERSION := v0.0.0-patched > version
and the vmfs-fuse is not compiled and cannot be installed.
Thanks!
2012-01-26 21:58:01+0200
> Checking for pkg-config… no
Without pkg-config, it won’t find fuse.
2012-01-26 22:08:08+0200
OMG, I should have read the whole make output …
Thanks, working fine now (and thanks for the great tool!)
2012-01-29 11:45:59+0200
Wow this tool is great!
I am now able to take a snapshot using ZFS and access the files inside. This allows me to continue work on a script I have been working on for close to a year now.
Thanks for the great work, keep it up!
2012-03-14 04:44:39+0200
This tool just saved my life! VMware wouldn’t install and I was able to salvage all my data. Thanks a lot!
2012-05-22 05:09:06+0200
I had got latest version using [sudo apt-get install vmfs-tools] in ubtunu 11.10
when I mount device(2TB disk) I met a problem.
Command:
sudo vmfs-fuse /dev/sdb3 /opt/vmfs
Error Info:
VMFS: Unsupported version 5
Unable to open device/file “/dev/sdb3”
Disk Info(gdisk /dev/sdb -l):
Found valid GPT with protective MBR; using GPT
Disk /dev/sdb: 3907029168 sectors, 1.8Tib
……
Number Start(sector) End(Sector) Size Code Name
1 64 8191 4.0 MiB EF00 ■■
2 1843200 18229759 4.0 GiB 0700 ■■
3 10229760 3906249966 1.8 TiB FFFF ■■
5 8224 520191 250.0 MiB 0700 ■■
6 520224 1032191 250.0 MiB 0700 ■■
7 1032224 1257471 110.0 MiB FFFF ■■
8 1257504 1843199 286.0 MiB 0700 ■■
Is this 2TB extent limitation, When will it be supported?
Thank you!
2012-05-23 07:11:50+0200
John: Ubuntu 11.10 likely doesn’t have the last version.
2012-05-28 03:13:09+0200
glandium: Now I can read vmfs5 disk using Version 0.2.5.
Thanks!
2012-07-22 05:36:15+0200
I’m trying to mount a VMFS partition (while booted from a LIVE USB drive) to recover data after a power-failure rendered the host machine unbootable. When I try to mount the partition vmfs-fuse returns:
“FS doesn’t belong to the underlying LVM”
“Unable to open filesystem”
Could you point me in the direction of my next steps… or am I hosed?
Thanks,
-Stephen
2012-07-22 15:17:02+0200
Stephen: you can try to remove the 5 lines starting there:
https://github.com/glandium/vmfs-tools/blob/master/libvmfs/vmfs_fs.c#L248
But this is not very engaging already.
2012-07-25 03:53:52+0200
Commenting out the lines worked. I was able to mount the partition and pull the VMs. They are back up and running on a now re-installed server.
Thanks!
2013-01-09 05:10:32+0200
Awesome work!! Helped me already.
2013-03-20 11:24:05+0200
It work’s fine. Good Job!!!