Run mysql on the primary storage machine.
This commit is contained in:
@@ -3,11 +3,17 @@ job "mysql-backup" {
|
||||
type = "batch"
|
||||
|
||||
periodic {
|
||||
cron = "23 23 * * * *"
|
||||
crons = ["23 23 * * * *"]
|
||||
prohibit_overlap = true
|
||||
}
|
||||
|
||||
group "db" {
|
||||
# Run on primary storage node for fast local disk access
|
||||
constraint {
|
||||
attribute = "${meta.storage_role}"
|
||||
value = "primary"
|
||||
}
|
||||
|
||||
task "backup" {
|
||||
driver = "raw_exec"
|
||||
|
||||
@@ -21,7 +27,7 @@ job "mysql-backup" {
|
||||
data = <<EOH
|
||||
set -e
|
||||
/run/current-system/sw/bin/nomad alloc exec -job -task=mysqld mysql \
|
||||
mysqldump -u root --password="$MYSQL_ROOT_PASS" --all-databases > /data/compute/appdata/db-backups/mysql/backup.sql && \
|
||||
mysqldump -u root --password="$MYSQL_ROOT_PASS" --all-databases > /data/services/db-backups/mysql/backup.sql && \
|
||||
echo "last_success $(date +%s)" | \
|
||||
/run/current-system/sw/bin/curl --data-binary @- http://pushgateway.service.consul:9091/metrics/job/mysql_backup
|
||||
EOH
|
||||
|
||||
@@ -6,6 +6,12 @@ job "mysql" {
|
||||
}
|
||||
|
||||
group "db" {
|
||||
# Run on primary storage node (zippy) for local disk performance
|
||||
constraint {
|
||||
attribute = "${meta.storage_role}"
|
||||
value = "primary"
|
||||
}
|
||||
|
||||
network {
|
||||
port "db" {
|
||||
static = 3306
|
||||
@@ -19,13 +25,9 @@ job "mysql" {
|
||||
|
||||
config {
|
||||
image = "mysql:9.4"
|
||||
args = [
|
||||
# 300M, up from default of 100M
|
||||
"--innodb-redo-log-capacity=314572800",
|
||||
]
|
||||
ports = ["db"]
|
||||
volumes = [
|
||||
"/data/compute/appdata/mysql:/var/lib/mysql",
|
||||
"/data/services/mysql:/var/lib/mysql",
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user