FileCloud Integration with Azure File Storage

Azure File storage offers file shares in the Azure Cloud using standard SAMBA protocol (SMB 3.0). FileCloud running on Azure VMs can mount the file shares created on Azure Files storage and use it as a main storage path for FileCloud. You can also use the same fileshare to store the MongoDB  data files. Azure Files storage is built on the same technology as Blob, Table, and Queue storage. When you create the storage account in Azure portal you can choose what type of redundancy you would like to have (Local or geo-redundancy). By storing both files and the database db files in Azure Files Storage you will get the same scalability, durability, reliability and geo-redundancy of Azure storage infrastructure. One can also easily scale FileCloud by running multiple app nodes while pointing to the same Azure Files Storage location for storing files and database data files.

We have tested FileCloud with Azure Files storage backend using a few million files successfully. This configuration gives the scalability and data redundancy without a complicated setup. If you have any questions please feel free to contact us at support@filecloud.com.

Step by Step Instructions to Integrate FileCloud with Azure File Storage

  1. Create a storage account in Azure Portal and choose the storage account type (depending on your redundancy requirements).  In this exercise, we have named the storage account filecloudazurefiles, and chosen a locally redundant storage account type. We recommend you choose the same location the where FileCloud VM is located.




2.  Create a file share under your storage account as shown below. You can also choose the storage quota. Maximum storage for a file share is 5120 GB.






3.  Create a local user in FileCloud VM with the same name as the storage account name that you have created in step 1. For password, use the access key of Azure Files Storage.




4. Add the local user created in step 3 as part of Administrators group.



5. Run the Apache and MongoDB services using the local user account created in the previous step.

Note: We do this step for Apache and MongoDB to set read, write access permissions to the file shares we created on Azure storage. By using the storage account name as a local user name and access key as the password, this local user will get complete access to the file shares.

 





6. Copy the file share path of the file share created in step 2 from the Azure Portal ("\\[storage account name].file.core.windows.net\[file share path name]").



7. Set the share path("\\[storage account name].file.core.windows.net\[file share path name]") as Storage Path in Managed Storage Settings.


 

8. Open the C:\xampp\mongodb\bin\mongodb.conf file. Edit the dbpath to point to the file share path you created in Azure Files storage.

Note: Before editing mongodb.conf file make sure you have stopped the database and the webserver from the FileCloud Control Panel.



9. Restart the Webserver and the database from the FileCloud Control Panel. Now all your files and the database data files will be stored in Azure Files Storage.