question

Reservedvirtualmachine-5279 avatar image
0 Votes"
Reservedvirtualmachine-5279 asked ·

Block blob files do not get displayed on web site

Hi,

I just spent the whole night and day connecting the blob storage (block blob premium and standard) using blobfuse to my virtual machine (webserver) running on CentOS (Azure). I am using Centos/Plesk (BYOL) image.

I am pretty sure I did everything right, the user account (owner of the website dir) and other users such as apache, nginx can see the files. Permission to the mapped directory are 777 (set using "-o allow_other" option when mounting), I can normally cd / view / run / write to any file (blob) in the storage using the mounted directory on my virtual machine (using any user).

But my web site does not load those pictures/documents.

I can see that the files are being "touched" somehow by the web site, there are traces of what's happening there. If I list the directory using ls command, the files appear as owned by the user who listed the content of the directory (I know blobs do not have dirs but this blobfuse somehow make those file look like they are in a normal files). So if I mount the storage, load the web and then list the directory using another user then a web user, I am able to see which files have been attempted to open by the web (because they have a different "owner") but the files apparently were never opened (just somehow listed their name etc.. but never opened), because there is never created a copy of them in the local cache.

Please help. Am I missing something? The blobs are not to be handled the same as the regular files (except missing file level permission) when mapped using blobfuse? I even tried with the expensive premium block blob storage, with extremely low access times to see if there will be any difference, but nothing changed.

Could there be any special setting in php/apache/nginx config to allow working with files on the blob storage?

I have followed below practice:

https://docs.microsoft.com/en-us/azure/storage/blobs/storage-how-to-mount-container-linux
https://github.com/Azure/azure-storage-fuse


Thank you!

azure-virtual-machinesazure-virtual-machines-storage
· 3
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Are you following any specific documentation for setup that you could share?

0 Votes 0 · ·
mimckitt avatar image mimckitt Reservedvirtualmachine-5279 ·

Thanks for that. Looking at the blobfuse documentation, there are a few issues currently open on that page which is leading me to believe the documentation might have some issues. I would suggest opening an issue directly on that document so the author and storage engineers can take a look and assist further. I am not overly familiar with BlobFuse but based the doc we might need to review it to ensure it is working. If you open an issue on that document, feel free to CC me. My GitHub name is MicahMcKittrick-MSFT

0 Votes 0 · ·
karishmatiwari-msft avatar image
0 Votes"
karishmatiwari-msft answered ·

Kindly post the question on MSDN Azure Storage forum.
Azure Storage service is yet to be migrated to Q&A.

We are actively working to onboard all services. We will make a public announcement once complete. Thank you for your patience as we evolve the Q&A platform.


· Share
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

blaizestewart-7151 avatar image
0 Votes"
blaizestewart-7151 answered ·

You have to use a blobfuse mount under the user that the process runs under for it to work with. Add the command to your rc.local file and mount it there.


sudo -u www-data blobfuse /usr/share/nginx/nextcloud/data --tmp-path=/tmp -o uid=33 -o gid=33 -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120 --config-file=/blobfuse/blob.cfg --log-level=LOG_DEBUG --file-cache-timeout-in-seconds=120

make sure that the uid and gid match the user in the -u parameter too.

Hope that helps.

· Share
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.