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?

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

Last updated at Posted at 2022-10-06

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 リージョンによって制限や価格が異なります、詳しくはこちらを参照ください。

rcloneとは

数十種類のクラウドストレージサービスとの間でファイルとディレクトリを同期するためのオープンソースのコマンドラインツールです。

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

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

インストール

サーバーにrcloneのインストールを行います。
コマンドが動作することをVersionの表示で確認をします。

curl https://rclone.org/install.sh | sudo bash
rclone version

rclone 接続設定

Linode Object Storageに接続するための設定を記載します。
今回はシンガポールリージョンに接続するための設定となります。

root@localhost:~# vim /root/.config/rclone/rclone.conf

[linode]
type = s3
provider = Linode
access_key_id = <Access_Key_ID>
secret_access_key = <Secret_Access_key>
endpoint = <Cluster ID>.linodeobjects.com
acl = private

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

Object StorageのメニューからAPI Keyを発行できます。
このAPI KeyはS3互換のものとなり、アクセスキーの設定方法はS3同様に行います。

image.png

接続確認

rcloneはファイルの同期だけに利用するのではなく、ファイル操作も行えます。
いくつかのコマンドを利用して接続を確認します。
その他のコマンドも用意されております。

# ディレクトリ一覧
rclone lsd linode:<bucket_name>
# ファイル一覧
rclone ls linode:<bucket_name>
# ディレクトリ削除
rclone delete linode:<bucket_name>/test
# ファイル削除
rclone deletefile linode:<bucket_name>/test/test.file
# ディレクトリ/ファイルのコピー
rclone copy <file_path> linode:<bucket_name>/
# ディレクトリの同期
rclone sync <directory_path> linode:<bucket_name>/<directory_path>

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

rcloneでLinode Object Storageをマウントする

mount コマンドにて利用できるようにsymlinkを作成します。

ln -s /usr/bin/rclone /sbin/mount.rclone

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

mkdir -p /mnt/data

Systemdにマウントする設定を作成します。

vim /etc/systemd/system/mnt-data.mount

[Unit]
After=network-online.target
[Mount]
Type=rclone
What=linode:<bucket_name>
Where=/mnt/data
Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/root/.config/rclone/rclone.conf,cache-dir=/var/rclone

自動的にマウントするための設定を作成します。

vim /etc/systemd/system/mnt-data.automount

[Unit]
After=network-online.target
Before=remote-fs.target
[Automount]
Where=/mnt/data
TimeoutIdleSec=600
[Install]
WantedBy=multi-user.target

サービスを起動、有効化します。

systemctl start mnt-data.mount
systemctl enable mnt-data.automount

ディスクがマウントされていることを確認します。

# df -h
Filesystem                  Size  Used Avail Use% Mounted on
linode:<bucket_name>  1.0P     0  1.0P   0% /mnt/data

以上で設定は完了です。

動作検証

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

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

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

0.1秒ほどで完了しましたが、バックエンド側で作成処理が動いておりました。
表面上の処理は高速のようです。

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

real	0m0.980s
user	0m0.404s
sys	0m0.252s

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

38秒かかりました。

root@localhost:/mnt/data# time ls -laR ./ > /dev/null

real	0m38.497s
user	0m0.015s
sys	0m0.020s

まとめ

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

関連記事

アカマイ・テクノロジーズ合同会社の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?