Configure karm as a database master
authorTom Hughes <tom@compton.nu>
Wed, 27 Jul 2016 17:37:19 +0000 (18:37 +0100)
committerTom Hughes <tom@compton.nu>
Wed, 27 Jul 2016 17:38:24 +0000 (18:38 +0100)
roles/karm.rb

index 6d2f15e..897b10d 100644 (file)
@@ -2,6 +2,12 @@ name "karm"
 description "Master role applied to karm"
 
 default_attributes(
+  :apt => {
+    :sources => ["postgresql"]
+  },
+  :db => {
+    :cluster => "9.1/main"
+  },
   :networking => {
     :interfaces => {
       :internal_ipv4 => {
@@ -13,6 +19,25 @@ default_attributes(
       }
     }
   },
+  :postgresql => {
+    :settings => {
+      :defaults => {
+        :shared_buffers => "64GB",
+        :work_mem => "64MB",
+        :maintenance_work_mem => "1GB",
+        :effective_cache_size => "180GB"
+      }
+    }
+  },
+  :sysctl => {
+    :postgres => {
+      :comment => "Increase shared memory for postgres",
+      :parameters => {
+        "kernel.shmmax" => 66 * 1024 * 1024 * 1024,
+        "kernel.shmall" => 66 * 1024 * 1024 * 1024 / 4096
+      }
+    }
+  },
   :sysfs => {
     :md_tune => {
       :comment => "Enable request merging for NVMe devices",
@@ -29,5 +54,6 @@ default_attributes(
 )
 
 run_list(
-  "role[ic]"
+  "role[ic]",
+  "role[db-master]"
 )