スーパーコンピュータとのデータ通信
====================================
スーパーコンピュータや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. **右上アイコン** > **設定**
.. image:: _static/nextcloud-setting.png
:alt: nextcloud-setting
:align: center
:width: 500px
|
| 2. **セキュリティ** > **"デバイスとセッションの 新しいパスワードを作成"** から、アプリ名(任意の呼び名。計算機サーバーの名前など)を入力
.. image:: _static/nextcloud-devicepass.png
:alt: nextcloud-devicepass
:align: center
:width: 500px
|
| 3. **ユーザーID** と **パスワード** が発行されます。以下のRcloneの設定でユーザーIDとパスワードは使用します。
.. image:: _static/nextcloud-passgen.png
:alt: nextcloud-passgen
:align: center
:width: 500px
|
.. note::
画面を閉じたり移動したりすると再表示できなくなるので、設定が終わるまでこの画面を開いておくか、生成されたパスワードをメモしておいてください。設定完了後はパスワードを破棄してください。
2. Nextcloud WebDAV URLの発行
-----------------------------
| 1. 任意のデータフォルダのページより、左下 **"ファイルの設定"** をクリック
.. image:: _static/nextcloud-geturl.png
:alt: nextcloud-geturl
:align: center
:width: 500px
|
2. 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/
.. note::
物性研スパコンkuguiなど、ログインノードでのリソース制限がある場合は、以下のように環境変数によるGO言語ブログラム (Rclone) の並列度制限が必要です::
$ export GOMAXPROCS=1
5. 詳しい利用方法
-----------------
rcloneやサブコマンドのオプションは以下のコマンドで参照できます::
$ rclone --help
$ rclone サブコマンド --help
各サブコマンドの詳細なヘルプを見るには、サブコマンドの部分を実際のコマンド(例:copy, lsd, mount など)に置き換えてください。
利用方法マニュアル:
- `公式ユーザーマニュアル (英語) `_