install maxscale sebagai loadbalancer pada ubuntu 16 dan 18
install maxscale
berikut kami jelaskan sedikit tentang maxscale, maxscale adalah loadbalancer database produksi mariadb (hahhaha segitu aja ya).
mari samakan persepsi servernya
dalam tulisan kami ini, kita buat 4 server, 3 database dan 1 maxscale
db1 10.3.241.63
db2 10.3.241.62
db3 10.3.241.54
lb01 10.3.241.57
ikuti langkah-langkah sebagai berikut
1. Download repo nya mariadb dan install
2. Buat user maxscale_usr di database
# tentukan base foldernya dengan perintah berikut ini
4. Buat Configurasi maxscle yang basic simple seperti berikut
#buat maxscale.cnf baru yang lama di backup
5. buat service monitor maxscale
1. maxscale_user , adalah user yang kita buat di database
2. password, adalah password yang kita buat/encrypt dengan maxpasswd
3. 1000, adalah interval monitoring dalam satuan miliseconds
6. buat listener, dengan perintah berikut ini
1. 0.0.0.0, adalah bind address server yang dapat mengakses maxscale
2. 6003 adalah port yang akan dibuka untuk akses msql / database
7. masukkan server dan port database
1. 3306 adalah port yang dibuka untuk akses database secara langsung
8. masukan service split untuk menentukan akses maxscale
10. tambahkan filter di file /var/lib/maxscale/maxscale.cnf.d/rwsplit-service.cnf
### sampai sini configurasi maxscale sudah selesai, cek confignya dengan
cek statusnya
Master = adalah node yang digunakan untuk proses write
Slave = adalah node yang digunakan untuk proses read
Tips.
untuk mengoptimalkan write/read gunakan perintah weight pada configurasi maxscale. baca-baca disini
1. buka file
selesai, sampai tahap ini maxscale sudah dapat digunakan, liat blog kami lainnya untuk setup database mysql menjadi cluster dengan galera disini
thanks
YAP
berikut kami jelaskan sedikit tentang maxscale, maxscale adalah loadbalancer database produksi mariadb (hahhaha segitu aja ya).
mari samakan persepsi servernya
dalam tulisan kami ini, kita buat 4 server, 3 database dan 1 maxscale
db1 10.3.241.63
db2 10.3.241.62
db3 10.3.241.54
lb01 10.3.241.57
ikuti langkah-langkah sebagai berikut
1. Download repo nya mariadb dan install
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bashapt-get install maxscale
2. Buat user maxscale_usr di database
3. Buat Security password yang ter enkripsi, dengan perintah berikut inicreate user 'maxscale_usr'@'%' identified by '123456';grant SELECT on mysql.user to 'maxscale_usr'@'%';GRANT SELECT ON mysql.db TO 'maxscale_usr'@'%';GRANT SELECT ON mysql.tables_priv TO 'maxscale_usr'@'%';GRANT SHOW DATABASES ON *.* TO 'maxscale_usr'@'%';GRANT SELECT ON mysql.roles_mapping TO 'maxscale_usr'@'%';grant REPLICATION CLIENT on *.* to 'maxscale_usr'@'%';
# tentukan base foldernya dengan perintah berikut ini
# buat password maxscalemaxkeys /var/lib/maxscale/
#change owner nyamaxpasswd your_passwordC5E5056B10F1C6D83EACEE213753D8DA . <-- hasilnya
chown maxscale.maxscale /var/lin/maxscale/.secret
4. Buat Configurasi maxscle yang basic simple seperti berikut
#buat maxscale.cnf baru yang lama di backup
#isi maxscale.cnf baru[maxscale]threads=auto[rwsplit-service]type=servicerouter=readwritesplituser=maxscalepasswd=C5E5056B10F1C6D83EACEE213753D8DA <-contoh hasil eksekusi maxpassword[CLI]type=servicerouter=cli[CLI Listener]type=listenerservice=CLIprotocol=maxscaledsocket=default
5. buat service monitor maxscale
keterangan:maxadmin create monitor galera-monitor galeramonmaxadmin alter monitor galera-monitor user=maxscale_usr password=C5E5056B10F1C6D83EACEE213753D8DA monitor_interval=1000maxadmin restart monitor galera-monitor
1. maxscale_user , adalah user yang kita buat di database
2. password, adalah password yang kita buat/encrypt dengan maxpasswd
3. 1000, adalah interval monitoring dalam satuan miliseconds
6. buat listener, dengan perintah berikut ini
keterangan:maxadmin create listener rwsplit-service rwsplit-listener 0.0.0.0 6003
1. 0.0.0.0, adalah bind address server yang dapat mengakses maxscale
2. 6003 adalah port yang akan dibuka untuk akses msql / database
7. masukkan server dan port database
Keterangan:maxadmin create server db1 10.3.241.54 3306maxadmin create server db2 10.3.241.62 3306maxadmin create server db3 10.3.241.63 3306
1. 3306 adalah port yang dibuka untuk akses database secara langsung
8. masukan service split untuk menentukan akses maxscale
9. buat cache buat baru file ini /var/lib/maxscale/maxscale.cnf.d/maxcached.cnfmaxadmin add server db1 galera-monitor rwsplit-servicemaxadmin add server db2 galera-monitor rwsplit-servicemaxadmin add server db3 galera-monitor rwsplit-service
[maxcache]
type=filter
module=cache
storage=storage_inmemory
soft_ttl=180
hard_ttl=180
max_resultset_rows=0
max_count=0
max_size=100M
max_resultset_size=128M
cached_data=shared
selects=assume_cacheable
10. tambahkan filter di file /var/lib/maxscale/maxscale.cnf.d/rwsplit-service.cnf
filters=maxcache
### sampai sini configurasi maxscale sudah selesai, cek confignya dengan
systemctl start maxscale
cek statusnya
keterangan: status nya harus menyatakan Master/Slave, Synced, dan Runningmaxadmin list servers-------------------+-----------------+-------+-------------+--------------------
Server | Address | Port | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
db1 | 10.3.241.54 | 3306 | 0 | Master, Synced, Running
db3 | 10.3.241.63 | 3306 | 0 | Slave, Synced, Running
db2 | 10.3.241.62 | 3306 | 0 | Slave, Synced, Running
-------------------+-----------------+-------+-------------+--------------------
Master = adalah node yang digunakan untuk proses write
Slave = adalah node yang digunakan untuk proses read
Tips.
untuk mengoptimalkan write/read gunakan perintah weight pada configurasi maxscale. baca-baca disini
1. buka file
vim var/lib/maxscale/maxscale.cnf.d/db1.cnf
[db1]
type=server
address=10.3.241.63
protocol=mariadbbackend
port=3306
extra_port=0
persistpoolmax=0
persistmaxtime=0
proxy_protocol=false
ssl=false
ssl_version=MAX
ssl_cert_verify_depth=9
ssl_verify_peer_certificate=true
rank=primary
srv_weight=20 #<==tambahkan weight
vim var/lib/maxscale/maxscale.cnf.d/db1.cnf
[db2]
type=server
address=10.3.241.62
protocol=mariadbbackend
port=3306
extra_port=0
persistpoolmax=0
persistmaxtime=0
proxy_protocol=false
ssl=false
ssl_version=MAX
ssl_cert_verify_depth=9
ssl_verify_peer_certificate=true
rank=primary
srv_weight=40 #<==tambahkan weight
vim var/lib/maxscale/maxscale.cnf.d/db1.cnf
[db3]
type=server
address=10.3.241.57
protocol=mariadbbackend
port=3306
extra_port=0
persistpoolmax=0
persistmaxtime=0
proxy_protocol=false
ssl=false
ssl_version=MAX
ssl_cert_verify_depth=9
ssl_verify_peer_certificate=true
rank=primary
srv_weight=40 #<==tambahkan weight
selesai, sampai tahap ini maxscale sudah dapat digunakan, liat blog kami lainnya untuk setup database mysql menjadi cluster dengan galera disini
thanks
YAP
terkait langkah ke 2, create user nya di masternya kah atau server maxscale
ReplyDelete