Страница:
Blobfuse2 Installation
Страницы
Blobfuse (v1)
Blobfuse Configuring and Running
Blobfuse Installation
Blobfuse Known Issues
Blobfuse Limitations | Differences from POSIX
Blobfuse Logging
Blobfuse TODO
Blobfuse Troubleshoot FAQ
Blobfuse WSL
Blobfuse2 Blocked Versions
Blobfuse2 Docker Container
Blobfuse2 Installation
Blobfuse2 Known issues
Blobfuse2 Limitations
Blobfuse2 Logging
Blobfuse2 Performance Improvements
Blobfuse2 Supported Platforms
Blobfuse2 WSL
Blobfuse2
Home
25
Blobfuse2 Installation
Sourav Gupta редактировал(а) эту страницу 2024-03-29 16:45:15 +05:30
Содержание
Install from Apt/Yum Package Repositories
blobfuse2 is currently available in the Microsoft product repositories for Ubuntu, Debian, CentOS, RedHat, SUSE and Mariner distros. Packages are only available for x86 platforms.
1. Configure the apt/yum repository for Microsoft products:
Follow this guideline.
2. Install blobfuse2
Ubuntu 18.04 / Debian 9 / Debian 10
sudo apt-get install fuse blobfuse2
Ubuntu 20.04 / Ubuntu 22.04 / Debian 11
sudo apt-get install fuse3 blobfuse2
CentOS / RedHat
sudo yum install fuse3 fuse3-libs blobfuse2
SUSE
sudo zypper install fuse3 blobfuse2
Mariner
sudo tdnf install fuse fuse3 blobfuse2
Now you're all set to go!
Install from Source
1. Install GoLang 1.20.X following this guideline
2. Clone the GitHub repository
git clone https://github.com/Azure/azure-storage-fuse/
cd azure-storage-fuse
git checkout -b main origin/main
If you do not have git, install git via sudo apt-get install git
3. Install Dependencies
Ubuntu 18.04 / Debian 9 / Debian 10
sudo apt-get install fuse libfuse-dev
Ubuntu 20.04 / Ubuntu 22.04 / Debian 11
sudo apt-get install fuse3 libfuse3-dev
CentOS / RedHat
sudo yum install fuse3 fuse3-devel
SUSE
sudo zypper install fuse3 libfuse3-dev
Mariner
sudo tdnf install fuse libfuse-dev fuse3 libfuse3-dev
4. Build
Run the build script located in the root folder of the repository.
If you would also like to build the health monitor binary, run the following command
./build.sh health
Ubuntu 18.04 / Debian 9 / Debian 10
./build.sh fuse2
Ubuntu 20.04 / Ubuntu 22.04 / Debian 11 / CentOS / RedHat / SUSE / Mariner
./build.sh
Persisting mount
- Make sure the fuse package is installed (e.g., yum install fuse3 / apt-get install fuse3)
- Update config.yaml file with your preferred configuration.
- Edit /etc/fstab with the blobfuse script.
Add the following line to use mount.sh:
/<path_to_blobfuse2_mount.sh_file>/mount.sh </path/to/desired/mountpoint> fuse3 defaults,_netdev 0 0
OR
Add the following line to run without mount.sh
blobfuse2 /home/azureuser/mntblobfuse fuse3 defaults,_netdev,--config-file=/home/azureuser/config.yaml,allow_other 0 0
If you are using fuse2 compliant system then use 'fuse' as file-system type in above /etc/fstab commandlet.
Common issues
- If you have added allow_other in above command, ensure allow_other setting is enabled at libfuse level. This configuration is set in /etc/fuse.conf file.
- Mount using /etc/fstab works with root privileges by-default, if you wish to use mount point through another user, allow_other is a must have config.
- Ensure mount path and temp-cache path have full access to other users as well.
- When you are on a fuse3 compliant system, fs-type mentioned in /etc/fstab shall be "fuse3". If "fuse" is used and libfuse is not installed it will throw error in understanding the file-system type.
- If you wish to use "mount all" create a script file that executes the mount all command and mention the script file in /etc/fstab. Ensure the script file runs "blobfuse2 mount all" command with "sudo" access otherwise mount all will fail when it's executed from /etc/fstab.
- If you get this error while building from source,
Then install these dependencies,lf.initFuse undefined (type *Libfuse has no field or method initFuse) lf.destroyFuse undefined (type *Libfuse has no field or method destroyFuse)
sudo apt-get install make cmake gcc g++ parallel
- While building from code in AML workspace, if you get the below error, then run the build command with sudo .
fatal error: fuse3/fuse.h: No such file or directory #include <fuse3/fuse.h>