Akosiaris has submitted this change and it was merged.
Change subject: helium backup director/storage server
..
helium backup director/storage server
Change-Id: I6db35aa15cb800b4dc917a60099baacff486e7a3
---
M manifests/role/backup.pp
M manifests/site.pp
2 files changed, 61 insertions(+), 12 deletions(-)
Approvals:
Akosiaris: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/role/backup.pp b/manifests/role/backup.pp
index b881de4..f032d8e 100644
--- a/manifests/role/backup.pp
+++ b/manifests/role/backup.pp
@@ -1,10 +1,13 @@
# A set of roles for the backup director, storage and client as they are
# configured in WMF
-$director = "FILLMEIN"
+class role::backup::config {
+$director = 'helium.eqiad.wmnet'
+$database = 'db1001.eqiad.wmnet'
+}
class role::backup::director {
-system_role { "role::backup::director": description => "Primary Backup
server" }
+system_role { 'role::backup::director': description => 'Backup server' }
class { 'bacula::director':
sqlvariant => 'mysql',
@@ -12,9 +15,9 @@
}
# One pool for all
-bacula::director::pool { 'WMF':
+bacula::director::pool { 'production':
max_vols => 30,
-storage => 'WMFFiles',
+storage => 'FileStorage1',
volume_retention => '180 days',
}
@@ -24,7 +27,15 @@
$days = ['Sat', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri']
backup::schedule { $days:
-pool=> 'WMF',
+pool=> 'production',
+}
+
+bacula::director::catalog { 'production':
+dbname => 'bacula',
+dbuser => 'bacula',
+dbhost => $bacula::config::database,
+dbport => '3306',
+dbpassword => $passwords::bacula::database
}
# This has been taken straight from old files/backup/disklist-*
@@ -83,25 +94,61 @@
includes => [ '/var/vmail' ]
}
-# The console should be on the director
+# The console should be on the director
bacula::console { 'bconsole':
director => $::fqdn,
}
}
class role::backup::storage() {
-system_role { "role::backup::storage": description => "Storage backup
server" }
+system_role { 'role::backup::storage': description => 'Backup Storage' }
+
+include nfs::netapp::common
class { 'bacula::storage':
-director=> $director,
+director=> $role::backup::config::director,
sd_max_concur_jobs => 5,
sqlvariant => 'mysql',
}
-
-bacula::storage::device { 'FileStorage':
+
+# We have two storage devices to overcome any limitations from backend
+# infrastructure (e.g. Netapp used to have only < 16T volumes)
+file { ['/srv/bacula-sd1',
+'/srv/bacula-sd2' ]:
+ensure => directory,
+owner => 'bacula',
+group => 'bacula',
+mode=> '0660',
+require => Class['bacula::storage'],
+}
+
+mount { '/srv/bacula-sd1' :
+ensure => mounted,
+device => "${nfs::netapp::common::device}:/vol/bacula-sd1",
+fstype => 'nfs',
+options => "${nfs::netapp::common::options},rw",
+require => File['/srv/bacula-sd1'],
+}
+
+mount { '/srv/bacula-sd2' :
+ensure => mounted,
+device => "${nfs::netapp::common::device}:/vol/bacula-sd2",
+fstype => 'nfs',
+options => "${nfs::netapp::common::options},rw",
+require => File['/srv/bacula-sd2'],
+}
+
+bacula::storage::device { 'FileStorage1':
device_type => 'File',
media_type => 'File',
-archive_device => '/srv/backups',
+archive_device => '/srv/bacula-sd1',
+max_concur_jobs => 2,
+}
+
+bacula::storage::device { 'FileStorage2':
+device_type => 'File',
+media_type => 'File',
+archive_device => '/srv/bacula-sd2',
max_concur_jobs => 2,
}
}
diff --git a/manifests/site.pp b/manifests/site.pp
index a0487ff..aa82d79 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -1037,7 +1037,9 @@
node "helium.eqiad.wmnet" {
include standard,
-role::poolcounter
+role::poolcounter,
+role::backup::director,
+role::backup::storage
}
node "holmium.wikimedia.org" {
--
To view, visit https://gerrit.wikimedia.org/r/79334
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6db35aa15cb800b4dc917a60099baacff486e7a3
Gerrit-PatchSet: 3
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Akosiaris
Gerrit-Reviewer: Akosiaris
Gerrit-Reviewer: jenkins-bot
___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits