در پست قبلی با راه اندازی سرور به صورت master-Master آشنا شدیم در این پست با راه اندزای یک کلاستر به ساده ترین حالت آشنا میشیم در واقع راه اندازی کلاستر برای به دست آوردن درسترس بودن بالاتر (High availability) می باشد .
قابل توجه اینکه تمام آموزش هایی که من میدم معمولاً روی CentOS 7 می باشد .
نکته بعدی اینکه اسم سرور را قبل از راه اندازی مشخص کنید و تغییر ندهید.(Hostname)
ابتدا به مسیر زیر میریم و فایلکانفیگ رو ویرایش می کنیم تا SELinux غیر فعال بشه .
vi /etc/selinux/config
قسمت های مورد نظر رو به صورت زیر تغییر بدید
SELINUX=disabled SELINUXTYPE=targeted
از طریق دستور زیر فایر وال رو غیر فعال کنید
systemctl status firewalld
سرور را ری استارت کنید و تنظمیاتی که دادید رو بررسی کنید
hostname
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 | +--------------------+-------+
قابل توجه اینکه این روش ساده ترین روش راه اندازی می باشد و هرکدام از بخشها دارای پیچیدگی های بسیار زیادی می باشد.