شركة استضافة السعودية

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

433 1 1

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

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

بالاعتماد على ثلاثة سيرفرات , وعلى نظام تشغيل‎ Centos 6.8 .‎
Server1 = db01.saudiahost.net = 172.216.0.101‎
Server2 = db02.saudiahost.net = 172.216.0.102‎
Server3 = db03.saudiahost.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=saudiahost_cluster
wsrep_sst_auth=”saudiahost: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 , ‎هو المستخدم‎ : saudiahost, ‎وكلمة المرور‎ 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%’ ; ‎
لاحظ حجم الكلاستر كما في الصورة التالية‎ :‎
image
تاسعا : الآن نقوم بتشغيل بقية السيرفرات بالأمر التالي‎ :‎
service mysql start
والآن يمكن التأكد من حجم الكلاستر عن طريق تنفيذ‎ :‎
show status like ‘wsrep_cluster%’ ; ‎
في أيا من سيرفرات المنظومة , ستلاحظ ظهور العدد الحقيقي للسيرفرات الآن‎ ‎
image
بهذا نكون قد أنهينا الشرح المبسط لطريقة إعداد بيئة‎ High Availability ‎لخادم قاعدة بيانات باستخدام‎ Percona XtraDB ‎Cluster .‎
ان كان موقعك في حاجة إلى استقرار دائم أو توزيع للحمل , لا تتردد في البدء باستخدام أحد أنظمة ال‎ High Availability , ‎وان كنت ‏في حاجة الى فريق من مهندسي الأنظمة المحترفين في تخطيط وتطبيق بيئة عمل ال‎ High Availability ‎لكل الخدمات , فلا تتردد في ‏التواصل معنا من خلال فتح تذكرة  ow.ly/n8vy30b5SEd , سيسعدنا بشدة تقديم هذه الخدمة لك‎ .

اتصل بنا واتس آب