Compare commits

...

4 commits

Author SHA1 Message Date
mwiegand
4530a34175 home.server more cores 2022-06-23 02:13:47 +02:00
mwiegand
b8100f472b zfs zfs_arc_max 2022-06-23 02:13:06 +02:00
mwiegand
9b104cac25 php pm more procasses 2022-06-23 02:12:33 +02:00
mwiegand
7243ad9e9b storage classes 2022-06-23 02:12:11 +02:00
5 changed files with 52 additions and 13 deletions

View file

@ -141,10 +141,10 @@ def www_conf(metadata):
'listen.owner': 'www-data',
'listen.group': 'www-data',
'pm': 'dynamic',
'pm.max_children': '30',
'pm.start_servers': '10',
'pm.min_spare_servers': '5',
'pm.max_spare_servers': '10',
'pm.max_children': '32',
'pm.start_servers': '16',
'pm.min_spare_servers': '8',
'pm.max_spare_servers': '16',
'pm.max_requests': '500',
},
},

View file

@ -6,7 +6,7 @@ directories = {
'group': 'postgres',
'needs': [
'pkg_apt:postgresql',
'zfs_dataset:tank/postgresql',
f"zfs_dataset:{node.metadata.get('zfs/storage_classes/ssd')}/postgresql",
],
'needed_by': [
'svc_systemd:postgresql',

View file

@ -1,3 +1,6 @@
from importlib.metadata import metadata
root_password = repo.vault.password_for(f'{node.name} postgresql root')
defaults = {
@ -23,13 +26,22 @@ defaults = {
'grafana_rows': set(),
}
if node.has_bundle('zfs'):
defaults['zfs'] = {
'datasets': {
'tank/postgresql': {
'mountpoint': '/var/lib/postgresql',
'recordsize': '8192',
'atime': 'off',
@metadata_reactor.provides(
'zfs/datasets',
)
def zfs(metadata):
if not node.has_bundle('zfs'):
return {}
return {
'zfs': {
'datasets': {
f"{metadata.get('zfs/storage_classes/ssd')}/postgresql": {
'mountpoint': '/var/lib/postgresql',
'recordsize': '8192',
'atime': 'off',
},
},
},
}

View file

@ -78,9 +78,13 @@ defaults = {
'datasets': {},
'pools': {},
'kernel_params': {},
'storage_classes': {
'ssd': 'tank',
},
},
}
@metadata_reactor.provides(
'zfs/datasets'
)
@ -132,3 +136,23 @@ def headers(metadata):
},
},
}
@metadata_reactor.provides(
'zfs/kernel_params/zfs_arc_max',
)
def arc_size(metadata):
arc_percent = metadata.get('zfs/zfs_arc_max_percent', None)
if arc_percent:
return {
'zfs': {
'kernel_params': {
'zfs_arc_max': str(int(
metadata.get('vm/ram') * 1024 * 1024 * (arc_percent/100)
)),
},
},
}
else:
return {}

View file

@ -119,7 +119,7 @@
},
},
'vm': {
'cores': 2,
'cores': 16,
'ram': 32384,
},
'wireguard': {
@ -136,6 +136,9 @@
},
'zfs': {
'zfs_arc_max_percent': 75,
'storage_classes': {
'ssd': 'ssd',
},
'pools': {
'tank': {
'type': 'mirror',