Vultr File Systemの使い方

本記事では、現役ウェブエンジニアの管理人が、Vultrが提供するクラウドストレージ「Vultr File System」の使い方を解説します。

メリット、デメリットや具体的な使い方がわかるようになるので、ぜひ読んでみてください。

Vultr File Systemとは

Vultr File Systemとは、クラウドプラットフォームのVultrが提供しているファイルストレージソリューションです。

1つのVPSインスタンスのみで使う通常のブロックストレージとは異なり、複数のVPSインスタンス間やKubernetesコンテナ間でファイルシステムを共有することが可能です。

Vultr File Systemの特徴

  • 複数インスタンスからの同時アクセス可能
  • NVMe対応SSD
  • ディスクアクセスはNFS(Network File System)と同じくネットワーク経由
  • Virtiofs(仮想マシンのホストとゲスト間でファイルシステムを共有するための技術)がベース
  • VPSにマウントしたままでリサイズ可能
  • データ暗号化は保存中(Encryption at rest)と転送中(Encryption in transit)両方に対応

VPSインスタンス間でメディアファイルやデータファイルを共有しなければならないウェブアプリケーションやCMSに最適です。

Vultr File Systemの料金

Vultr File Systemの料金は、1GBにつき月額$0.1です。

最小ボリュームサイズは10GBなので、月額$1から利用できます。

Vultr File Systemの提供リージョン

本記事執筆時点では、Vultrの34のデータセンターの内、東京を含む12リージョンで提供されています。

Vultr File Systemのメリット・デメリット

筆者が使って感じたVultr File Systemのメリット、デメリットを解説します。

メリット

  • マネージド・サービス:ファイルサーバーの管理、障害対応、セキュリティ対策はVultrが行ってくれるため、自前でVPSインスタンスを立ててNFSとして設定する手間と比べると、運用が非常に楽になります。
  • ファイル整合性の担保:複数のVPSインスタンス間でファイルを同期する必要がないため、整合性の問題がそもそも発生しません。

デメリット

  • ローカルストレージより遅い:VPSに直接接続しているローカルストレージに比べ、ネットワーク遅延や帯域幅によりIOが低下します。

Vultr File Systemのメリット・デメリットを理解し、ローカルストレージやブロックストレージと使いどころを分けて運用することが重要です。

Vultr File Systemの使い方

前提:VultrアカウントとVPSインスタンスの作成

Vultr File Systemを使うには、Vultrのユーザアカウントを登録しVPSインスタンスを作成する必要があります。

もしまだVultrにアカウントを持っていない方は、以下のリンクから登録すると$300のクレジットがもらえます。$300あればFile SystemやVPSインスタンスを含むVultrのほとんどの機能を無料で試すことができます。

ユーザ登録とVPS作成の詳しいステップは以下の記事で解説しています。

関連記事: Vultr VPSを現役エンジニアがレビュー

ファイルシステムの作成

Vultr管理画面にログインし、左サイドメニューの「Storage」セクションから「File Systems」をクリックします。

以下の情報を入力します。

  • Name: ファイルシステム名。
  • Size: ディスク容量。1GB単位で調整できます。
  • Location: データセンターリージョン。

Summaryを確認し、問題なければ「Create File System」ボタンをクリックして作成します。

VPSインスタンスの紐付け

ファイルシステムが作成されたら、ファイルシステム名をクリックして詳細画面に遷移します。

「Attached Instances」セクションで「Attach Instance」ボタンをクリックします。

同じリージョンのVPSインスタンス一覧が表示されるので、ファイルシステムに紐づけるインスタンスを選択して「Attach Instance」ボタンをクリックします。

「Attached Instances」にVPSインスタンスのUUIDが表示されます。

ファイルシステムを共有する場合は、別のVPSインスタンスも同様に紐づけます。

ファイルシステムボリュームのマウント

ファイルシステムボリュームのマウント作業は、紐付けた各VPSインスタンスで実施する必要があります。

VPSインスタンスにsshなどでログインし、Linuxカーネルバージョンがvirtiofsをサポートしている5.4.x以上であることを確認します。

uname -srm

システムでvirtiofsが使えるか確認します。使えなければ以下のコマンドはエラーになります。

sudo modinfo virtiofs

virtiofsモジュールがロードされているか確認します。virtiofsという1行が表示されればロードされています。

lsmod | grep virtiofs

もしvirtiofsモジュールがロードされていなかったら以下のコマンドでロードします。

sudo modprobe virtiofs

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

sudo mkdir /mnt/vfs

ファイルシステム詳細画面の「Mount Tag」をコピーします。

Mount Tagを使ってファイルシステムをマウントします。

sudo mount -t virtiofs 114065671 /mnt/vfs

マウントしたボリュームの情報は以下のコマンドで確認できます。

sudo cat /etc/mtab | grep virtiofs

上記コマンドのアウトプットを/etc/fstabに記載しておくと、起動時に自動的にマウントされるようになります。

# /etc/fstab
# ...
114065671 /mnt/vfs virtiofs rw,relatime 0 0

ファイルシステム一覧にvirtiofsが追加されているか確認します。

df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
114065671      virtiofs   10G     0   10G   0% /mnt/vfs

VPSインスタンス間でのファイル共有

1つのVPSインスタンスから、ファイルシステムにファイルを書き込みます。

echo 'Hello World' > /mnt/vfs/helloworld.txt

別のVPSインスタンスにログインし、同じファイルにアクセスできることを確認します。

cat /mnt/vfs/helloworld.txt

ボリュームのリサイズ

Vultr File Systemは、VPSインスタンスにマウントしたままボリュームのサイズ変更が可能です。

1. 「Basics」セクションで編集アイコンをクリックします。

2. ボリュームサイズを変更し、保存します。

VPSインスタンス上で、ファイルシステムがリサイズされているか確認します。

 df -ht virtiofs
Filesystem      Size  Used Avail Use% Mounted on
114065671        11G     0   11G   0% /mnt/vfs

まとめ:Vultr File Systemを使ってVPSインスタンス間でデータ共有しよう

Vultr File Systemを使うと複数VPS間でファイルシステムを共有できるため、データ同期の問題から解放されます。

複数のVPSでデータを共有する必要がある場合は、ぜひ試してみてください。