From 6bf827ca13ad2d032b04c9ea52cd38c3226e5ad3 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Fri, 1 Sep 2023 15:42:29 -0400 Subject: [PATCH] Adjust readme texts --- group_vars/default/README.md | 2 ++ group_vars/default/pvc.yml | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/group_vars/default/README.md b/group_vars/default/README.md index 6db93e4..af1312d 100644 --- a/group_vars/default/README.md +++ b/group_vars/default/README.md @@ -1,5 +1,7 @@ # PVC Ansible `group_vars` +Use this "default" set of variables as a template for your own clusters. + 1. There should always be at least two (2) files here, with an optional third (3rd): * `base.yml`: Specifies basic cluster information. diff --git a/group_vars/default/pvc.yml b/group_vars/default/pvc.yml index 5da3fc0..dce1d0c 100644 --- a/group_vars/default/pvc.yml +++ b/group_vars/default/pvc.yml @@ -150,8 +150,9 @@ pvc_sriov_enable: False #pvc_zookeeper_stack_limit: 256M # 1/4 of default # CPU tuning -# > ADVANCED TUNING: For most users, this is unnecessary and PVC will run fine with the default CPU -# allocations. Adjust these options only for clusters where CPU optimization is needed. +# > ADVANCED TUNING: These options are strongly recommended due to the performance gains possible, but +# most users would be able to use the default without too much issue. Read the following notes +# carefully to determine if this setting should be enabled in your cluster. # > Defines CPU tuning/affinity options for various subsystems within PVC. This is useful to # help limit the impact that noisy elements may have on other elements, e.g. busy VMs on # OSDs, or system processes on latency-sensitive VMs. @@ -165,8 +166,8 @@ pvc_sriov_enable: False # A third count, for the VM CPUs, is autogenerated based on the total node CPU count and # the above two values (using all remaining CPUs). # > Tuning is done based on cores; for systems with SMT (>1 thread-per-core), all SMTs within -# a given core are also assigned to the same CPU set. So for example, if the system assigns -# 2 system_cpus, there are 16 cores, and there are 2 threads per core, the list will be: +# a given core are also assigned to the same CPU set. So for example, if the "system" group is +# assigned 2 system_cpus, there are 16 cores, and there are 2 threads per core, the list will be: # 0,1,16,17 # leveraging the assumption that Linux puts all cores before all threads. # > This tuning section under "nodes" is global to the cluster; to override these values on @@ -174,11 +175,16 @@ pvc_sriov_enable: False # as shown below. # > If disabled after being enabled, the tuning configurations on each node will be removed # on the next run. A reboot of all nodes is required to fully disable the tuning. +# > IMPORTANT NOTE: Enabling CPU tuning requires a decent number of CPU cores on the system. For very +# low-spec systems (i.e. less than at least 12 cores per node), it is advisable to leave this tuning +# off, as otherwise very few cores will actually be allocated to VMs. With a larger number (>16 or so), +# this tuning is likely to greatly increase storage performance, though balance between the VM workload +# and total number of cores must be carefully considered. cpu_tuning: - enabled: no + enabled: no # Disable or enable CPU tuning; recommended to enable for optimal storage performance nodes: system_cpus: 2 # Set based on your actual system configuration (min 2, increase on coordinators if many nodes) - osd_cpus: 2 # Set based on your actual number of OSDs + osd_cpus: 2 # Set based on your actual number of OSDs (for optimal performance, 2 per OSD) # Configuration file networks # > Taken from base.yml's configuration; DO NOT MODIFY THIS SECTION.