Nextcloudサーバを冗長構成する際に気を付ける点
Nextcloud で Webサーバ (=Nextcloud サーバー ) を可用性や負荷分散の考慮して冗長構成にすることが必要となった場合に気を付ける点を簡単にまとめました。
データベースの分離
Nextcloud は内部でユーザー情報、ファイルメタ情報、各種設定情報など、様々な情報をデータベースで管理しています。複数台の Nextcloud サーバーで同じデータベースの情報を参照できる必要があります。
データベースを別サーバーに構築して、これを Nextcloud サーバーから参照するように設定するとよいでしょう。
【Configuration Parameters - Default Parameters】 ※dbhost
パラメータ
セッション情報の共有
Nextcloud は PHP で動作する Web アプリケーションです。複数台の Nextcloud サーバーで全てのセッション情報を共有しておく必要があります。
データベースサーバーに Redis または memcached といった KVS を導入し、ここに保管するように設定するとよいでしょう。
【Qiita - PHPセッションをPhpRedisに保存する】
Nextcloud ファイルロック情報の共有
Nextcloud では ファイルロック情報を管理しています。この情報もすべての Nextcloud サーバーで共有しておく必要があります。
この保管先も、先ほどの KVS に保管するように設定するとよいでしょう。
【Configuration Parameters - Memory caching backend configuration】
Nextcloud データディレクトリ(保管ファイル)
Nextcloud に保管されるファイルの実体をすべての Nextcloud サーバーで参照できるように共有しておく必要があります。
別途 NFS を準備し、 Nextcloud サーバーからこの NFS をマウント、ここにファイルを保管するように設定するとよいでしょう。
【Configuration Parameters - Default Parameters】 ※datadirectory
パラメータ
Nextcloud Config ファイル
Nextcloud の設定ファイルである Config ファイル (=config.php) は、基本的にはすべての Nextcloud サーバーで同じ内容である必要がありますが、管理者の設定変更作業により、まれにこの設定ファイルの内容が変更されることがあります。Nextcloud で設定変更を行ったのに反映されてたりされてなかったり挙動が変になっている場合は、このファイルの内容が Nextcloud サーバー間で異なっている場合があります。
Nextcloud アプリ
Nextcloud は様々なプラグインアプリを追加することができます。プラグインアプリはすべての Nextcloud サーバーで同じものを参照できる必要があります。Nextcloud 画面でアプリを追加した場合、残念ながら追加の処理を行った Nextcloud サーバー以外のサーバーにも自動的にアプリがインストールされることはありません。
冗長構成としている Nextcloud でプラグインアプリを追加する場合は、それぞれの Nextcloud サーバー個別に occ app:install
コマンドでインストールするとよいでしょう。
Author And Source
この問題について(Nextcloudサーバを冗長構成する際に気を付ける点), 我々は、より多くの情報をここで見つけました https://qiita.com/S_Katz/items/a23222b6c223c87a5ed2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .