Settings¶
New in the next release
This is on the dev and qa builds now, and in the next release.
Capacity planning works with no settings at all. Change these when your rules differ from the defaults.
Settings can be made in two places:
- Settings → Capacity planning, for admins, with a license and the
settings store (
SETTINGS_KEY). Saving re-works every forecast at once, and is in the audit log. - The stack, as variables. Anything set in the stack shows locked on Settings, so each setting has one source.
Thresholds¶
The share of usable capacity each forecast is for.
| Resource | Default | Notes |
|---|---|---|
cpu |
80% | Clusters and hosts |
mem |
80% | Clusters and hosts |
disk |
85% | Datastores, backup stores, volumes |
pool |
85% | Ceph and other replicated storage: Ceph's own nearfull |
alloc_cpu |
100% | Of cores × the vCPU ratio |
alloc_mem |
100% | Of host memory × the memory ratio |
alloc_disk |
100% | Of capacity × the provisioning ratio |
On Settings, the Everything line sets defaults, and a line per cluster, datastore or pool overrides them. A blank keeps the value from the line above. Each must be 10% to 100%.
Which wins, for one resource of one thing:
- a value set for that cluster, datastore or pool on Settings;
CAPACITY_THRESHOLDS, where it differs from the built-in default;- the Everything line on Settings;
- the built-in default above.
Spare hosts (N+1)¶
How many hosts a cluster keeps spare, 0 to 4. With one, usable CPU and
memory are the cluster less its largest host, and the forecast dates when it
can no longer absorb a host failure. Set it per cluster on Settings, or with
CAPACITY_HA, which wins. See forecasts.
Allocation ratios¶
CAPACITY_RATIOS, in the stack only:
| Ratio | Default | Means |
|---|---|---|
vcpu |
4 | vCPUs allowed per physical core |
vmem |
1 | VM memory per byte of host memory (above 1 is overcommit) |
disk |
1.5 | Provisioned disk per byte of datastore capacity (thin provisioning) |
The VM size¶
CAPACITY_VM_SIZE is the VM that How many more fit counts in
(4 vCPU, 16 GB, 100 GB unless set). Anyone can change it on the tab for a
look without saving.
Monthly summary¶
On Settings → Capacity planning → Monthly summary:
| Field | Variable | What it does |
|---|---|---|
| Send to | CAPACITY_SUMMARY_TO |
Who gets it on the 1st, comma-separated. Its own list, not the alert email list |
| Prepared by | CAPACITY_SUMMARY_BY |
A name on the summary, such as your company's |
| What to buy plans in a host of n cores and n GB | CAPACITY_HOST |
The host "What to buy" adds. Blank: each cluster's largest |
Email last month's now sends one at once: a good way to check it
arrives. It needs the mail server set up for alerts (SMTP_HOST,
SMTP_FROM). See Reports.
Racks¶
On Settings → Capacity planning → Racks, for the rack check. One line a rack:
| Field | What it's for |
|---|---|
| Rack | Its name, such as R1 |
| Free U | Rack units free now, 0 to 60 |
| Host U | How many units a new host takes, 0 to 12. 0 is "don't know", and the check says so |
| Holds | The hosts and switches in it, comma-separated, by the names Ferrule shows. A host is matched by its full name or the part before the first dot |
| Fed by | The UPS that feeds it, from the UPSes Ferrule reads |
Save racks saves them all, checked as a whole: two racks of one name, or numbers outside the ranges, are refused with the reason and nothing changes. When NetBox is connected, its racks are used for rack units instead; the UPS still comes from here.
Racks and reserved ports are kept in the settings store, so they're in its export and survive updates.
Every variable¶
All are optional. In the variable reference they're under Capacity.
| Variable | Default | Format |
|---|---|---|
CAPACITY_THRESHOLDS |
cpu=80,mem=80,disk=85,pool=85 |
resource=percent, comma-separated. Also alloc_cpu, alloc_mem, alloc_disk |
CAPACITY_RUNWAY |
warn=90,bad=30 |
Days left at which a forecast warns, and goes critical |
CAPACITY_RATIOS |
vcpu=4,vmem=1,disk=1.5 |
See Allocation ratios |
CAPACITY_VM_SIZE |
vcpu=4,mem=16,disk=100 |
Memory and disk in GB |
CAPACITY_HA |
empty | cluster=hosts, such as Prod=1,lab=0. Use source/cluster=1, such as vcsa/Prod=1, where two sources have a cluster of the same name |
CAPACITY_SUMMARY_TO |
empty | Email addresses, comma-separated |
CAPACITY_SUMMARY_BY |
empty | A name |
CAPACITY_HOST |
empty | cores=64,mem=1024, memory in GB |
A malformed value stops Ferrule starting, with the variable and the reason in the log, so a typo never silently plans against the wrong numbers.