0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

goofysでLinode Object StorageをLinuxサーバにマウントする

Last updated at Posted at 2022-09-20

Linodeとは

Linode (https://www.linode.com/) は Akamaiが提供するIaaS (Infrastructure as a Service) プラットフォームプロバイダーのサービスです。リノードと発音します。
Akamaiは2022年2月にLinode社の買収を発表しました。
https://www.akamai.com/ja/newsroom/press-release/akamai-to-acquire-linode
クラウドコンピューティングをよりシンプルに、手頃な価格で、誰もが利用できるようにすることで、イノベーションを加速することができます。
https://www.linode.com/ja/alternative-cloud-provider/

Linode Object Storage とは

image.png

Linode Object Storageは様々なリージョンで利用可能なS3互換の低価格なAkamai Cloud Computing Serviceのストレージソリューションです。
ストレージはNVMe SSDにて動作しており、HDDに比べて高いパフォーマンスと低レイテンシーなアクセスを実現することができます。
データ量は250GBから100TB(※1)まで拡張することができ、オブジェクトはリージョン内でレプリケートされており冗長性が担保されています。
インバウンド転送無料、アウトバウンド1TBまでの転送が標準の価格に含まれており、追加の転送料金は1GBあたり0.005ドルとかなり低コストなのが特徴です(※1)。
今後のアップデートではデータ量が最大1PB、オブジェクト数は最大10億に対応する予定があります。

※1 リージョンによって制限や価格が異なります、詳しくはこちらを参照ください。

goofysとは

goofys では s3fs と同じく、クラウドオブジェクトストレージをファイルシステムとして扱えるオープンソースのツールとなります。
パフォーマンスを優先し、ディスク上のデータキャッシュ(checkout catfs)を持たない特徴があります。
GitHub: https://github.com/kahing/goofys

goofysでLinode Object StorageをLinuxサーバにマウントする

Linode Object StorageはS3互換のAPIを備えているため、goofysを利用することができます。
今回はgoofysを利用してサーバーにObject Storageをマウントする手順を紹介します。
サーバーOSに関してはUbuntuを利用します。

インストール

goofysが利用するFilesystem in Userspace (FUSE)をインストールします。
FUSEはUnix系コンピュータオペレーティングシステム用のソフトウェアインタフェースです。

apt update 
apt install fuse 

goofysのインストール

最新版のgoofysをダウンロードし、ファイルを配置します。
記事を記載している時点の最新版はv0.24.0です。
最新版はGithubから確認してください。
https://github.com/kahing/goofys

curl -L https://github.com/kahing/goofys/releases/download/v0.24.0/goofys -o /usr/local/bin/goofys
chmod 755 /usr/local/bin/goofys
goofys --version

アクセスキーの準備

Linode Object Storageのアクセスキーをファイルに記載します。

mkdir /root/.aws/
vim /root/.aws/credentials

[default]
aws_access_key_id = <YourAccessKey> 
aws_secret_access_key = <YourSecretKey> 
region = <Region-id>

各リージョンのRegion IDはこちらから確認できます。

Linode Object Storageのアクセスキーは以下から発行が可能です。

image.png

ディレクトリの作成

Linode Object Storageをマウントするディレクトリを作成します。

mkdir -p /goofys

fstabの記載

サーバー起動時に自動的にマウントを行うため、fstabにgoofysの記載を行います。

vim /etc/fstab

/usr/local/bin/goofys#[bucket_name] /goofys fuse _netdev,allow_other,--file-mode=0666,--dir-mode=0777,--endpoint=https://[region-id].linodeobjects.com 0 0

[bucket_name] : Linode Object Storageで作成したバケット名
[region-id]:Linode Object Storageを作成したregion-id

Bucket Nameはコンソールから確認が可能です。
image.png

ディスクをマウント

fstabを記載した後に、Linode Object Storageのマウントを行う。

mount -a

dfコマンドでマウントが行われているか確認します。

df -Th
Filesystem     Type       Size  Used Avail Use% Mounted on
goofys-ap-south-1 fuse   1.0P     0  1.0P   0% /goofys

動作検証

参考までに、Linode Object Storageをマウントした際のファイル作成、閲覧の時間を確認します。

今回の検証では、シンガポールリージョンにサーバーを立て、同じリージョンにObject Storageを作成し、s3fsでマウントを行っています。

500個のファイルを作成した際の時間

1分かかりました。

root@localhost:/goofys# i=1; time while [ $i -le 500 ]
> do
> touch test_$i > /dev/null 2>&1
> i=$((i+1))
> done

real	1m0.351s
user	0m0.423s
sys	0m0.210s

500個のファイルを一覧化する時間

0.03秒かかりました。

root@localhost:/goofys# time ls -laR /goofys > /dev/null

real	0m0.036s
user	0m0.000s
sys	0m0.007s

まとめ

Linode Object Storageをサーバーにマウントすることで、共有ディスクのような利用方法も検討することができます。
通常のディスクと比べて速度が格段に遅いため、利用用途が適しているか慎重に確認する必要があります。
尚、Linodeがgoofysのツールに関してサポートしているわけではありませんのでご注意ください。

関連記事

アカマイ・テクノロジーズ合同会社のQiitaではLinode関連など開発者向けの記事を記載しております。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?