高可用性でOdooをインストールし、大規模なスケーラビリティを実現する方法

投稿者 Zevenet | 11年2017月XNUMX日

概要

この記事の目的は、以下のような企業にとって重要なCRMアプリケーションの作成方法を説明することです。 Odoo非常にスケーラブルです。 また、障害に耐えるためにどのようにそれを高可用性に設定するか、およびそれへのアクセスのセキュリティーを強化する方法。

高可用性とは

ハイアベイラビリティとは、通常よりも長い期間にわたって高レベルの運用パフォーマンス(通常は稼働時間)を保証するシステムまたはコンポーネントの品質です。

オドーって何?

Odoo OpenERP)は、CRM、請求、経理、Webサイト、倉庫およびプロジェクト管理、製造、在庫管理など、あらゆるビジネスニーズを統合するビジネスオープンソースソフトウェアです。

Zevenetロードバランサーの設定

Zevenet ロードバランサ高可用性を確保し、大規模なスケーラビリティに備えて Odoo 以下のステップに従ってサービスを受けてください。

これらの手順に従うには、のインスタンスをインストールする必要があることに注意してください Zevenet ロードバランサといくつかのインスタンス Odoo アプリケーション。 さらに、それは非常に重要です Postgresql 一貫性を保証するために、それらの間で複製されます。

この記事で説明する環境を以下に示します。

Odoo HA HTTP

ステップ1:仮想IPを作成する

ロードバランサーへのエントリポイントとなるため、ロードバランサーに仮想IPを作成する必要があります。 Odoo サービス この例では、2つになります。 Odoo 実サーバーですが、制限なしに必要なだけ含めることができます。 新しい仮想IPを作成するには、 Zevenet LBメインメニュー、選択 設定->インターフェース.

仮想IPを作成する

仮想IPを作成したい場所の下にある物理インターフェースを見つけます。 アクション ボタンをクリック 仮想ネットワークインタフェースを追加する.

仮想ネットワークインターフェイスを追加する

新しい仮想IPのアドレスとネットマスクを入力します。これは、物理デバイスと同じサブネット内になければなりません。 ボタンをクリックして保存する 仮想インタフェースを保存.

Odooは仮想IPを保存する

ステップ2:httpファームを作成する

ファームは、サーバー機能を提供してその機能を大幅に向上させるコンピューターサーバーの集合です。 だから、農場を設立することによって Odoo サーバーでは、高パフォーマンスに不可欠なパフォーマンスとスケーラビリティを向上させます。 これを達成するために行きなさい 管理->農場.

Odooは負荷分散ファームを作成します

をクリックしてください 新しい農場を追加 そして新しいウィンドウで名前を選択して HTTP プロファイルとして。 HTTPプロファイルを選択するのは、これがWebサービスに最適なオプションであり、アプリケーションレベルで永続性を提供するためにアプリケーションコンテンツを解析する必要があるためです。

Odoo HTTPロードバランシングファーム

さらに2つのオプションが表示されます。 ステップ1で作成した仮想IPとポート(この例ではHTTPプロトコルのデフォルトであるため80を選択します)を選択して セールで節約 ボタン。

Odoo HTTP作成ファーム

農場の詳細については、を参照してください。 管理::農場.

ステップ3:サービスを追加する

ファームが作成されたら、新しいサービスを追加するためにそれを編集する必要があります。 ボタンをクリックしてください 農場を編集.

Odoo編集ファーム

ファームの詳細をいくつか編集することができます。これでデフォルト値を維持し、新しいサービスを追加します。

Odooはhttpの農場を編集

上のスクリーンショットで、 サービス部門を追加サービス名を入力してをクリック 追加.

Odooはhttpサービスを作成します

今のところ、デフォルト値のままにして、バックエンドを追加するだけにします。 Odoo 実際のサービスは実行されます。 バックエンドセクションを見つけて、[実サーバーを追加]ボタンをクリックします。

odooは実サーバーを追加します

のIPアドレスとポートを含める Odoo サービス(Odooサービスの場合はデフォルトの8069)、タイムアウトおよびウェイトをクリックして、実サーバーの保存をクリックします。

odoo_configure_backends

サーバーの交換を回避する必要があります。セッション中にサーバー間を移動すると、効率、データ、さらには通信の損失が発生します。 この動作を回避するために、 持続セッション オプションを設定する必要があります。 セッションIDでセッションを維持することを選択します。したがって、セッション中は1つのサーバーにのみ接続します。

サービスのグローバルパラメータで、永続セッションフィールドを次のように変更できます。 クッキー:特定のクッキー とをクリック 修正します.

Odooクッキーを設定する

インセット セッションID 永続セッションIDとしてクリックして 修正します.

Odoo sessionid構成

最後に、ファームを再起動して変更を適用する必要があります。

Odoo再起動サービス

おめでとう! Odooを高可用性に設定しました。 次のように入力してアクセスできます。 http://[VIRTUAL_IP]:[PORT] (この例では http://192.168.56.200).

ステップ4:高度なヘルスチェック

バックエンドに対して高度なヘルスチェックを実行して、TCPポートチェックだけでなく、アプリケーションが正しく動作していることを確認するために、ファーム保護者を設定します。 探してください 農場の保護者 中で Odoo ステップ3で設定したサービス。 クリック FarmGuardianを使用してバックエンドサーバーを確認するチェックから最後までの時間を変更することもできます。 確認するコマンド テキストボックスに次のコマンドを入力します。

