早速のご回答ありがとうございます!
当Projectの状況を考えると、
オブジェクトストレージ,セッションストレージはストレージの購入から開始しなければ
ならず、採用が難しいです。
データベースサーバーで同期というのは、どのような方法でしょうか。
MySQLのサーバは本番系と待機系という形で2台用意しておりますが、
そのサーバーにWebアプリケーションを載せるということでしょうか。
ただ、それですと元々検討している可用性と負荷分散が実現できません。
御手数ですが詳細をご教授いただけますと幸いでございます。
Webサーバの冗長化構成の方法
2017年3月2日 at 17:23
お世話になります。
一つお知恵を借りたく、トピックに挙げせていただきました。
≪ご教授いただきたいこと≫
当方が担当するProjectにて、Concrete5を導入したWebサーバの冗長化構成の実現をしたいと考えており、
有効な実現方法についてご教授いただきたいと考えております。
AWSは採用しておりません。
冗長化構成の目的はサーバ上で提供する可用性の維持とWebサーバへの負荷分散です。
可用性を維持したいので、冗長化構成を組んでいる2台のWebサーバ間のリアルタイム同期は
必須です。
≪今まで検討したこと≫
両WebサーバにマウントしたProjectで使用しているNASサーバのDisk上で、Concrete5を動作させ
る方法も試みましたが、性能劣化が甚だしく実現不可のようです。
(ボトルネック及びNASでの実現方法は継続して調査中です)
下記も参考にしましたが、こちらで紹介されてる方法ですと、負荷分散と同期は実現できますが、
Web01が障害等で落ちてしまうと、Web02側でサービス提供不可なので採用しておりません。
http://concrete5-japan.org/community/forums/development/post-2762/
≪使用しているバージョン≫
5.6.3.4
タグ:
Re: Webサーバの冗長化構成の方法
2017年3月3日 at 9:09
データベースサーバーで同期、ではなく、MySQLのクラスタ構成が簡単に調達できるクラウドサービスの方が楽ですよね、という話ですね…。
Re: Webサーバの冗長化構成の方法
2017年3月3日 at 20:45
takuro hishikawa様、多摩勉強会/遠藤様 ご回答ありがとうございます!
>takuro hishikawa様
やはりクラウドサービスが楽ですよね。 今後のことも考えて内部で相談してみます。
>多摩勉強会/遠藤様
lsync、rsync方式はこちらでも検討しておりました。
性能懸念が不安ですが、まずはこれを試してみようと思います。
>takuro hishikawa様
やはりクラウドサービスが楽ですよね。 今後のことも考えて内部で相談してみます。
>多摩勉強会/遠藤様
lsync、rsync方式はこちらでも検討しておりました。
性能懸念が不安ですが、まずはこれを試してみようと思います。
Re: Webサーバの冗長化構成の方法
2017年3月10日 at 16:36
引き続き質問させてください。
当初こちらで実現しようとしていたNASのDiskをマウントしての
Webサーバの冗長化構成の実現方法についてNASのDiskにConcrete5の
フォルダ(/concrete)をすべて格納していたため、ページ表示の際に
NFS通信が多く走り、性能劣化していることが判明しました。
そこでconcrete配下に複数ディレクトリがありますが、
管理画面上からページの更新やシステムの設定変更を実施しても変更されることが無い
ディレクトリはありますでしょうか。
それらをWeb01とWeb02のローカルDK上に格納すればよいと
考えました。
以下も参考にしましたが、管理画面上で変更を行った際にfiles以外の
ディレクトリ配下のファイルが変更になってしまい、filesのみをNFS
先に格納する方法はできないと判断しました。
あるいは、Web01とWeb02でconcreteディレクトリ配下に差分が出ても、Web01とWeb02が同じfilesとDBを参照していれば、影響ないのでしょうか。
http://concrete5-japan.org/community/forums/development/post-2762/
当初こちらで実現しようとしていたNASのDiskをマウントしての
Webサーバの冗長化構成の実現方法についてNASのDiskにConcrete5の
フォルダ(/concrete)をすべて格納していたため、ページ表示の際に
NFS通信が多く走り、性能劣化していることが判明しました。
そこでconcrete配下に複数ディレクトリがありますが、
管理画面上からページの更新やシステムの設定変更を実施しても変更されることが無い
ディレクトリはありますでしょうか。
それらをWeb01とWeb02のローカルDK上に格納すればよいと
考えました。
以下も参考にしましたが、管理画面上で変更を行った際にfiles以外の
ディレクトリ配下のファイルが変更になってしまい、filesのみをNFS
先に格納する方法はできないと判断しました。
あるいは、Web01とWeb02でconcreteディレクトリ配下に差分が出ても、Web01とWeb02が同じfilesとDBを参照していれば、影響ないのでしょうか。
http://concrete5-japan.org/community/forums/development/post-2762/
Re: Webサーバの冗長化構成の方法
2017年3月10日 at 17:47
concrete5ディレクトリ配下は、更新されないはずです。そういうカスタマイズをしていない限りは。
Re: Re: Webサーバの冗長化構成の方法
2017年3月14日 at 18:29
takuro hishikawa様
ありがとうございます。
現状5.6版を使用しておりますが、管理画面から設定等を変更するとconfig配下も
変更されてしまうようですが、
1系/2系で同じDBサーバに接続されているのであれば、この点は影響ないのでしょうか。
あるいは、設定変更を行った場合はDiskの内容も1系/2系間で同期を取らなければなら
ないのでしょうか。
ありがとうございます。
現状5.6版を使用しておりますが、管理画面から設定等を変更するとconfig配下も
変更されてしまうようですが、
1系/2系で同じDBサーバに接続されているのであれば、この点は影響ないのでしょうか。
あるいは、設定変更を行った場合はDiskの内容も1系/2系間で同期を取らなければなら
ないのでしょうか。
Re: Webサーバの冗長化構成の方法
2017年3月15日 at 21:09
管理画面から設定変更すると、変更されるのは /config 配下で、/concrete 配下は変わらないはずです。
Re: Webサーバの冗長化構成の方法
2017年3月16日 at 21:16
takuro hishikawa様
ご回答ありがとうございます。
/config 配下はconcrete配下にあると思いますが、認識違いますでしょうか。
何度も申し訳ございません。。
変更されてしまうディレクトリについては、NFS上に格納しておかないと変更内容がWeb01には反映されるが、
Web02のサーバには反映されないという事象が発生してしまうでしょうか。
※2台のWebサーバについては同じDBサーバに接続されていますので、
実はWeb01のconfigが変更されても、マスタ情報はDBに持っていて
Web02にも変更情報が反映されるといういことがあるのでしょうか。
管理画面でサイト編集や設定変更を実施してもWeb01/Web02の両方に反映されるようにしたく、
こちらでも継続調べておりますが、files以外にNFS上に格納すべきディレクトリがあるようで
したら是非とも教えて頂きたいです。
例えば、サイト編集については問題無いが、管理画面上でシステムに関する変更を実施した
場合は、手動でWeb01とWeb02のDiskの同期を取るような作業を実施するなど
多少の機能制限が出ても良いかなとは思ってはおります。
2台のWebサーバの同期を取る方式についてはlsync/rsyncの導入も検討しましたが、
OSのバージョン依存により導入できないことが分かり、なんとかNFS上に限定した
ディレクトリを格納することでWebサーバの冗長化が実現できないかと考えております。
ご回答ありがとうございます。
/config 配下はconcrete配下にあると思いますが、認識違いますでしょうか。
何度も申し訳ございません。。
変更されてしまうディレクトリについては、NFS上に格納しておかないと変更内容がWeb01には反映されるが、
Web02のサーバには反映されないという事象が発生してしまうでしょうか。
※2台のWebサーバについては同じDBサーバに接続されていますので、
実はWeb01のconfigが変更されても、マスタ情報はDBに持っていて
Web02にも変更情報が反映されるといういことがあるのでしょうか。
管理画面でサイト編集や設定変更を実施してもWeb01/Web02の両方に反映されるようにしたく、
こちらでも継続調べておりますが、files以外にNFS上に格納すべきディレクトリがあるようで
したら是非とも教えて頂きたいです。
例えば、サイト編集については問題無いが、管理画面上でシステムに関する変更を実施した
場合は、手動でWeb01とWeb02のDiskの同期を取るような作業を実施するなど
多少の機能制限が出ても良いかなとは思ってはおります。
2台のWebサーバの同期を取る方式についてはlsync/rsyncの導入も検討しましたが、
OSのバージョン依存により導入できないことが分かり、なんとかNFS上に限定した
ディレクトリを格納することでWebサーバの冗長化が実現できないかと考えております。
Re: Webサーバの冗長化構成の方法
2017年3月16日 at 21:45
> /config 配下はconcrete配下にあると思いますが、認識違いますでしょうか。
/concrete/config は初期設定です。管理画面から何かを変更しても変わりません。変わるとしたら闇改造かと。
/concrete/config は初期設定です。管理画面から何かを変更しても変わりません。変わるとしたら闇改造かと。
Re: Webサーバの冗長化構成の方法
2017年3月17日 at 11:59
takuro hishikawa様
ご回答ありがとうございます。 大変助かります。
何度も本当に恐縮ですが、5.7系のディレクトリイメージでご回答されてますでしょうか。
つまりコアファイルは変更されないということですね。
こちらで使用しているのが5.6系で、concreteディレクトリの中に全てのディレクトリがある
状況でした。
仰っていることは「コアファイルは管理画面から編集作業および設定変更を行っても変更されない」ということと理解しました。
5.6系ではコアディレクトリは、以下のURLを参照した所、
http://concrete5-japan.org/help/5-6/developer/introduction/basic_structure_of_concrete5/
dispatcher.php、flash、images、startupと理解しましたので、それらをWeb01、Web02の
ローカルDK上に格納してそれら以外をNFS上に格納することで進めたいと考えております。
という考えをベースにそれらをローカルDK上に
それ以外のファイルとディレクトリをNFS上にということにしたいと考えております。
ご回答ありがとうございます。 大変助かります。
何度も本当に恐縮ですが、5.7系のディレクトリイメージでご回答されてますでしょうか。
つまりコアファイルは変更されないということですね。
こちらで使用しているのが5.6系で、concreteディレクトリの中に全てのディレクトリがある
状況でした。
仰っていることは「コアファイルは管理画面から編集作業および設定変更を行っても変更されない」ということと理解しました。
5.6系ではコアディレクトリは、以下のURLを参照した所、
http://concrete5-japan.org/help/5-6/developer/introduction/basic_structure_of_concrete5/
dispatcher.php、flash、images、startupと理解しましたので、それらをWeb01、Web02の
ローカルDK上に格納してそれら以外をNFS上に格納することで進めたいと考えております。
という考えをベースにそれらをローカルDK上に
それ以外のファイルとディレクトリをNFS上にということにしたいと考えております。
Re: Webサーバの冗長化構成の方法
2017年3月17日 at 20:57
takuro hishikawa様
お忙しいところありがとうございます。
大変失礼しました。 再度確認しました。
仰る通りでした。
Web01,Web02のローカルDisk上に格納すべき管理画面上で現状運用しているサイトを編集や設定変更しても更新されないconcreteディレクトリと理解しました。
それ以外はNFS上に格納して試してみたいと思います。
お忙しいところありがとうございます。
大変失礼しました。 再度確認しました。
仰る通りでした。
Web01,Web02のローカルDisk上に格納すべき管理画面上で現状運用しているサイトを編集や設定変更しても更新されないconcreteディレクトリと理解しました。
それ以外はNFS上に格納して試してみたいと思います。
Your post has been saved and will be published after approval by the forum moderator.
takuro hishikawa
Re: Webサーバの冗長化構成の方法