如何在高可用性中安装Odoo并为大规模可扩展性做好准备

查看类别

如何在高可用性中安装Odoo并为大规模可扩展性做好准备

7分钟简报

概述 #

本文的目的是解释如何制作CRM应用程序,这对于像这样的公司至关重要 Odoo,高度可扩展。 此外,如何在高可用性中设置它以容忍故障,以及如何加强对其的访问安全性。

什么是高可用性? #

高可用性是系统或组件的质量,可确保高于正常时间段的高水平操作性能(通常为正常运行时间)。

什么是odoo? #

Odoo (又名 OpenERP的)是一个业务开源软件,集成了所有业务需求,包括CRM,计费,会计,网站,仓库和项目管理,制造,库存等等!

配置 RELIANOID 负载均衡器 #

RELIANOID 负载均衡器我们可以确保高可用性并为大规模可扩展性做好准备 Odoo 按照以下步骤提供服务。

请注意,要遵循这些说明,将需要安装以下实例 RELIANOID Load Balancer和几个实例 Odoo 应用程序。 此外, PostgreSQL的 在它们之间复制,以确保一致性。

我们将在本文中描述的环境如下所示。

Odoo HA HTTP

步骤1:创建虚拟IP #

需要在负载均衡器中创建虚拟IP,因为它将是 Odoo 服务。 在我们的例子中,我们将有两个 Odoo 真正的服务器,但您可以根据需要包含但没有任何限制。 要创建一个新的虚拟IP,请从 RELIANOID LB主菜单,选择 设置->接口.

Odoo创建虚拟IP

找到要在其下创建虚拟IP的物理接口 行动 点击按钮 添加虚拟网络接口.

Odoo添加虚拟网络接口

键入新虚拟IP的地址和网络掩码,它必须与物理设备位于同一子网中。 单击按钮保存 保存虚拟接口.

Odoo保存虚拟IP

步骤2:创建http场 #

服务器场是一组计算机服务器,它们提供服务器功能,显着提高其功能。 所以,通过建立一个农场 Odoo 服务器,我们将提高其性能和可扩展性,这对高可用性至关重要。 为了实现这一目标 管理->农场.

Odoo创建负载平衡服务器场

点击 添加新农场 并在新窗口中,选择一个名称和 HTTP 作为个人资料。 我们选择HTTP配置文件是因为它是Web服务的最佳选择,并且需要解析应用程序内容才能在应用程序级别提供持久性。

Odoo HTTP负载平衡服务器场

将显示另外两个选项。 选择在步骤1上创建的虚拟IP和端口(在示例中我们选择80,因为它是HTTP协议的默认值)并单击 已保存 按钮。

Odoo HTTP创建服务器场

有关农场的更多信息,请参阅 管理::农场.

步骤3:添加服务 #

创建服务器场后,我们必须对其进行编辑才能添加新服务。 请点击按钮 编辑农场.

Odoo编辑农场

可以编辑服务器场的一些详细信息,现在我们将保留默认值并添加新服务。

Odoo编辑http farm

在上面的屏幕截图中,找到 添加服务部分,键入服务名称并单击 添加.

Odoo创建http服务

现在,我们将保留默认值,并且只会添加后端 Odoo 真正的服务将会运行。 找到后端部分,然后单击添加真实服务器按钮。

odoo添加真正的服务器

包括的IP地址和端口 Odoo 服务(Odoo服务的默认8069),超时和重量,然后单击保存真实服务器。

odoo_configure_backends

必须避免服务器换向:如果在会话期间我们从一台服务器跳到另一台服务器,则会导致效率,数据甚至通信丢失。 为了避免这种行为 持久性会话 必须配置选项。 我们将选择按会话ID维护会话,这意味着在会话期间,我们将只连接到一个服务器。

在服务全局参数中,我们现在可以将持久性会话字段更改为 COOKIE:某个饼干 并点击 修改.

Odoo配置cookie

插页 SESSION_ID 作为持久性会话标识符并单击 修改.

Odoo sessionid配置

最后,我们必须通过重新启动服务器场来应用这些更改。

Odoo重启服务

祝贺您! 您已在高可用性中配置了Odoo。 您可以通过键入来访问它 http://[VIRTUAL_IP]:[PORT] (在我们的例子中 http://192.168.56.200).

步骤4:高级健康检查 #

