Auto-configure swap
Create a swapfile and configure it to be used for swap, immediately and on boot; defaults to half the size of RAM. See attribute for overriding configs to tune size or swappiness.
This commit is contained in:
@@ -11,3 +11,10 @@ node.default["kosmos_kvm"]["host"]["qemu_base_image"] = {
|
||||
node.default["kosmos_kvm"]["backup"]["schedule"] = "0/3:00"
|
||||
# Node/VM names excluded from backups
|
||||
node.default["kosmos_kvm"]["backup"]["nodes_excluded"] = []
|
||||
|
||||
node.default["kosmos_kvm"]["guest"]["swap"] = {
|
||||
"enabled" => true, # set to false to disable swap on a guest
|
||||
"size_mb" => nil, # nil => auto (half of RAM); integer => fixed MB; 0 => disabled
|
||||
"path" => "/swapfile",
|
||||
"swappiness" => nil # nil => leave kernel default; e.g. 10 to tune
|
||||
}
|
||||
|
||||
@@ -8,3 +8,20 @@ package %w(qemu-guest-agent)
|
||||
service "qemu-guest-agent" do
|
||||
action [:enable, :start]
|
||||
end
|
||||
|
||||
swap_cfg = node["kosmos_kvm"]["guest"]["swap"]
|
||||
|
||||
if swap_cfg["enabled"] && swap_cfg["size_mb"] != 0
|
||||
size = swap_cfg["size_mb"] ||
|
||||
(node["memory"]["total"].to_i / 2 / 1024) # kB -> MB, half RAM
|
||||
|
||||
# The resource only creates/activates the swapfile if it is not already
|
||||
# active; an existing active swapfile is left untouched (size is NOT
|
||||
# reconciled to current RAM).
|
||||
swap_file swap_cfg["path"] do
|
||||
size size
|
||||
persist true
|
||||
swappiness swap_cfg["swappiness"] if swap_cfg["swappiness"]
|
||||
action :create
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user