OSFS (Object Store File System) enables VMFS volumes to be mounted as a single datastore for each host. Data on a VSAN datastore is stored in the form of data containers called objects, which is distributed across the cluster. An object can be a vmdk file, a snapshot, or the VM home folder. A reference object is also created and holds a VMFS volume and stores the virtual machine metadata files.
Logs for OSFS are captured in : /var/log/osfsd.log
How would you make a change in vSAN datastore with osfs-mkdir and osfs-rmdir?
It is not easy to create and remove any directory form VSAN because the vSAN datastore is object based. In order to do that, special vSAN related commands exist to perform such tasks.
If you try and create a directory on VSAN you might get and error as :
# cd /vmfs/volumes/vsanDatastore
# mkdir TEST
mkdir: can’t create directory ‘TEST’: Function not implemented
How can we create/remove a directory ?
Step 1: Login to Esxi and access the folder …/bin/
# cd /usr/lib/vmware/osfs/bin
Step 2: List the contents
# ls
objtool osfs-ls osfs-mkdir osfs-rmdir osfsd
Step 3: Verify that a directory called TEST does not exist
# ls -lh /vmfs/volumes/vsanDatastore/TEST
ls: /vmfs/volumes/vsanDatastore/TEST: No such file or directory
Step 4: Let’s create a Directory with the name TEST using osfs-mkdir
# ./osfs-mkdir /vmfs/volumes/vsanDatastore/TEST
54c0ba65-0c45-xxxx-b1f2-xxxxxxxxxxxx
Step 5: Verify that it exists
# ls -lh /vmfs/volumes/vsanDatastore/TEST
lrwxr-xr-x 1 root root 12 Jan 09 21:03 /vmfs/volumes/vsanDatastore/TEST ->54c0ba65-0c45-xxxx-b1f2-xxxxxxxxxxxx
Step 6: Let’s try to Delete the directory now using osfs-rmdir
# ./osfs-rmdir /vmfs/volumes/vsanDatastore/TEST
Deleting directory 54c0ba65-0c45-xxxx-b1f2-xxxxxxxxxxxx in container id xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
backed by vsan (force=False)
Step 7: Verify that it has been removed
# ls -lh /vmfs/volumes/vsanDatastore/TEST
ls: /vmfs/volumes/vsanDatastore/TEST: No such file or directory