Blog

Raspberry Piでs3fsを使ってWasabiをマウント!自宅S3ストレージを共有フォルダ化する手順

RaspberryPi
s3fs
Wasabi
S3
自宅サーバー
Samba

Raspberry Piにs3fsをインストールし、WasabiのS3互換ストレージを/dataへマウント。 さらにSambaで共有フォルダ化するまでの手順をまとめました。

s3fs Wasabi Mount

はじめに:Raspberry Piを“クラウド連携NAS”にする

Raspberry Piに外付けHDDを接続してNAS化する方法は有名ですが、
今回は クラウドストレージを直接マウント してみます。

利用するのは、S3互換ストレージを提供している
Wasabi Technologies のオブジェクトストレージ。

s3fsを使えば、S3バケットをLinuxのディレクトリとして扱えるため、

  • ローカル保存感覚でクラウド利用
  • 家庭内から共有フォルダとしてアクセス
  • バックアップ用途にも最適

という構成が実現できます。


構成イメージ

Mac / Windows

│(SMB接続)

Raspberry Pi

│(s3fs)

Wasabi S3バケット

ステップ1:s3fsのインストール

まずはパッケージを更新し、s3fsをインストールします。

sudo apt update
sudo apt install s3fs -y

インストールが完了したら、バージョン確認を行います。

s3fs --version

以下のようにバージョン情報が表示されればインストール成功です。

Amazon Simple Storage Service File System V1.95 with GnuTLS(gcrypt)
Copyright (C) 2010 Randy Rizun <rrizun@gmail.com>
License GPL2: GNU GPL version 2 <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

ステップ2:Wasabiの環境を準備

Wasabi管理画面で以下を取得します。

  • バケット
  • ポリシー
  • ユーザー
    • Access Key
    • Secret Key
  • リージョン(例:ap-northeast-1)

ステップ3:認証情報の設定

echo 【ACCESS_KEY】:【SECRET_KEY】 > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs

⚠ 権限は必ず600にしてください。


ステップ4:マウントポイント作成

sudo mkdir /data
sudo chown pi:pi /data
sudo chmod 755 /data

ステップ5:手動マウント

Wasabi東京リージョンの場合:

s3fs 【バケット名】 /data \
-o passwd_file=/home/pi/.passwd-s3fs \
-o url=https://s3.ap-northeast-1.wasabisys.com \
-o use_path_request_style \
-o uid=1000,gid=1000,umask=0022

リージョンのURLについてはこちらを確認してください。

マウント確認:

df -h
Filesystem      Size  Used Avail Use% Mounted on
・・・
s3fs             64P     0   64P   0% /data

ステップ6:自動マウント設定(/etc/fstab)

sudo nano /etc/fstab

末尾に追加:

proc            /proc           proc    defaults          0       0
PARTUUID=5f248212-01  /boot/firmware  vfat    defaults          0       2
PARTUUID=5f248212-02  /               ext4    defaults,noatime  0       1
s3fs#【バケット名】 /data fuse _netdev,allow_other,use_path_request_style,url=https://s3.ap-northeast-1.wasabisys.com,passwd_file=/home/pi/.passwd-s3fs,uid=1000,gid=1000,umask=0022 0 0

反映:

sudo systemctl daemon-reload
sudo mount -a

ステップ7:Sambaで共有フォルダ化

家庭内LANからアクセスできるようにします。

Sambaインストール

sudo apt install samba -y

設定ファイル編集

sudo nano /etc/samba/smb.conf

最下部に追加:

[data]
   path = /data
   browseable = yes
   read only = no
   guest ok = no
   create mask = 0775
   directory mask = 0775

Sambaユーザー追加

sudo smbpasswd -a pi

再起動:

sudo systemctl restart smbd

ステップ8:Macからアクセス

Finder → 「移動」→「サーバへ接続」

smb://RaspberryPiのIPアドレス

RaspberryPiはmDNSがデフォルト有効になっているため、【ホスト名】.localで同じネットワーク内であれば接続が可能になります。 これで /data にアクセス可能になります。


運用のポイント

  • s3fsはFUSEベースのため、大量小ファイルは遅くなることがある
  • キャッシュオプション追加で改善可能
  • 定期的に再マウントすると安定

補足:.DS_Store ファイルについて

macOSでは、Finderがフォルダの表示設定(アイコン表示・ウィンドウサイズなど)を保存するために
.DS_Store という隠しファイルを自動生成します。

通常はローカル環境では問題ありませんが、s3fs経由でWasabiなどのオブジェクトストレージへ保存すると、不要なメタファイルまでクラウド上に保存されてしまいます。

回避方法(Mac側で無効化)

ネットワークドライブ上で .DS_Store を作成しない設定が可能です。

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
killall Finder

これで ネットワークドライブ上では .DS_Store が作られなくなります。

※ ローカルディスクには影響なし

元に戻す場合:

defaults delete com.apple.desktopservices DSDontWriteNetworkStores
killall Finder

回避方法(定期削除(サーバー側))

Raspberry Pi 側で削除:

find /data -name ".DS_Store" -delete
find /data -name "._*" -delete

トラブルシューティング

1GBのファイルをアップロードするとエラーになります。 おそらくRaspberryPIの限界になるかと思いますが、以下の設定を変更することでマルチアップロードすることができます。

sudo nano /etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=5f248212-01  /boot/firmware  vfat    defaults          0       2
PARTUUID=5f248212-02  /               ext4    defaults,noatime  0       1
s3fs#【バケット名】 /data fuse _netdev,allow_other,use_path_request_style,url=https://s3.ap-northeast-1.wasabisys.com,passwd_file=/home/pi/.passwd-s3fs,uid=1000,gid=1000,umask=0022,multipart_size=64,use_cache=/tmp,parallel_count=2 0 0

変更したら以下のコマンドを順番に実行してください。

sudo fusermount -uz /data
sudo systemctl daemon-reload
sudo mount -a

まとめ:Raspberry Piが“クラウドNAS”になる

今回の構成で、

  • ローカル共有フォルダのように使える
  • 実体はクラウド保存
  • ハードディスク障害リスクなし

という環境が実現できます。

外付けHDD不要で、 クラウド×自宅サーバーのハイブリッド構成が完成です。