我们现在将设置服务器监视器,以便对后端执行高级运行状况检查,确保它们启动,运行并正确执行应用程序,而不仅仅是TCP端口检查。 请找到 农场卫报 字幕可视电话用于 Odoo 我们在步骤3中设置的服务。 点击 使用FarmGuardian检查后端服务器,你也可以修改检查之间的时间,最后,在 要检查的命令 文本框,键入以下命令:

check_http -I 主机 -w 10 -c 10 -t 10 -e 200 -p 端口 -s ' ‘

最后,点击 修改.

Odoo高级健康检查配置

命令 check_http 测试与指定主机的HTTP连接。 在我们的例子中,我们使用以下选项:

- 我主持:令牌HOST将被定义的后端IP地址替换。
-w 10:导致警告状态的响应时间:10秒
-c 10:对临界状态的响应时间:10秒
-t 10:连接超时前的10秒
-e 200:期望字符串200处于服务器响应的状态
-p PORT:令牌PORT将由定义的后端端口替换。
-s' ':内容中应包含的字符串为“ '

此高级运行状况检查可确保我们从真实服务器中获得200 OK响应,并且response命令包含字符串' '。 我们选择此字符串是因为它位于响应的末尾,这样我们可以保证从后端应用程序获得正确的答案。

步骤5:高安全性 #

Odoo 没有为网络通信提供安全的渠道,但我们可以轻松实现这一目标 RELIANOID 负载均衡器如下图所示。

Odoo HA HTTPS

我们必须设置一个HTTPS侦听器: 编辑场全局参数 屏幕,请将服务器场监听器从HTTP更改为HTTPS和 虚拟端口 到443。

Odoo SSL HTTPS配置

在这个阶段, Odoo 可以通过输入来访问 https://[VIRTUAL_IP] 您的浏览器。

安全通信现在正在运行,但我们可以通过配置HTTPS密码来进一步:在服务器场全局参数中,找到 HTTPS设置 部分。 我们可以将密码更改为 高安全性.

Odoo高安全性密码

密码字段用于构建HTTPS服务器接受的密码列表,以加强SSL连接。 通过选择 高安全性,我们默认设置密码。

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 base #

Odoo 考虑其设置来构建URL web.base.url。 如果我们通过访问 RELIANOID 在Load Balancer中,我们将看到URL切换到后端的URL。 由于我们已通过HTTPS配置了安全通信,因此这可能会带来问题,我们只能导航至 Odoo 基本URL。 为了避免这种情况,我们必须设置 web.base.url 每个参数 odoo 服务器。

为了实现这一点,访问每个后端,并在左侧面板上,转到 技术>>参数>>系统参数 并改变 web.base.url 以及 RELIANOID 为odoo场选择的Load Balancer虚拟IP和端口。 在我们的示例中,将是https:// 192.168.56.200,甚至更好,https://odoo.mycompany.com。

Odoo web base url配置

技术功能可能已禁用。 如果是这种情况,则技术选项将不可用。 要解决此问题,请选择 用户>>用户,编辑当前用户并启用 技术特点 选项下 可用性.

步骤7:Odoo文件存储 #

在高可用性中配置文件存储有多个选项。

1. 在每个后端,我们都可以挂载共享存储并通过参数配置本地路径 ir_attachment.location 下节 设置>>技术>>参数>>系统参数.

2. 如果我们没有一个单元来为文件存储提供共享资源的高可用性,我们可以使用 RELIANOID 为 NFS的 (网络文件系统)服务,以便安装在每个后端。 由于此服务使用TCP和UDP端口,我们可以通过某个虚拟IP下的所有端口创建L4xNAT,这将用于在启动时通过 / etc / fstab文件 文件中。

3. 其他选项是配置 SSHFS 它使用SSH安全服务来使用远程共享文件系统。 由于SSH服务默认使用TCP 22端口,可以通过L4xNAT进行负载平衡,而不用担心与NFS情况类似。

根据是否需要创建主动-主动或主动-被动共享文件存储资源,将需要复制或同步文件。

尽管此主题不在本文讨论范围之内,但将在一篇专门的文章中解决。

现在,您的业务流程和运营已准备好扩展设置 Odoo 的高可用性, RELIANOID, 请享用!

📄 以 PDF 格式下载此文档 #

    电子邮件: *

    专利所有者 更好的文档