在家做饭

一切都始于在装有Ubuntu Touch操作系统智能手机上安装Synapse消息服务器的小实验,最后在5个ARM微型服务器(Raspberry Pi和ODROID-XU4)上创建了一个小型家庭数据中心,其主要功能是确保交换系统的运行。 Matrix和WebRTS消息传递/呼叫10个用户。

Matrix是一种开放式即时消息通讯协议(基于分散的服务器),允许用户交换文本消息和文件,进行语音和视频通话,创建聊天频道等。

Matrix网络最著名的客户端是Riot.im,它实现为移动,Web或桌面应用程序。 该功能并不逊色于现代即时通讯工具Slack / Telegram / WhatsApp的客户。

因此,在将其安装在智能手机上(服务器放在口袋里很难使用,并且不断更改其地址和连接方式-WiFi / 3G / 4G)后,下一步就是将系统转移到一台Raspberry Pi。 前端-Python中的Synapse服务器实现,后端-Raspbian for Raspberry Pi的标准发行版中的PostgreSQL数据库。

连接到Internet-通过带有静态外部IP地址的家用vDSL调制解调器上的端口转发(端口8448)。

一切正常,但有时会出现“吱吱作响”的情况-定期延迟-连接客户端花费了几秒钟的时间,连接到matrix.org的第三方渠道/房间时超时。

将PostgreSQL数据库转移到第二个Raspberry Pi后,性能显着提高,但有时,几分钟(前端)有时会给一个处理器内核带来100%的负载。

为了改善这种情况,将前端转移到无风扇的ODROID-XU4 (8个ARM内核,2 Gb RAM,服务器价格-59美元),然后将PostgreSQL数据库转移到第二个ODROID-XU4。



添加了一个USB以太网交换机(20美元),用于连接双绞线服务器,一个外部2 Tb USB驱动器以及一个用于为3个Raspberry Pi和以太网交换机供电的6端口USB充电器。
释放的Raspberry Pi进行了转换:支持DMZ的防火墙,用于监视的Zabbix服务器,用于PostgreSQL数据库的热备用服务器(位于另一个房间)。 添加了另一个具有移动Internet访问模块的Raspberry Pi,以通过Raspberry Pi的4G模块接收第二条通信通道。

另外,增加了不间断电源UPS。

在安装过程中,系统如下所示(放置在电壁炉内):



Synapse后端数据库的大小在六个月内增加了约325 Mb:



Zabbix监视系统数据库的大小已增长到1.25 Gb,并且即将稳定下来:



外部网络负载(7天计划):



内部网络负载(7天计划):



3天的前端负载图:



启用加密后,客户端会将加密的数据存储在数据库中,因此即使对服务器进行物理访问也不会导致数据泄漏。

以上所有内容都可以在任何数据中心的廉价VPS上实现,但是如果它在家里稳定运行,那为什么不在家用设备上实现呢?

Source: https://habr.com/ru/post/zh-CN427649/


All Articles