check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s '</html>'

最後に、をクリックします 修正します.

Odooアドバンストヘルスチェック設定

コマンド check_http 指定されたホストとのHTTP接続をテストします。 私たちの場合は、次のオプションを使用しています。

-Iホスト:トークンHOSTは定義されたバックエンドIPアドレスに置き換えられます。
-w 10:警告ステータスになるまでの応答時間:10秒
-c 10:クリティカルステータスへの応答時間:10秒
-t 10:接続がタイムアウトするまでの10秒
-e 200:サーバー応答の状況にストリング200が必要です
-p PORT:トークンPORTは定義されたバックエンドポートに置き換えられます。
-s ' ':コンテンツで期待される文字列は ' '

この高度なヘルスチェックにより、実サーバーから200 OKの応答が得られ、応答コマンドに文字列 'が含まれていることが保証されます。 '。 この文字列は応答の最後にあるため選択します。これにより、バックエンドアプリケーションから正しい回答が得られることを保証できます。

ステップ5:高セキュリティ

Odoo Web通信のための安全なチャネルを提供していませんが、我々は簡単にこれを達成することができます Zevenet 以下に示すようにロードバランサ。

Odoo HA HTTPS

HTTPSリスナーを設定する必要があります。 ファームのグローバルパラメータを編集する 画面で、ファームリスナをHTTPからHTTPSに変更してください。 仮想ポート 443へ。

Odoo SSL HTTPS構成

この段階では、 Odoo 入力してアクセスできます https://[VIRTUAL_IP] あなたのブラウザに表示されます。

安全な通信は現在実行されています、しかしHTTPS暗号を設定することによってさらに進むことができます:ファームグローバルパラメータ内で、 HTTPS Settings セクション。 暗号を次のように変更できます。 高いセキュリティ.

Odoo高セキュリティ暗号

ciphersフィールドは、SSL接続を強化するためにHTTPSサーバーによって受け入れられる暗号のリストを作成するために使用されます。 選択して 高いセキュリティ、デフォルトで暗号を設定します。

kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED

別の選択肢は 利用可能なHTTPS証明書:証明書のリストが現在のファーム用に選択されているように表示されます(HTTPファームのみ)。 リストから選択してクリックすることができます 追加。 最後にをクリック 修正します 変更を適用するためにファームを再起動します。

最後に、 zencert.pem 証明書はHTTPSリスナーのテストに使用できますが、独自のSSL証明書を使用することが重要です。

詳しくは、を参照してください。 HTTPプロファイルファーム.

ステップ6:Odoo Webベース

Odoo その設定を考慮してURLを構築します web.base.url。 を通してアクセスするなら Zevenet ロードバランサーでは、URLがバックエンドのURLに切り替わります。 HTTPSを介した安全な通信を構成しているため、これにより問題が発生する可能性があり、 Odoo ベースURL これを避けるためには、 web.base.url それぞれのパラメータ オードー サーバー。

これを達成するには、各バックエンドにアクセスし、左側のパネルで、に行きます。 技術>>パラメータ>>システムパラメータ そして、 web.base.url Zevenet odooファーム用に選択されたLoad Balancer仮想IPおよびポート。 この例では、https:// 192.168.56.200、またはさらに良いのはhttps://odoo.mycompany.comです。

Odoo WebベースのURL設定

技術的な機能が無効になっている可能性があります。 このような場合、テクニカルオプションは利用できません。 これを解決するには、 ユーザー>>ユーザー現在のユーザーを編集して有効にする 技術的な特徴 下のオプション 使いやすさ.

ステップ7:Odooファイルストア

高可用性でファイルストアを設定するにはいくつかのオプションがあります。

1. すべてのバックエンドで、共有ストレージをマウントし、パラメータを通してローカルパスを設定できます。 ir_attachment.location セクションの下 設定>>技術>>パラメータ>>システムパラメータ.

2. ファイルストア用の共有リソースの高可用性を提供するユニットがない場合は、Zevenetを使用してファイルストアを作成できます。 NFS すべてのバックエンドにマウントされるための(ネットワークファイルシステム)サービス。 このサービスはTCPおよびUDPポートを使用するので、特定の仮想IPの下のすべてのポートを介してL4xNATを作成できます。これは、ブート時に自動的にマウントを設定するために使用されます。 /etc/fstab ファイル。

3. 他のオプションは設定することです SSHFS これはSSH共有サービスを使用してリモート共有ファイルシステムを使用します。 SSHサービスはデフォルトでTCP 22ポートを使用するので、NFSの場合と同様に、L4xNATを通じて問題なく負荷分散できます。

アクティブ-アクティブまたはアクティブ-パッシブの共有ファイルストアリソースを作成する必要があるかどうかに応じて、ファイルのレプリケーションまたは同期が必要になります。

このトピックはこの記事の範囲外ですが、専用の記事で取り上げます。

これで、あなたのビジネスプロセスとオペレーションはZevenetを使って高可用性のOdooを拡大する準備ができました。

上の共有:

GNU Free Documentation Licenseの条項に基づくドキュメンテーション。

この記事は役に立ちましたか?

関連記事