database: migrate galera config to a full template
This commit is contained in:
parent
559407cc05
commit
22e0fd4d4b
@ -59,6 +59,9 @@ class privatecloud::database::sql (
|
|||||||
'Debian': {
|
'Debian': {
|
||||||
$package_name = 'mariadb-galera-server'
|
$package_name = 'mariadb-galera-server'
|
||||||
}
|
}
|
||||||
|
default: {
|
||||||
|
err "${::osfamily} not supported yet"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class { 'mysql::server':
|
class { 'mysql::server':
|
||||||
@ -184,74 +187,7 @@ basedir = /usr
|
|||||||
mysql::server::config{'basic_config':
|
mysql::server::config{'basic_config':
|
||||||
notify_service => false,
|
notify_service => false,
|
||||||
notify => Exec['clean-mysql-binlog'],
|
notify => Exec['clean-mysql-binlog'],
|
||||||
settings => inline_template('
|
settings => template('privatecloud/database/mysql.conf.erb'),
|
||||||
[mysqld]
|
|
||||||
max_connections = 1000
|
|
||||||
connect_timeout = 5
|
|
||||||
wait_timeout = 600
|
|
||||||
max_allowed_packet = 64M
|
|
||||||
thread_cache_size = 128
|
|
||||||
sort_buffer_size = 4M
|
|
||||||
bulk_insert_buffer_size = 16M
|
|
||||||
tmp_table_size = 128M
|
|
||||||
max_heap_table_size = 128M
|
|
||||||
query_cache_limit = 1M
|
|
||||||
query_cache_size = 16M
|
|
||||||
myisam_recover = BACKUP
|
|
||||||
key_buffer_size = 16M
|
|
||||||
open-files-limit = 65535
|
|
||||||
table_open_cache = 500
|
|
||||||
table_definition_cache = 500
|
|
||||||
myisam_sort_buffer_size = 512M
|
|
||||||
concurrent_insert = 2
|
|
||||||
read_buffer_size = 2M
|
|
||||||
read_rnd_buffer_size = 1M
|
|
||||||
slow_query_log = 1
|
|
||||||
slow_query_log_file = /var/log/mysql/slow.log
|
|
||||||
log_error = /var/log/mysql/error.log
|
|
||||||
long_query_time = 1
|
|
||||||
log_slow_verbosity = query_plan
|
|
||||||
innodb_buffer_pool_size = 64M
|
|
||||||
innodb_flush_log_at_trx_commit = 1
|
|
||||||
innodb_lock_wait_timeout = 50
|
|
||||||
innodb_thread_concurrency = 48
|
|
||||||
innodb_file_per_table = 1
|
|
||||||
innodb_open_files = 65535
|
|
||||||
innodb_io_capacity = 1000
|
|
||||||
innodb_file_format = Barracuda
|
|
||||||
innodb_file_format_max = Barracuda
|
|
||||||
innodb_max_dirty_pages_pct = 50
|
|
||||||
binlog_format = ROW
|
|
||||||
innodb_autoinc_lock_mode = 2
|
|
||||||
innodb_locks_unsafe_for_binlog = 1
|
|
||||||
wsrep_provider = /usr/lib/galera/libgalera_smm.so
|
|
||||||
wsrep_cluster_name = "galera_cluster"
|
|
||||||
<%- if hostname != galera_master -%>
|
|
||||||
# This node is Galera Master
|
|
||||||
wsrep_cluster_address = "gcomm://<%= @galera_nextserver[@galera_master] %>"
|
|
||||||
<%- else -%>
|
|
||||||
# This node is not Galera Master
|
|
||||||
wsrep_cluster_address = "gcomm://"
|
|
||||||
<%- end -%>
|
|
||||||
wsrep_sst_auth = root:<%= scope.lookupvar("$mysql_password") %>
|
|
||||||
wsrep_certify_nonPK = 1
|
|
||||||
wsrep_convert_LOCK_to_trx = 0
|
|
||||||
wsrep_auto_increment_control = 1
|
|
||||||
wsrep_drupal_282555_workaround = 0
|
|
||||||
wsrep_causal_reads = 0
|
|
||||||
wsrep_sst_method = rsync
|
|
||||||
wsrep_node_address = "<%= @api_eth %>"
|
|
||||||
wsrep_node_incoming_address = "<%= @api_eth %>"
|
|
||||||
# this value here are used by /usr/bin/innobackupex
|
|
||||||
# and wsrep_sst_xtrabackup take only one configuration file and use the last one
|
|
||||||
# (/etc/mysql/my.cnf is not used)
|
|
||||||
datadir = /var/lib/mysql
|
|
||||||
tmpdir = /tmp
|
|
||||||
innodb_flush_method = O_DIRECT
|
|
||||||
innodb_log_buffer_size = 32M
|
|
||||||
innodb_log_file_size = 256M
|
|
||||||
innodb_log_files_in_group = 2
|
|
||||||
'),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
exec{'clean-mysql-binlog':
|
exec{'clean-mysql-binlog':
|
||||||
|
@ -63,7 +63,7 @@ describe 'privatecloud::database::sql' do
|
|||||||
should contain_class('mysql::server').with(
|
should contain_class('mysql::server').with(
|
||||||
:package_name => platform_params[:package_name],
|
:package_name => platform_params[:package_name],
|
||||||
:service_name => 'mysql',
|
:service_name => 'mysql',
|
||||||
:config_hash => { :bind_address => '10.0.0.1', :root_password => 'secrete' },
|
:config_hash => { 'bind_address' => '10.0.0.1', 'root_password' => 'secrete' },
|
||||||
:notify => 'Service[xinetd]'
|
:notify => 'Service[xinetd]'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
69
templates/database/mysql.conf.erb
Normal file
69
templates/database/mysql.conf.erb
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# MANAGED BY PUPPET
|
||||||
|
# Module:: privatecloud::database::sql
|
||||||
|
#
|
||||||
|
[mysqld]
|
||||||
|
max_connections = 1000
|
||||||
|
connect_timeout = 5
|
||||||
|
wait_timeout = 600
|
||||||
|
max_allowed_packet = 64M
|
||||||
|
thread_cache_size = 128
|
||||||
|
sort_buffer_size = 4M
|
||||||
|
bulk_insert_buffer_size = 16M
|
||||||
|
tmp_table_size = 128M
|
||||||
|
max_heap_table_size = 128M
|
||||||
|
query_cache_limit = 1M
|
||||||
|
query_cache_size = 16M
|
||||||
|
myisam_recover = BACKUP
|
||||||
|
key_buffer_size = 16M
|
||||||
|
open-files-limit = 65535
|
||||||
|
table_open_cache = 500
|
||||||
|
table_definition_cache = 500
|
||||||
|
myisam_sort_buffer_size = 512M
|
||||||
|
concurrent_insert = 2
|
||||||
|
read_buffer_size = 2M
|
||||||
|
read_rnd_buffer_size = 1M
|
||||||
|
slow_query_log = 1
|
||||||
|
slow_query_log_file = /var/log/mysql/slow.log
|
||||||
|
log_error = /var/log/mysql/error.log
|
||||||
|
long_query_time = 1
|
||||||
|
log_slow_verbosity = query_plan
|
||||||
|
innodb_buffer_pool_size = 64M
|
||||||
|
innodb_flush_log_at_trx_commit = 1
|
||||||
|
innodb_lock_wait_timeout = 50
|
||||||
|
innodb_thread_concurrency = 48
|
||||||
|
innodb_file_per_table = 1
|
||||||
|
innodb_open_files = 65535
|
||||||
|
innodb_io_capacity = 1000
|
||||||
|
innodb_file_format = Barracuda
|
||||||
|
innodb_file_format_max = Barracuda
|
||||||
|
innodb_max_dirty_pages_pct = 50
|
||||||
|
binlog_format = ROW
|
||||||
|
innodb_autoinc_lock_mode = 2
|
||||||
|
innodb_locks_unsafe_for_binlog = 1
|
||||||
|
wsrep_provider = /usr/lib/galera/libgalera_smm.so
|
||||||
|
wsrep_cluster_name = "galera_cluster"
|
||||||
|
<% if @hostname != @galera_master -%>
|
||||||
|
# This node is not Galera Master (connect wsrep to galera_master)
|
||||||
|
wsrep_cluster_address = "gcomm://<%= @galera_nextserver[0] %>"
|
||||||
|
<% else -%>
|
||||||
|
# This node is Galera Master (connect wsrep to localhost)
|
||||||
|
wsrep_cluster_address = "gcomm://"
|
||||||
|
<% end -%>
|
||||||
|
wsrep_sst_auth = root:<%= @mysql_password %>
|
||||||
|
wsrep_certify_nonPK = 1
|
||||||
|
wsrep_convert_LOCK_to_trx = 0
|
||||||
|
wsrep_auto_increment_control = 1
|
||||||
|
wsrep_drupal_282555_workaround = 0
|
||||||
|
wsrep_causal_reads = 0
|
||||||
|
wsrep_sst_method = rsync
|
||||||
|
wsrep_node_address = "<%= @api_eth %>"
|
||||||
|
wsrep_node_incoming_address = "<%= @api_eth %>"
|
||||||
|
# this value here are used by /usr/bin/innobackupex
|
||||||
|
# and wsrep_sst_xtrabackup take only one configuration file and use the last one
|
||||||
|
# (/etc/mysql/my.cnf is not used)
|
||||||
|
datadir = /var/lib/mysql
|
||||||
|
tmpdir = /tmp
|
||||||
|
innodb_flush_method = O_DIRECT
|
||||||
|
innodb_log_buffer_size = 32M
|
||||||
|
innodb_log_file_size = 256M
|
||||||
|
innodb_log_files_in_group = 2
|
Loading…
x
Reference in New Issue
Block a user