علی رضا سلیم زاده
علی رضا سلیم زاده
خواندن ۲ دقیقه·۵ سال پیش

راه اندازی MariaDB Galera Cluster (کلاستر دیتا بیس MySql)

در پست قبلی با راه اندازی سرور به صورت master-Master آشنا شدیم در این پست با راه اندزای یک کلاستر به ساده ترین حالت آشنا میشیم در واقع راه اندازی کلاستر برای به دست آوردن درسترس بودن بالاتر (High availability) می باشد .

قابل توجه اینکه تمام آموزش هایی که من میدم معمولاً روی CentOS 7 می باشد .
نکته بعدی اینکه اسم سرور را قبل از راه اندازی مشخص کنید و تغییر ندهید.(Hostname)

ابتدا به مسیر زیر میریم و فایلکانفیگ رو ویرایش می کنیم تا SELinux غیر فعال بشه .

vi /etc/selinux/config

قسمت های مورد نظر رو به صورت زیر تغییر بدید

SELINUX=disabled SELINUXTYPE=targeted

از طریق دستور زیر فایر وال رو غیر فعال کنید

systemctl status firewalld

سرور را ری استارت کنید و تنظمیاتی که دادید رو بررسی کنید

  • اسم سرور
hostname
  • غیر فعال بودن SELinux
sestatus
  • غیر فعال بودن فایروال
systemctl status firewalld

در این نمونه ما دوتا سرور (نود) داریم

مشخصات سرور اول :

IP=192.168.10.1 Hostname=node1

مشخصات سرور دوم:

IP=192.168.10.2 HostName=node2

روی هر دوتا سرور باید مراحل زیر رو انجام بدیم تا جایی که اعلام کنم فقط روی سرور شماره اول یا دوم


این دستور رو بزنید تا منبع MariaDb به مخزن های نصبی اضافه بشه

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

بعد دستورهای زیر بزنید تا سرویس های مورد نظر نصب بشن

yum update yum -y install MariaDB-server

خوب بعد از نصب وارد مسیر زیر بشید

/etc/my.cnf.d/server.cnf

محتویات بخش [galera] را به صورت زیر تغییر بدید

[galera] # Mandatory settings wsrep_on=ON wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_cluster_address=gcomm://192.168.10.1,192.168.10.2 binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2

خوب حالا روی سرور اول این دستور رو اجرا کنید

galera_new_cluster


بعد از اجرا باید بتونید از طریق دستور زیر به MySql متصل بشید

mysql -u root

اگر بدون مشکل وصل شدید دستور زیر را در محیط MySql اجرا کنید

show global status like 'wsrep_cluster_size';

باید خروجی زیر رو ببینید که نشان از درست بودن سیستم دارد .

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 1     |
+--------------------+-------+

حالا روی سرور دوم این دستور رو اجرا کنید تا سرویس MySql شروع به کار کنه

sudo systemctl start mariadb.service

حالا مثل سرور اول دستور زیر رو اجرا کنید

show global status like 'wsrep_cluster_size';

و خروجی اون رو بررسی کنید که باید به صورت زیر باشه

+--------------------+-------+ | Variable_name      | Value | +--------------------+-------+ | wsrep_cluster_size | 2     | +--------------------+-------+
قابل توجه اینکه این روش ساده ترین روش راه اندازی می باشد و هرکدام از بخشها دارای پیچیدگی های بسیار زیادی می باشد.
mariadbگالراگلراکلاستردیتابیس
یک شبکه کار برنامه نویس که سخت افزار هم بلده .که یکمی هم تنبل شده
شاید از این پست‌ها خوشتان بیاید