スーパーコンピュータとのデータ通信

スーパーコンピュータやLinuxサーバーのようなコマンドライン環境からNextcloudのへのアクセスには、WebDAVクライアント Rclone を利用します。以下「$」から始まる行はスパコン等の計算機サーバー(以下「計算機サーバー」と表記)でのコマンド実行を表します。

1. Rcloneのインストール

まず rclone コマンドで実行されるプログラムをインストールします。

管理者権限がある場合(例:Ubuntu):

$ sudo apt install rclone

管理者権限がない共用マシンの場合:

$ wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
$ unzip rclone-current-linux-amd64.zip

展開された rclone-バージョン-linux-amd64/ のディレクトリ内にあるバイナリファイル rclone をパスの通ったところに移動して使います。

2. Nextcloud デバイスパスワードの発行

WebブラウザでARIM-mdxにアクセスして、デバイスパスワードを発行します。これは各デバイスごと(計算機サーバーごと)に発行する必要があります(使いまわし不可)。

1. 右上アイコン > 設定
nextcloud-setting

2. セキュリティ > "デバイスとセッションの 新しいパスワードを作成" から、アプリ名(任意の呼び名。計算機サーバーの名前など)を入力
nextcloud-devicepass

3. ユーザーIDパスワード が発行されます。以下のRcloneの設定でユーザーIDとパスワードは使用します。
nextcloud-passgen

注釈

画面を閉じたり移動したりすると再表示できなくなるので、設定が終わるまでこの画面を開いておくか、生成されたパスワードをメモしておいてください。設定完了後はパスワードを破棄してください。

2. Nextcloud WebDAV URLの発行

1. 任意のデータフォルダのページより、左下 "ファイルの設定" をクリック
nextcloud-geturl

  1. WebDAV URLを取得: https://arim.mdx.jp/nextcloud/remote.php/dav/files/{ユーザー名}

3. Rcloneの設定

生成した、 ユーザーIDパスワードWebDAV URL を使って計算機サーバーで設定します:

$ rclone config

以下の質問に答える形で設定を進めます:

  1. No remotes found, make a new one? → 「n」と入力 (newの頭文字) ↵

  2. Enter name for new remote. → 接続先の呼び名(任意)。例:「arim」と入力 ↵

  3. Option Storage. → 接続方式を選択。「webdav」と入力 ↵

  4. Option url. → 上で取得した WebDAV URL を入力↵

  5. Option vendor. → 「nextcloud」と入力↵

  6. Option user. → 上で生成した ユーザーID を入力↵

  7. Option pass. → パスワードを入力するか確認。「y」と入力↵

  8. Enter the password: → 上で発行した パスワード を入力↵(入力のパスワードは非表示)

  9. Confirm the password: → 確認用に同じパスワードを再度入力↵

  10. Option bearer_token. → 何も入力せず↵

  11. Edit advanced config? → 何も入力せず↵

  12. Configuration complete. → 何も入力せず↵

  13. Current remotes: → 終了する場合は「q」を入力↵

これで ~/.config/rclone/rclone.conf に設定ファイルが作成されます。

4. Rcloneの基本的な使用方法

ディレクトリの表示:

$ rclone lsd arim:

より深いディレクトリの表示:

$ rclone lsd arim:large/xxx/yyy/zzz

ファイルのコピー(ローカルからARIM-mdx Nextcloudへ):

$ rclone copy yyy/ arim:large/xxx/yyy/

ファイルのコピー(ARIM-mdx Nextcloudからローカルへ):

$ rclone copy arim:large/xxx/yyy yyy/

リモートマウント (マウント後 df などで確認):

$ mkdir arim
$ rclone mount --daemon arim:large/xxx/ arim/

注釈

物性研スパコンkuguiなど、ログインノードでのリソース制限がある場合は、以下のように環境変数によるGO言語ブログラム (Rclone) の並列度制限が必要です:

$ export GOMAXPROCS=1

5. 詳しい利用方法

rcloneやサブコマンドのオプションは以下のコマンドで参照できます:

$ rclone --help
$ rclone サブコマンド --help

各サブコマンドの詳細なヘルプを見るには、サブコマンドの部分を実際のコマンド(例:copy, lsd, mount など)に置き換えてください。

利用方法マニュアル: