Skip to content

Conversation

@jrmoserbaltimore
Copy link

Was a bit over-zealous before. First time working on an open source project, sent a pull request before it was ready.

I was going to request a pull to development, but your development branch looks like it needs a sync to your master branch badly.

This works well now. Sample configuration below.

node /^db-\d+\.example\.com$/ {
  $svr_idx = regsubst($fqdn, '^db-(\d+)\.example\.com', '\1')

  # Install the cluster database server
  # Just YAML this and use hiera
  class { 'percona':
    server => 'true',
    cluster => 'true',
    cluster_index => $svr_idx,
    cluster_name => 'db-cluster',
    cluster_node_name => $hostname,
    cluster_address => $svr_idx ? {
      1 => 'gcomm://',
      default => 'gcomm://db-1.example.com',
    },
    cluster_replication_user => 'cluster',
    cluster_replication_password => 'cluster_password',
    targetdir => '/var/lib/mysql/backup',
# Set as below to install Percona-XtraDB-Cluster-common
# Otherwise leave undef, or you can't install redhat-lsb
#    pkg_compat => false,
    manage_repo  => 'true',
# Required.  If /etc/my.cnf is root:root, xtrabackup fails
# as it tries to reread the file as user mysql
    config_user  => 'mysql',
    config_group  => 'mysql',
# Do this if /var/lib/mysql is a mount point
    datadir => '/var/lib/mysql/db/',
    configuration => {
# Query cache is currently disabled with wsrep
#      'mysqld/query_cache_size' => '16M',
#      'mysqld/query_cache_limit' => '8M',
#      'mysqld/query_cache_type' => '1',
      'mysqld/max_connections' => '536',
      'mysqld/interactive_timeout' => '300',
      'mysqld/wait_timeout' => '300',
      'mysqld/connect_timeout' => '10',
      'mysqld/thread_cache_size' => '512',
      'mysqld/expire_logs_days' => '30',
      'mysqld/max_binlog_size' => '256M',
      'mysqld/table_cache' => '1024',
#      'mysqld/table_open_cache' => '512',
      'mysqld/table_definition_cache' => '1024',
      'mysqld/auto_increment_offset' => $svr_idx,
# Should be at least 2x the number of cores,
# or 1/4 the number of writing client connections
# the other nodes have
# Set to 1 if you have ANY tables without primary keys!
# Tables without primary keys make MySQL slow, so fix that...
      'mysqld/wsrep_slave_threads' => '1',
# This attempts to retry the commit 4 times if there's a deadlock
      'mysqld/wsrep_retry_autocommit' => '4',
    },
  }

  file { '/var/lib/mysql/backup':
    ensure => directory,
    mode => 'ug+rwX,o=r,o-x',
    owner => 'mysql',
    group => 'mysql',
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant