Mattermostのファイルストレージをローカルからオブジェクトストレージに移行した件

技術Tips

前回記事の続きになります。
MattermostのローカルのファイルストレージのファイルをOCIのオブジェクトストレージに移行する手順について整理しました。

仕様を確認する

移行時になにか追加で設定変更やファイルの変換が必要だったりするのかを調べます。

結論から言うとファイルをそのまま移行(アップロード)すればいいだけでした。

ファイルを移行する

OCIでは簡単にオブジェクトストレージやその他サービスに対しての操作ができるCLIが公開されているので、それを使ってファイルをアップロードします。

OCI CLIのインストール

まずはOCI CLIをMattermostサーバにインストールします。
私はUbuntuにインストールしたのでインストーラ・スクリプトを実行するだけでインストールが完了しました。

#python入ってるか一応確認。入ってなくても下のスクリプトで自動でインストールしてくれる。
python --version

#全部enter。勝手にpythonも入るっぽい。
#===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n): Y
#うそ、これだけYes
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"


source .bashrc

#CLIの設定ファイルを作成する。認証情報など。インスタンスプリンシパルを利用する場合は不要。
#設定方法は参考リンクから。
oci setup config

OCI CLIを使ってオブジェクトストレージにファイルをバルクアップロードする

コマンド一発で指定したフォルダ配下のファイルをディレクトリ構造を保ったまま一括アップロードすることができます。

#Mattermostのローカルファイルにアクセスできるようにする。
#私の環境ではDockerを使ってインストールしているため以下ディレクトリがファイルストレージの場所です。
sudo chmod -R 755 /home/ubuntu/mattermost/volumes/app/mattermost/data

#バケット名とソースディレクトリを指定するだけ。インスタンス認証を使っているのでauthオプションをつけています。
oci os object bulk-upload --bucket-name mattermost --src-dir /home/ubuntu/mattermost/volumes/app/mattermost/data --auth instance_principal

私の環境だと大体500MBくらいのファイル群が2分くらいでアップロード完了しました。

Mattermostでリンク切れ状態が治っているのを確認したら、もともとのローカルのdataは削除してOK。

オブジェクトストレージが参照されるようになりました!変な絵文字が紛れてるので消しました。

これにて移行完了です!

コメント

  1. はやと より:

    ありがとうございます!早速やってみます!

タイトルとURLをコピーしました