• ×

08:33 مساءً , الأحد 24 سبتمبر 2017

خطوات بناء منظومة ‎ High Availabilityداخل سيرفرات موقعك ‎الجزء الثانى

زيادة حجم الخط مسح إنقاص حجم الخط
 

تحدثنا فى المقالة السابقة عن تعريف ال high availability واهميته بالنسبة للسيرفرات وايضا تحدثنا عن مشكلة ال Split brain واهم مميزات Prrcona Server ولكن فه هذه المقالة سنستخدم منظومة تتكون من ثلاثة سيرفرات بدل من استخدام ال galera كحكم كما فى الصورة التالية :

 ماهو ال‎ High Availability ‎

خطوات بناء منظومة‎ High Availability ‎تعمل بال‎ Percona Xtradb CLuster  ‎‏:‏

بالاعتماد على ثلاثة سيرفرات , وعلى نظام تشغيل‎ Centos 6.8 .‎
Server1 = db01.dimofinf.net = 172.216.0.101‎
Server2 = db02.dimofinf.net = 172.216.0.102‎
Server3 = db03.dimofinf.net = 172.216.0.103‎

‎ ‎ملاحظة هامة جدا : الشرح التالي لا يناسب سيرفرات تم تنصيب عليها‎ ‎
cPanel ‎أو ايا من لوحات التحكم الأخرى , وانما نفترض أن السيرفرات الثلاثة تعمل بنظام تشغيل‎ fresh  ‎وبدون أي لوحات تحكم   ‏كذلك يجب ايقاف ال‎ SELINUX ‎على سيرفرات المنظومة , والتأكد من فتح المنافذ المناسبة في الجدار الناري‎

الأوامر التالية سيتم تنفيذها على الثلاثة سيرفرات‎ ‎

أولا : نقوم بتنصيب الrepo ‎الخاص بمنتجات‎ Percona , ‎لنتمكن من تحميل الحزم المناسبة باستخدام ال‎ yum , ‎وذلك بتنفيذ الأمر ‏التالي على‎  :‎

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm‎

ثانيا : نقوم بتنصيب ال‎ repo ‎الخاصة بال‎ extra packages , ‎لأننا سنحتاج الى عدة حزم من متطلبات عمل ال‎ percona :‎
yum install epel-release -y

ثالثا : نقوم بتنصيب المكتبة‎ libev :‎
yum install libev -y
رابعا : نقوم بتنصيب السيرفر المستخدم والجاليرا‎ :‎
yum install Percona-XtraDB-Cluster-server Percona-XtraDB-Cluster-galera-2 -y

خامسا : نقوم بالآن بتعديل إعدادات خادم قواعد البيانات , عن طريق حذف محتويات الملف‎ /etc/my.cnf , ‎ووضع المحتوى التالي ‏بداخله ( سنقوم بشرح هذه التعديلات تاليا ) , ثم حفظ الملف‎ .‎

‎[mysqld]‎
datadir=/var/lib/mysql
user=mysql

wsrep_provider=/usr/lib64/libgalera_smm.so

wsrep_cluster_address=gcomm://172.216.0.101,172.216.0.102,172.216.0.103‎

binlog_format=ROW

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2‎

wsrep_sst_method=xtrabackup

wsrep_cluster_name=dimofinf_cluster

wsrep_sst_auth="dimofinf:sstuserpassword"‎

wsrep_node_address=172.216.0.103‎

لاحظ انه يجب عليك القيام بتغيير القيم التالية‎ :‎

wsrep_cluster_address = ‎ضع هنا مجموعة الايبيهات الخاصة بسيرفرات المنظومة
wsrep_node_address= ‎ضع هنا الاي بي الخاص بالسيرفر الذي تقوم بضبط هذا الملف عليه
wsrep_sst_auth= ‎ضع هنا اسم المستخدم وكلمة المرور الخاصة بالمستخدم الذي سيقوم بنقل السناب شوت لأي سيرفر ينضم ‏للمنظومة

سادسا : نقوم بنسخ الملف بين كل السيرفرات في المنظومة , ونقوم فقط بتعديل‎ wsrep_node_address ‎حسب كل سيرفر , بينما يتم ‏ترك بقية الخيارات متشابهة‎ .‎

سابعا : نقوم الآن بتنفيذ الأمر التالي على سيرفر واحد فقط , هذا الأمر سيقوم ببدء تشغيل المنظومة‏‎ :‎

service mysql bootstrap-pxc

يفترض أن تحصل على نتيجة كما في الصورة التالية‎ :‎

الآن , سنقوم بانشاء المستخدم المسؤول عن نقل السناب شوت من قواعد البيانات لبقية سيرفرات المنظومة , وهو في هذه الحالة , ‏وحسب ما قمنا بإضافته في ملف‎ my.cnf , ‎هو المستخدم‎ : dimofinf, ‎وكلمة المرور‎ sstuserpassword , ‎نقوم باضافته على ‏السيرفر واعطاؤه الصلاحيات اللازمة بالأوامر التالية‎ :‎

 

create user 'dimofinf'@'localhost' identified by 'sstuserpassword' ;‎
grant reload, lock tables , replication client on *.* to 'dimofinf'@'localhost' ;‎
flush privileges ;‎

ثامنا : الآن نقوم بالتأكد من حالة الكلاستر , قبل البدء في اضافة بقية السيرفرات للمنظومة , وذلك عن طريق الأمر‎ :‎
show status like 'wsrep_cluster%' ; ‎

لاحظ حجم الكلاستر كما في الصورة التالية‎ :‎

تاسعا : الآن نقوم بتشغيل بقية السيرفرات بالأمر التالي‎ :‎
service mysql start
والآن يمكن التأكد من حجم الكلاستر عن طريق تنفيذ‎ :‎
show status like 'wsrep_cluster%' ; ‎
في أيا من سيرفرات المنظومة , ستلاحظ ظهور العدد الحقيقي للسيرفرات الآن‎ ‎

بهذا نكون قد أنهينا الشرح المبسط لطريقة إعداد بيئة‎ High Availability ‎لخادم قاعدة بيانات باستخدام‎ Percona XtraDB ‎Cluster .‎

ان كان موقعك في حاجة إلى استقرار دائم أو توزيع للحمل , لا تتردد في البدء باستخدام أحد أنظمة ال‎ High Availability , ‎وان كنت ‏في حاجة الى فريق من مهندسي الأنظمة المحترفين في تخطيط وتطبيق بيئة عمل ال‎ High Availability ‎لكل الخدمات , فلا تتردد في ‏التواصل معنا من خلال فتح تذكرة  ow.ly/n8vy30b5SEd , سيسعدنا بشدة تقديم هذه الخدمة لك‎ .‎

المصدر : Hosting Support م/عمرو سمير 

بواسطة : Saleh Adel
 0  0  408

إقرا ايضا

ديموفنف ابعاد المعلومات

ارشيف

2017 (12)
2016 (110)
2015 (146)
2014 (34)
2013 (13)
2012 (6)
التعليقات ( 0 )