Announcing vmfs-tools version 0.2.5

The last release of vmfs-tools (0.2.1) was almost 2 years ago. It was about time to bring some of the changes that have been available in the git repository in an official tarball. So here it is.

It brings some limited VMFS 5 support and experimental extent removal, as well as some deep changes to the debugvmfs tool and various fixes.

Next release (0.2.6) will have a fixed fsck, which, while it still won't fix file system inconsistencies, should at least report actual inconsistencies (which is far from being true currently). I won't give any estimation as to when this will happen, though.

2012-03-25 11:02:03+0900

vmfs-tools

You can leave a response, or trackback from your own site.

21 Responses to “Announcing vmfs-tools version 0.2.5”

  1. rjc Says:

    Hi Mike,

    I had to follow the link to vmfs Google code web page to find out what VMFS actually is.

    I couldn’t find any links or information on your website or even the README on github.

    Just a thought.

  2. Jack VB Says:

    Just wanted to say that your work helped me recover over 4TB of vmdk files from a three lun extent vmfs filesystem that ESX refused to recognize. We even had VMWare themselves analyze the extents and they told us they were corrupt and we might as well restore from backup. Saved me days of restoring from tape not to mention extended downtime. +6 Beers

  3. Ulli Hankeln Says:

    Hello Mike
    thanks a lot for the new version. I used it several times with good results.
    Now I have a very tricky case and I hope that you may know a trick. An unreadable VMFS 5 volume cant be mounted with vmfs-fuse. It complains about a bad magic number. I have a good volume of exactly the same size and want to extract the section with the magic number from the working volume and inject it into the corrupt one. Can you tell me where in the vmfs-volume this details are stored so that I can inject that part ?
    Thanks a lot for your great work

    Regards Ulli

  4. ArrowSIVAC Says:

    This is likly not the appropriate place to make a posting but I am running out of options. The VMFS volume for our lab environment has been down for over two weeks and I just need to mount the volume one more time to rip the data to a new target. The VMWare posting is here: http://communities.vmware.com/thread/412601

    I have tried to compile vmfstools on Everything installs of CENTOS48 CENTOS55 Ubuntu 12… and though ubuntu is the ONLY distro which compilesthe vmfs-tools without error, I am stuck as getting the volume to mount (details below if of value)

    ******************
    login as: ibm
    ibm@172.20.13.28‘s password:
    Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)

    * Documentation: https://help.ubuntu.com/

    System information as of Tue Jul 31 01:09:23 EDT 2012

    System load: 0.16 Processes: 77
    Usage of /: 8.5% of 14.69GB Users logged in: 0
    Memory usage: 3% IP address for eth0: 172.20.13.28
    Swap usage: 0%

    Graph this data and manage this system at https://landscape.canonical.com/

    Last login: Mon Jul 30 23:39:47 2012 from 192.168.59.31
    su ibm@ubuntu12:~$ su –
    Password:
    su: Authentication failure
    ibm@ubuntu12:~$ su –
    Password:
    su: Authentication failure
    ibm@ubuntu12:~$ vmfs-fuse
    VMFS: Unable to read FS information
    Unable to open volume.
    ibm@ubuntu12:~$
    ibm@ubuntu12:~$
    ibm@ubuntu12:~$ mount
    /dev/mapper/ubuntu12-root on / type ext4 (rw,errors=remount-ro)
    proc on /proc type proc (rw,noexec,nosuid,nodev)
    sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
    none on /sys/fs/fuse/connections type fusectl (rw)
    none on /sys/kernel/debug type debugfs (rw)
    none on /sys/kernel/security type securityfs (rw)
    udev on /dev type devtmpfs (rw,mode=0755)
    devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
    tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
    none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
    none on /run/shm type tmpfs (rw,nosuid,nodev)
    /dev/sda1 on /boot type ext2 (rw)
    ibm@ubuntu12:~$ sudo iscsiadm -m discovery -t st -p 172.20.31.40
    [sudo] password for ibm:
    172.20.31.40:3260,1 iqn.2003-10.com.lefthandnetworks:atllhn1:2686:bl490-ss-2
    ibm@ubuntu12:~$ sudo iscsiadm –m node –targetname iqn.2003-10.com.lefthandnetworks:atllhn1:2686:bl490-ss-2 –portal 172.20.31.40 –login
    Logging in to [iface: default, target: iqn.2003-10.com.lefthandnetworks:atllhn1:2686:bl490-ss-2, portal: 172.20.31.40,3260]
    Login to [iface: default, target: iqn.2003-10.com.lefthandnetworks:atllhn1:2686:bl490-ss-2, portal: 172.20.31.40,3260]: successful
    ibm@ubuntu12:~$ sudo iscsiadm -m session
    tcp: [1] 172.20.31.40:3260,1 iqn.2003-10.com.lefthandnetworks:atllhn1:2686:bl490-ss-2
    ibm@ubuntu12:~$ sudo fdisk -l

    Disk /dev/sda: 17.2 GB, 17179869184 bytes
    255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00062394

    Device Boot Start End Blocks Id System
    /dev/sda1 * 2048 499711 248832 83 Linux
    /dev/sda2 501758 33552383 16525313 5 Extended
    /dev/sda5 501760 33552383 16525312 8e Linux LVM

    Disk /dev/mapper/ubuntu12-root: 15.8 GB, 15825108992 bytes
    255 heads, 63 sectors/track, 1923 cylinders, total 30908416 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

    Disk /dev/mapper/ubuntu12-root doesn’t contain a valid partition table

    Disk /dev/mapper/ubuntu12-swap_1: 1069 MB, 1069547520 bytes
    255 heads, 63 sectors/track, 130 cylinders, total 2088960 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

    Disk /dev/mapper/ubuntu12-swap_1 doesn’t contain a valid partition table

    Disk /dev/sdb: 279.2 GB, 279172874240 bytes
    255 heads, 63 sectors/track, 33940 cylinders, total 545259520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000927cf

    Device Boot Start End Blocks Id System
    /dev/sdb1 128 524281274 262140573+ fb VMware VMFS
    ibm@ubuntu12:~$ sudo vmfs-fuse /dev/sdb /media/cdrom/
    VMFS VolInfo: invalid magic number 0x00000000
    VMFS: Unable to read volume information
    Trying to find partitions
    ibm@ubuntu12:~$
    ibm@ubuntu12:~$ sudo parted /dev/sdb
    GNU Parted 2.3
    Using /dev/sdb
    Welcome to GNU Parted! Type ‘help’ to view a list of commands.
    (parted) p
    Model: LEFTHAND iSCSIDisk (scsi)
    Disk /dev/sdb: 279GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos

    Number Start End Size Type File system Flags

    1 65.5kB 268GB 268GB primary

    ************

    Thanks,

  5. glandium Says:

    Have you tried looking under /media/cdrom? The error message is confusing, but since it says nothing after “Trying to find partitions”, it may have worked.

  6. Richard Correa Says:

    Greetings,

    First of all, thank you for the work you have done with this file system. It has helped a great many coders understand the intricacies of VMFS.

    I would like to know if there is a document that explains how the block mapping works as well as the unpacking of each the different block types. I have seen the macros but there seems to be some inconsistencies. I am sure it is my misunderstanding of how it all works.

    In addition, how is the offset determined for the first block in the file system.

    Finally, the reason I am trying to do this is that I am trying to recover files from the inode only and not a full file system. The file system I am working with has been destroyed but there are many inodes that are still intact. If I could unpack the inode and block data for each block type I could build a file then try and determine the file type by examining the contents of the file.

    Thank you for your patience.

    Warmest Regards,
    Richard Correa

  7. George Pherasl Says:

    I am trying to recover my files from VMFS 5 which is not working as I deleted it from on machine WHITEBOX to put it to new one.

    I have ubuntu 12.0 VM and installed vmfs tools but it is only showing 2 partitions which is sda1 and sda2, actual partition where I suppose data is still not showing.

    I am not LINUX expert and really not sure what happened just by deleting storage from ESXi.

  8. BrianR Says:

    I am deeply involved in Forensic Analysis and am attempting to use you vmfs-tools as a basis for developing a simple utility that allows the identification and extraction of individual VM’s from the Server Datastore. I have what maybe a simple question but within the code the variable buf_len seems just to appear and be used as if it has a value. How does this get defined?

    I am most grateful for any assistance just with this as gcc is a new area for me.

    Thank you

    Brian R

  9. BrianR Says:

    Hi There

    As usual immediately I ask a question the answer appears from another source. I have found that the name is created in the utils.h by the name## in one of the macros.

    Sorry to have bothered you. I could not see how your code worked but it did so I knew there must be an answer.

    Thank you for any time.

    Brian R.

  10. Beardy Dan Says:

    Hi,

    Are there any plans to add full (or at least more) support for VMFS-5 volumes? The ability to access large (>256GB) files would be great!

    Thanks,
    Dan.

  11. Keith B Says:

    I am trying to get it to read a Raid 1 from a Seagate NAS. I have the disks showing up on Ubuntu and gdisk shows the partition and mapper as well. I can see it is as raid /dev/md8 or even an lvm /dev/mapper/vg8-lv8 but either give me a magic number error when trying to mount with vmfs-fuse 2.5. 0x35353514. Do you have any ideas or suggestions? gdisk shows it does not start at sector 1 but rather like 2048 or something. is that the problem I am having

  12. antiplex Says:

    Hi Mike,

    I just learned my first lesson with vmfs-tools (the good old 256GB limit that yields in io-errors) and like Dan (and presumably many others) would also be interested in being able to access >256Gb VMFS-5 volumes.
    I’ve read Update 2 on http://glandium.org/blog/?p=2194 but my understanding on that is that even the latest master is not able to actually access files >256GB but won’t crash on small files when <256GB files are around. Is my understanding correct so far?

    Thanks,
    Anti

  13. peter Says:

    i need you

  14. peter Says:

    i need the vmfs-tools write permission

  15. Piotr Says:

    Hi All,
    Is there any driver solution to acccess VMFS6? I have a partition with VMFS6 and files was locked. I try multiple ways to unlocking without sucess.
    best regards,
    Piotr

  16. Cody Says:

    Just throwing it out there that I could really use the VMFS6 support :) I will just continue to hope and dream though :)

  17. weafon Says:

    I took some time to hack vmfs6 and modified the code of the website. Since the difference between vmfs5 and vmfs6 is huge, the modifications include lots of “guess” and are not compatible with vmfs5 or vmfs3, e.g. different struct size. Thus, I clone the project to my github for easy modification. The modifications are totally experimental and only vmfs-fuse and debugvmfs have been applied on a few sample of vmfs6 image. Free to try it if you want to test it. Wish it is helpful as said by the authors of the project.

  18. weafon Says:

    https://github.com/weafon/vmfs6-tool

  19. Clemente Says:

    An alternative way to access VMFS5 with files bigger than 256GB si to use a Virtual Machine (or a lab machine) to access the files:

    1. Download ESXi ISO file from https://my.vmware.com/web/vmware/evalcenter?p=free-esxi6 (60 days trial and limited free version)

    2. Create VM at VMWare Workstation and install ESXi

    3. Attach the VMFS disk to the VM as a physical disk (also you can create a vmdk file pointing to a disk image)

    4. Open vSphere Web Client with a web browser on the host machine, accessing the IP address shown at the VM screen

    5. The datastore should be visible at Storages -> Datastores, if not you can try the workaround available at https://www.hex64.net/vmware-esxi-can-not-add-existing-iscsi-lun/

    6. Click at Datastore browser, choose the file you want and click at download button
  20. Clemente Says:

    An alternative way to access VMFS5 with files bigger than 256GB is to use a Virtual Machine (or a lab machine) to access the files:

    1. Download ESXi ISO file from https://my.vmware.com/web/vmware/evalcenter?p=free-esxi6 (60 days trial and limited free version)

    2. Create VM at VMWare Workstation and install ESXi

    3. Attach the VMFS disk to the VM as a physical disk (also you can create a vmdk file pointing to a disk image)

    4. Open vSphere Web Client with a web browser on the host machine, accessing the IP address shown at the VM screen

    5. The datastore should be visible at Storages -> Datastores, if not you can try the workaround available at https://www.hex64.net/vmware-esxi-can-not-add-existing-iscsi-lun/

    6. Click at Datastore browser, choose the file you want and click at download button
  21. Joe Wulf Says:

    Is it possible to have a working ESXi server, install vmfs-tools onto a Linux VM of that same ESXi server, and access an ESXi DataStore for read/write?

    Thank you.

Leave a Reply