مصفوفة الطبخ في المنزل

بدأ كل شيء بتجربة صغيرة حول تثبيت خادم المراسلة Synapse على هاتف ذكي مع نظام التشغيل Ubuntu Touch ، وانتهى الأمر بإنشاء مركز بيانات منزلية صغيرة على 5 خوادم ARM صغيرة (Raspberry Pi و ODROID-XU4) ، وتتمثل وظيفتها الرئيسية في ضمان تشغيل نظام التبادل رسائل / مكالمات مصفوفة و WebRTS لـ 10 مستخدمين.

Matrix هو بروتوكول مراسلة فورية مفتوح (يعتمد على خوادم لامركزية) يسمح للمستخدمين بتبادل الرسائل النصية والملفات وإجراء مكالمات صوتية وفيديو وإنشاء قنوات دردشة وما إلى ذلك.

العميل الأكثر شهرة لشبكة Matrix هو Riot.im ، الذي يتم تنفيذه كتطبيق محمول أو ويب أو سطح مكتب. الوظيفة ليست أدنى من عملاء الرسائل الفورية الحديثة Slack / Telegram / WhatsApp.

لذلك ، بعد تثبيته على هاتف ذكي (يصعب استخدام الخادم عندما يكون في جيبك ويغير عنوانه وطريقة الاتصال باستمرار - WiFi / 3G / 4G) ، كانت الخطوة التالية هي نقل النظام إلى Raspberry Pi. الواجهة الأمامية - تنفيذ خادم Synapse في Python ، الواجهة الخلفية - قاعدة بيانات PostgreSQL من التوزيع القياسي لـ Raspbian لـ Raspberry Pi.

الاتصال بالإنترنت - من خلال إعادة توجيه المنفذ (المنفذ 8448) على مودم vDSL المنزلي بعنوان IP خارجي ثابت.

كل شيء يعمل ، ولكن في بعض الأحيان مع "صرير" - كانت هناك تأخيرات دورية - استغرق ربط العملاء عدة ثوان ، وانتهت المهلات عند الاتصال بقنوات / غرف الطرف الثالث من matrix.org.

بعد نقل قاعدة بيانات PostgreSQL إلى Raspberry Pi الثاني ، تحسن الأداء بشكل ملحوظ ، ولكن لا يزال ، في بعض الأحيان كان هناك حمل بنسبة 100٪ من نوى المعالج لعدة دقائق (على الجانب الأمامي).

لتحسين الوضع ، تم نقل الواجهة الأمامية إلى ODROID-XU4 بدون مروحة (8 نوى ARM ، 2 غيغابايت من ذاكرة الوصول العشوائي ، سعر الخادم - 59 دولارًا) ، ثم تم نقل قاعدة بيانات PostgreSQL إلى ODROID-XU4 الثاني.



تمت إضافة مفتاح USB Ethernet (20 دولارًا) لتوصيل الخوادم المزدوجة الملتوية ، ومحرك أقراص USB خارجي بسعة 2 تيرابايت ، بالإضافة إلى شاحن USB 6 منافذ لتشغيل 3 مفاتيح Raspberry Pi و Ethernet.
تم تحويل Raspberry Pi المحرر: جدار حماية لتوفير DMZ ، خادم Zabbix للمراقبة ، خادم الاستعداد الساخن لقاعدة بيانات PostgreSQL (الموجودة في غرفة أخرى). تمت إضافة Raspberry Pi آخر مع وحدة الوصول إلى الإنترنت عبر الهاتف المحمول لتلقي قناة اتصال ثانية من خلال وحدة 4G لـ Raspberry Pi.

بالإضافة إلى ذلك ، تمت إضافة مصدر طاقة غير منقطع UPS.

أثناء التثبيت ، بدا النظام مثل هذا (وضع داخل مدفأة كهربائية):



زاد حجم قاعدة بيانات Synapse الخلفية بمقدار 325 ميجا بايت تقريبًا لمدة ستة أشهر:



نما حجم قاعدة بيانات نظام مراقبة Zabbix إلى 1.25 غيغابايت وسيستقر قريبًا:



تحميل الشبكة الخارجية (جدول 7 أيام):



تحميل الشبكة الداخلية (جدول 7 أيام):



مخطط تحميل أمامي لمدة 3 أيام:



عند تمكين التشفير ، يقوم العملاء بتخزين البيانات المشفرة في قاعدة البيانات ، لذلك حتى الوصول الفعلي إلى الخادم لن يؤدي إلى تسرب البيانات.

يمكن تنفيذ كل ما سبق على VPS غير مكلفة في أي مركز بيانات ، ولكن إذا كان يعمل بثبات في المنزل ، فلماذا لا يفعل ذلك على المعدات المنزلية؟

Source: https://habr.com/ru/post/ar427649/


All Articles