Virtual Machine(CentOS 7)からBlobfuseを利用してBlobストレージをマウントする

 

Azure Virtual Machine (CentOS7) からのBlobストレージマウントを利用検証してみました。

CentOS 7からBlobストレージのマウントにはBlobfuseを利用します。

前回、Azure Virtual Machine (CentOS7) に追加した、SSDディスクをキャッシュディスクとして利用しています。
SSDディスクのマウントは、下記記事を参考にしてください。

http://www.tama-negi.com/2019/10/14/disk/

1 .Blobfuseをインストールする。

以下のサイトを参考にセットアップしました。

https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-how-to-mount-container-linux

[root@test-01]# rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
#今回は、CentOS7なので6→7へ変えてます。(6用と7用のパッケージは異なるそうです。)(関連パッケージも一緒に入ります。)
[root@test-01]#yum -y install blobfuse

2.Blobfuseを設定する。

追加したSSDをキャッシュとして利用している為、MSさんのサイトの例とは若干異なります。

#事前にSSDをデータディスクとして追加し、フォーマット等を完了させています。(今回は/mnt/ramdiskにSSDをマウントし、キャッシュとして利用します。)
[root@test-01]#mkdir /mnt/ramdisk #Blobfuseキャッシュ用のディレクトリです。
[root@test-01]#mount /dev/sdc1 /mnt/ramdisk
[root@test-01]#mkdir /mnt/ramdisk/blobfusetmp
[root@test-01]#mkdir /var/blobfuse #Blobストレージマウント用のディレクトリです。

#設定ファイルを作成します。今回は、/etc/の配下に設定ファイルを作成してます。
#アカウントKeyは、ストレージアカウントのアクセスキーメニューを開くと、Key1が表示されていますのでここの値を入れてます。
[root@test-01]#echo “accountName ストレージアカウント名” >> /etc/fuse_connection.cfg
[root@test-01]#echo “accountKey アカウントKey” >> /etc/fuse_connection.cfg
[root@test-01]#echo “containerName コンテナ名” >> /etc/fuse_connection.cfg
[root@test-01]#chmod 600 /etc/fuse_connection.cfg

#今回はblobfuseでマウントポイントを/var/blobfuseとして、Blobストレージをマウントしています。
#-o allow_otherを追加しています。これを追加しないと他のユーザーからアクセスできません。
[root@test-01]#blobfuse /var/blobfuse –tmp-path=/mnt/ramdisk/blobfusetmp –config-file=/etc/fuse_connection.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120 -o allow_other

#マウントされたかどうかを確認します。サイズは、キャッシュのサイズが表示されます。(実際に使用する容量分のキャッシュが必要です。)
[root@test-01]df -h

ファイルシス サイズ 使用 残り 使用% マウント位置
(略)
blobfuse 3.9G 25M 3.7G 1% /var/blobfuse

3 .実際に利用してみての感じ

今のところ非常遅い感じです。またキャッシュが悪さしているのか、共有領域が更新されない等もありました。何かチューニングポイントがありそうな気もするので色々探してみたいと思います。