In this blog post you can see various adavanced DRS options ...
/*
9 * drmOptions.h --
10 *
11 * List of all "advanced" DRS options. These are configurable via the
12 * advanced settings dialog in the VC UI, or via the drmoptions config
13 * file supplied to the dummy test harness.
14 *
15 * There are currently three types of options:
16 * 1. string options (DrmStringOption),
17 * 2. integer options (DrmIntOption),
18 * 3. enum options (DrmEnumOptions).
19 * New options can be added to any list following the format as described
20 * below.
21 *
22 * DrmStringOption
23 * SOPT(<ID>, <Key>, <Description>, <Default>)
24 *
25 * DrmIntOption
26 * IOPT(<ID>, <Key>, <Description>, <Min>, <Max>, <Default>)
27 *
28 * <Minimum>, <Maximum>
29 * - Specify the range for the option.
30 *
31 * DrmEnumOption
32 * EOPT(<ID>, <Key>, <Description>,
33 * EOPTN(<id>, <val1) EOPTN(<id>, <val2>) ..., <Default>)
34 */
35
36 #include <vmomi/array.h>
37 #include <array>
38 #include "vpxDrmPublicTypes.h"
39
40 namespace Vim {
41 namespace Option {
42 class OptionValue;
43 }
44 }
45
46 #ifdef DRM_APPS
47 #define DRM_OPT_DUMP_DIR_DEFAULT "drmdump"
48 #else
49 #define DRM_OPT_DUMP_DIR_DEFAULT ""
50 #endif
51
52 #ifdef VMX86_DEBUG
53 #define DRM_OPT_DUMP_SPACE_DEFAULT 100
54 #define DRM_OPT_COMPRESS_DRMDUMP_FILES_DEFAULT 0
55 #define DRM_OPT_DUMP_RES_ACTION_DEFAULT 1
56 #define DRM_OPT_DUMP_MAP_VM_DEFAULT 1
57 #else
58 #define DRM_OPT_DUMP_SPACE_DEFAULT 20
59 #define DRM_OPT_COMPRESS_DRMDUMP_FILES_DEFAULT 1
60 #define DRM_OPT_DUMP_RES_ACTION_DEFAULT 0
61 #define DRM_OPT_DUMP_MAP_VM_DEFAULT 0
62 #endif
63
64 #define DRM_OPT_MIN_PWR_CPU_DEFAULT 1
65 #define DRM_OPT_MIN_PWR_MEM_DEFAULT 1
66
67 // Default host boot time in seconds for hosts that do not return it.
68 #define DRM_OPT_DEFAULT_HOST_BOOT_TIME 300
69 // Default shut down time for ESX hosts.
70 #define DRM_OPT_DEFAULT_HOST_SHUT_DOWN_TIME 100
71
72 /*
73 * Various levels of enforcing correlation for fixing anti-affinity
74 * rules.
75 */
76
77 // Correlations have no effect to fix anti-affinity rule violations.
78 #define NO_CORRELATION 0
79
80 /*
81 * Try fixing anti-affinity with correlations first. In case this is
82 * not possible, drop all correlations and try again.
83 */
84 #define SOFT_CORRELATION 1
85
86 /*
87 * Correlations are strictly enforced while fixing anti-affinity rule
88 * violations.
89 */
90 #define HARD_CORRELATION 2
91
92 #define DRM_CONFIG_ENUM_OPTS \
93 \
94 EOPT(GOODNESS_METRIC, "GoodnessMetric", \
95 "Goodness metric for evaluating migration decisions", \
96 EOPTN(JAIN) EOPTN(STDEV) EOPTN(FREE), STDEV) \
97 \
98 EOPT(ENABLE_VM_ACTIVE_ADJUST, "EnableVmActiveAdjust", \
99 "Enable Adjustment of VM Cpu Active", \
100 EOPTN(DISABLE) EOPTN(ALWAYS) EOPTN(NEWERBUILDS), DISABLE) \
101 \
102 EOPT(SEVERE_IMBALANCE_RELAX_COST_BENEFIT, \
103 "SevereImbalanceRelaxCostBenefit", \
104 "Retry correcting severe load imbalance with relaxed costBenefit " \
105 "and downTime filters", \
106 EOPTN(DISABLE) EOPTN(RELAX_CB) EOPTN(RELAX_DOWNTIME) \
107 EOPTN(RELAX_CB_DOWNTIME), RELAX_CB_DOWNTIME) \
108 \
109 EOPT(INFRA_UPDATE_HA_MAINTENANCE_MODE_VSAN_DECOMMISSION_MODE, \
110 "InfraUpdateHaMaintenanceModeVsanDecommissionMode", \
111 "VSAN decommission mode for host maintenance mode task", \
112 EOPTN(NO_ACTION) EOPTN(ENSURE_OBJECT_ACCESSIBILITY) \
113 EOPTN(EVACUATE_ALL_DATA), ENSURE_OBJECT_ACCESSIBILITY) \
114
115 #define DRM_CONFIG_INT_OPTS \
116 \
117 IOPT(GOODNESS_PER_STAR, "GoodnessPerStar", \
118 "Maximum goodness in 1/1000 required for a 1-star recommendation", \
119 1, 1000, 100) \
120 IOPT(MIN_GOODNESS, "MinGoodness", \
121 "Minimum goodness in 1/1000 required for any balance recommendation; "\
122 "if <=0, min set to abs value; if >0, min set to lessor of option & " \
123 "value set proportionate to running VMs, hosts, & rebal resources", \
124 -1000, 1000, 5) \
125 IOPT(MIN_IMBALANCE, "MinImbalance", \
126 "Minimum cluster imbalance in 1/1000 required for any " \
127 "recommendations", \
128 0, 1000, 50) \
129 IOPT(RELOCATE_THRESH, "RelocateThresh", \
130 "Threshold in stars for relocation", \
131 0, 5, 1) \
132 IOPT(SECONDARY_METRIC_WEIGHT, "SecondaryMetricWeight", \
133 "Weight for secondary metric in overall metric", \
134 0, 50, 25) \
135 IOPT(IDLE_TAX, "IdleTax", \
136 "Idle tax percentage. When set to 0, idle tax is completely disabled.",\
137 0, 99, 75) \
138 IOPT(AVG_STAT_PERIOD, "AvgStatPeriod", \
139 "Statistical sampling period in minutes", \
140 1, 15, 5) \
141 IOPT(DUMP_SPACE, "DumpSpace", \
142 "Disk space limit in megabytes for dumping module and domain state, " \
143 "set to 0 to disable dumping, set to -1 for unlimited space", \
144 -1, MAX_INT32, DRM_OPT_DUMP_SPACE_DEFAULT) \
145 IOPT(FAKE_VM_ACTIVE_CPU_PCT, "PowerOnFakeActiveCpuPct", \
146 "Fake active CPU percentage to use for initial share allocation", \
147 0, 100, 100) \
148 IOPT(FAKE_VM_ACTIVE_MEM_PCT, "PowerOnFakeActiveMemPct", \
149 "Fake active memory percentage to use for initial share allocation", \
150 0, 100, 100) \
151 IOPT(CPU_ACTIVE_PCT_THRESH, "CpuActivePctThresh", \
152 "Active percentage threshold above which the VM's CPU entitlement " \
153 "cap is increased to cluster maximum Mhz. Set it to 125 to disable " \
154 "this feature.", \
155 80, 125, 125) \
156 IOPT(MAX_MOVES_PER_HOST, "MaxMovesPerHost", \
157 "Max number moves per host returned in each invocation; 0->unlimited "\
158 "if <0, max set to abs value; if >0, max set to greater of option & " \
159 "value set wrt avg migration time, num simultaneous moves per host, " \
160 "& DRS polling interval", \
161 MIN_INT32, MAX_INT32, 8) \
162 IOPT(EWMA_WEIGHT, "EwmaWeight", \
163 "Weight for newer samples in exponential weighted moving average" \
164 "in 1/100's", \
165 0, 100, 50) \
166 IOPT(UTIL_RATIO_TARGET, "DemandCapacityRatioTarget", \
167 "DPM: utilization target", \
168 40, 200, 63) \
169 IOPT(UTIL_RATIO_TOLERANCE_HOST, "DemandCapacityRatioToleranceHost", \
170 "DPM: Compare host demand/capacity ratio with " \
171 "DemandCapacityRatioTarget-/+DemandCapacityRatioToleranceHost; if " \
172 "below, consider powering hosts off; if above, consider powering " \
173 "hosts on", \
174 10, 40, 18) \
175 IOPT(VM_DEMAND_HISTORY_SECS_HOST_ON, "VmDemandHistorySecsHostOn", \
176 "DPM: Consider recent demand history over this period in making host "\
177 "power on decisions", \
178 0, 3600, 300) \
179 IOPT(VM_DEMAND_HISTORY_SECS_HOST_OFF, "VmDemandHistorySecsHostOff", \
180 "DPM: Consider recent demand history over this period in making host "\
181 "power off decisions", \
182 0, 3600, 2400) \
183 IOPT(VM_DEMAND_HISTORY_NUM_STDDEV, "VmDemandHistoryNumStdDevAboveAve", \
184 "DPM: Compute demand for history period as mean plus this many " \
185 "standard deviations, capped at maximum demand observed", \
186 0, 5, 2) \
187 IOPT(IGNORE_DOWN_TIME, "IgnoreDownTimeLessThan", \
188 "Ignore down time less than this value in seconds", \
189 0, 100, 1) \
190 IOPT(NUM_UNRESERVED_SLOTS, "NumUnreservedSlots", \
191 "Number of unreserved capacity slots to maintain", \
192 0, 1024, 2) \
193 IOPT(MEM_OVERHEAD_GROWTH, "MemOverheadGrowth", \
194 "default memory overhead growth in MB per minute", \
195 1, 50, 4) \
196 IOPT(MEM_OVERHEAD_GROWTH_MAX, "MemOverheadGrowthCap", \
197 "memory overhead growth cap in MB per minute", \
198 0, 50, 20) \
199 IOPT(MEM_OVERHEAD_GROWTH_MIN, "MemOverheadGrowthMin", \
200 "default memory overhead growth min in MB per minute", \
201 0, 50, 2) \
202 IOPT(MAX_FT_VMS, "MaxFtVmsPerHost", \
203 "Maximum number of FT VMs supported on a host", \
204 -1, 512, 4) \
205 IOPT(MAX_RECURSION_DEPTH, "MaxRecursionDepth", \
206 "Maximum depth in the recursive algorithm for forced placement", \
207 0, 5, 1) \
208 IOPT(POWER_STAR_THRESHOLD, "PowerStarThreshold", \
209 "[OBSOLETE] DPM: Specify star threshold for power recommendations", \
210 1, 5, DPM_REC_RATING_DEFAULT) \
211 IOPT(POWER_PERFORMANCE_RATIO, "PowerPerformanceRatio", \
212 "DPM: Set Power Performance ratio", \
213 0, 500, 40) \
214 IOPT(POWER_PERFORMANCE_PERCENTILE_MULT, \
215 "PowerPerformancePercentileMultiplier", \
216 "DPM: Set percentile for stable time for power performance", \
217 0, 100, 10) \
218 IOPT(POWER_PERFORMANCE_VM_DEMAND_HISTORY_NUM_STDDEV, \
219 "PowerPerformanceVmDemandHistoryNumStdDev", \
220 "DPM/DRS: Compute demand for history period as mean plus this many " \
221 "standard deviations, capped at maximum demand observed", \
222 0, 5, 3) \
223 IOPT(POWER_PERFORMANCE_HISTORY_SECS, "PowerPerformanceHistorySecs", \
224 "DPM/DRS: Consider recent demand history over this period for DPM " \
225 "power performance & DRS cost performance decisions", \
226 0, 3600, 3600) \
227 IOPT(VM_RELOCATION_SECS, "VmRelocationSecs", \
228 "DPM: Amount of time it takes to relocate a VM", \
229 0, 100, 6) \
230 IOPT(MIN_POWERED_ON_CPU_CAPACITY, "MinPoweredOnCpuCapacity", \
231 "DPM: min cpu capacity in MHz comprised by powered on hosts", \
232 0, MAX_INT32, DRM_OPT_MIN_PWR_CPU_DEFAULT) \
233 IOPT(MIN_POWERED_ON_MEM_CAPACITY, "MinPoweredOnMemCapacity", \
234 "DPM: min mem capacity in MB comprised by powered on hosts", \
235 0, MAX_INT32, DRM_OPT_MIN_PWR_MEM_DEFAULT) \
236 IOPT(HOSTS_MIN_UPTIME_SECS, "HostsMinUptimeSecs", \
237 "DPM: min uptime in secs of all hosts before DPM will consider any " \
238 "host as power-off candidate", \
239 0, MAX_INT32, 600) \
240 IOPT(MIN_STARS_FOR_MAND_MOVES, "MinStarsForMandMoves", \
241 "Minimum star rating for mandatory recommendations", \
242 1, 5, 3) \
243 IOPT(RAW_CAP_DIFF_PERCENT, "RawCapDiffPercent", \
244 "Percent by which RawCapacity values need to differ to be signicant", \
245 0, 100, 5) \
246 IOPT(MAX_VCPUS_PER_CORE, "MaxVcpusPerCore", \
247 "Maximum number of vcpus per physical core. This will apply only to " \
248 "ESX5.x hosts and above", \
249 4, 2048, 2048) \
250 IOPT(MAX_HOST_MEM_OVERCOMMIT_PCT, "MaxHostMemOvercommitPct", \
251 "Maximum percentage of memory overcommitment allowed per host", \
252 -1, 500, -1) \
253 IOPT(MAX_VCPUS_PER_CLUSTER_PCT, "MaxVcpusPerClusterPct", \
254 "Maximum ratio of cluster vcpus to pcpus, expressed as a percent", \
255 -1, 500, -1) \
256 IOPT(MAX_CLUSTER_MEM_OVERCOMMIT_PCT, "MaxClusterMemOvercommitPct", \
257 "Maximum memory overcommit percent at cluster level", \
258 -1, 500, -1) \
259 IOPT(NUM_AGENT_VMS_REQUIRED, "NumAgentVmsRequired", \
260 "Number agent (per-host pinned service) VMs required on each host", \
261 0, 1024, 0) \
262 IOPT(VM_MAX_DOWNTIME_FT, "VmMaxDownTimeFT", \
263 "Reject the moves if the predicted downTime will exceed the max (in " \
264 "Secs) for FT VM", \
265 0, 150, 5) \
266 IOPT(VM_MAX_DOWNTIME, "VmMaxDownTime", \
267 "Reject the moves if the predicted downTime will exceed the max (in " \
268 "secs) for non-FT VM", \
269 0, 150, 50) \
270 IOPT(VM_DEMAND_HISTORY_SECS_SOFT_RULES, "VmDemandHistorySecsSoftRules", \
271 "Consider recent demand history over this period in making decisions "\
272 "to drop soft rules", \
273 0, 3600, 300) \
274 IOPT(MIN_SPACE_UTILIZATION_DIFFERENCE, "MinSpaceUtilizationDifference", \
275 "Threshold below which space load balancing will not kick in", \
276 0, 100, 5) \
277 IOPT(IO_LB_IMBL_THRESHOLD, "IoLoadBalancingImblThreshold", \
278 "Threshold below which IO load balancing will not kick in", \
279 0, 100, 4) \
280 IOPT(IO_LB_LAT_THRESHOLD, "IoLoadBalancingLatThreshold", \
281 "Lat Threshold below which IO load balancing will not kick in", \
282 5, 100, 10) \
283 IOPT(SPACE_LB_IMBL_THRESHOLD, "SpaceLoadBalancingImblThreshold", \
284 "Threshold below which Space load balancing will not kick in", \
285 0, 100, 80) \
286 IOPT(MAX_IO_MODIFICATIONS, "IoLoadBalancingMaxMovesPerHost", \
287 "Maximum number of moves from or to a datastore per round", \
288 0, 10, 3) \
289 IOPT(MIN_IO_HIST_SECS, "IoLoadBalancingMinHistSecs", \
290 "Minimum number of seconds that should have passed before using " \
291 "current stats", \
292 0, MAX_INT32, 43200) \
293 IOPT(DEFAULT_MIGRATION_TIME, "DefaultMigrationTime", \
294 "Migration time (secs) to use for VMs without history " \
295 "(-1 -> unspecified)", \
296 -1, MAX_INT32, -1) \
297 IOPT(DEFAULT_DOWN_TIME, "DefaultDownTime", \
298 "Down time (millisecs) to use for VMs without history " \
299 "(-1 -> unspecified)", \
300 -1, MAX_INT32, -1) \
301 IOPT(SPACE_GROWTH_SECS, "SpaceGrowthSecs", \
302 "The length of time to consider in the space growth risk analysis. " \
303 "Should be an order of magnitude longer than the typical storage " \
304 "vmotion time.", \
305 0, 604800, 108000) \
306 IOPT(DEFAULT_SIO_CAPACITY_IOPS, "DefaultSioCapacityInIOPS", \
307 "Default peak IOPS to be used for datastore with zero slope", \
308 200, 100000, 1000) \
309 IOPT(DEFAULT_SIO_DEVICE_INTERCEPT, "DefaultSioDeviceIntercept", \
310 "Default intercept parameter in device model for SDRS in x1000", \
311 1, 100000, 5000) \
312 IOPT(BASE_GOODNESS_FOR_SPACE_VIOLATION, "SetBaseGoodnessForSpaceViolation",\
313 "-1*Goodness value added for a move exceeding space threshold on " \
314 "destination", \
315 -100, 0, -2) \
316 IOPT(IO_LOADBAL_PERCENTILE, "IoLoadBalancingPercentile", \
317 "IO Load balancing default percentile to use ", \
318 50, 100, 90) \
319 IOPT(SECONDARY_METRIC_WEIGHT_MULTIPLIER, "SecondaryMetricWeightMult", \
320 "Weight multiplier for secondary metric in overall metric", \
321 0, 100, 100) \
322 IOPT(IO_STABLE_TIME_SECS, "IOLBStableTimeSecs", \
323 "Stable Time to consider in IO Load Balancing cost benefit", \
324 0, 2629743, 86400) \
325 IOPT(CORRELATION_FOR_AFFINITY, "EnforceCorrelationForAffinity", \
326 "Use datastore correlations while fixing anti-affinity rules " \
327 "(0 = disabled, 1 = soft enforcement, 2 = hard enforcement)", \
328 0, 2, 1) \
329 IOPT(SDRS_MAX_NUM_VMX_FILES_ON_DATASTORE, "SdrsMaxNumVmxFilesOnDatastore", \
330 "Max num VMX files allowed on datastore (respected by SDRS)", \
331 0, MAX_INT32, 2048) \
332 IOPT(LOG_DRS_LB_FAULTS, "LogDrsLbFaults", \
333 "Log faults encountered during DRS LB; 0: never, [default] 1: only " \
334 "in case of severe imbalance, 2: in case of regular and severe " \
335 "imbalance", 0, 2, 1) \
336 IOPT(LIMIT_VMS_PER_ESX_HOST, "LimitVMsPerESXHost", \
337 "Limit on number of VMs DRS will place/move to any host in cluster; " \
338 "0 means no limit", \
339 0, MAX_INT32, 0) \
340 /* See PR 860033 for more details */ \
341 IOPT(MAX_LB_PASSES, "MaxLBPasses", \
342 "Maximum number of passes before breaking out of the main loop of " \
343 "the DRS LB algorithm", \
344 0, MAX_INT32, 500) \
345 IOPT(LIMIT_VMS_PER_ESX_HOST_PERCENT, "LimitVMsPerESXHostPercent", \
346 "Limit number of VMs DRS will place/move to any host in cluster to " \
347 "(number of VMs)/(number of ESX hosts) + " \
348 "(number of VMs)/(number of hosts) * " \
349 "(1 + LimitVMsPerESXHostPercent/100 ", \
350 0, MAX_INT32, MAX_INT32) \
351 IOPT(PERCENT_IDLE_MB_IN_MEM_DEMAND, "PercentIdleMBInMemDemand", \
352 "Percentage of idle MB to be included as part of memory demand " \
353 "DRS option: percentage is of idle (consumed but not active) memory ",\
354 0, 100, 25) \
355 IOPT(PERCENT_IDLE_MB_IN_SPACE_DEMAND, "PercentIdleMBInSpaceDemand", \
356 "Percentage of idle MB to be included as part of space demand " \
357 "SDRS option: percentage is of idle (uncommitted) space ", \
358 0, 100, 25) \
359 IOPT(MAX_DRS_ALGO_THREADS, "MaxDrsCalcThreads", \
360 "Maximum number of threads DRS algorithm should use ", \
361 1, 128, 4) \
362 IOPT(CALC_PER_THREAD, "DrsCalcPerThread", \
363 "Number of moves to be evaluated per thread ", \
364 1, MAX_INT32, 4000) \
365 IOPT(CLUSTER_POWER_CAP, "DrmClusterPowerCap", \
366 "By default DrmClusterPowerCap is set as -1, which means no power " \
367 "cap for the cluster. If this option is set, DrmClusterPowerCap " \
368 "will instead be as the power cap of the cluster", \
369 -1, MAX_INT32, -1) \
370 IOPT(MAX_FT_VCPUS, "MaxFtVcpusPerHost", \
371 "Maximum number of FT vCPUs supported on a host", \
372 -1, 512, 8) \
373 IOPT(SPACE_FREE_THRESHOLD_GB, "SpaceLoadBalancingFreeThreshold", \
374 "Threshold in GB below which Space load balancing will kick in", \
375 0, MAX_INT32, 0) \
376 IOPT(CPU_DEMAND_PERCENTILE_IN_XDRS, "CpuDemandPercentileInXdrs", \
377 "Percentile of CPU active demand used in XDRS placement", \
378 0, NUM_PERCENTILES-1, DRM_PERCENTILE_90) \
379 IOPT(MEM_DEMAND_PERCENTILE_IN_XDRS, "MemDemandPercentileInXdrs", \
380 "Percentile of memory active demand used in XDRS placement", \
381 0, NUM_PERCENTILES-1, DRM_PERCENTILE_90) \
382 IOPT(MAX_IO_MOVES, "MaxConcurrentIOMoves", \
383 "Maximum number of SDRS storage vmotions per datastore", \
384 1, INT_MAX, 3) \
385 IOPT(AGGRESSIVE_CPU_ACTIVE, "AggressiveCPUActive", \
386 "Set to 1 to use the larger of these two values to predict the CPU " \
387 "demand of VMs in the DRS cluster: " \
388 "1. The 5-minute average value of CPU active " \
389 "2. The 80th percentile (second largest) of the last five 1-minute " \
390 " average values of CPU active", \
391 0, 1, 0) \
392 IOPT(VM_DEMAND_PERIOD, "AvgDemandForVM", \
393 "Statistical sampling period in minutes for VM Demand", \
394 1, 120, 15) \
395 IOPT(ENFORCE_STORAGE_PROFILES, "EnforceStorageProfiles", \
396 "If set to 1, storage profile requirements are enforced during " \
397 "initial placement and IO load-balancing. If set to 2, profiles " \
398 "are strictly enforced. If set to 0, no enforcement takes place.", \
399 0, 2, 0) \
400 IOPT(INFRA_UPDATE_HA_MAINTENANCE_MODE_TIMEOUT, \
401 "InfraUpdateHaMaintenanceModeTimeout", \
402 "Timeout value for host maintenance mode task", \
403 0, 3600, 1800) \
404
405 #define DRM_CONFIG_BOOL_OPTS \
406 \
407 BOPT(FORCE_AFFINE_POWERON, "ForceAffinePoweron", \
408 "Only allow power-on on hosts with affine virtual machines", \
409 0) \
410 BOPT(COST_BENEFIT, "CostBenefit", \
411 "Enable/disable the use of cost benefit metric for filtering moves", \
412 1) \
413 BOPT(DOWN_TIME, "UseDownTime", \
414 "Enable/disable the use of downtime in cost benefit metric", \
415 1) \
416 BOPT(POWER, "Power", \
417 "Enable DPM", \
418 0) \
419 BOPT(ENABLE_POWER_PERFORMANCE, "EnablePowerPerformance", \
420 "DPM: Enable Power Performance metric", \
421 1) \
422 BOPT(ENABLE_MINIMAL_DUMPING, "EnableMinimalDumping", \
423 "Enable or Disable minimal dumping", \
424 0) \
425 BOPT(COMPRESS_DRMDUMP_FILES, "CompressDrmdumpFiles", \
426 "Set to 1 to compress drmdump files & to 0 to not compress them", \
427 DRM_OPT_COMPRESS_DRMDUMP_FILES_DEFAULT) \
428 BOPT(NETWORK_RESERVATION_RULES, "NetworkReservationRules", \
429 "Set to 1 to consider fixing Vm network reservation violations &" \
430 "to 0 to not do so ", \
431 1) \
432 BOPT(IO_ALWAYS_USE_CURRENT, "IoLoadBalancingAlwaysUseCurrent", \
433 "Always use current stats for IO load balancing", \
434 1) \
435 BOPT(ENABLE_IO_LB, "EnableIoLoadBalancing", \
436 "Enable IO load balancing", \
437 1) \
438 BOPT(CAP_RP_RESERVATION, "CapRpReservationAtDemand", \
439 "Caps the RP entitled reservation at demand during reservation " \
440 "divvying", \
441 1) \
442 BOPT(USE_PEAK_IOPS, "UsePeakIOPSCapacity", \
443 "Use peak IOPS as the capacity of a datastore", \
444 0) \
445 BOPT(USE_IO_SHARES_FOR_ENT, "UseIoSharesForEntitlement", \
446 "Use vmdk IO shares for entitlement computation", \
447 1) \
448 BOPT(IGNORE_AFFINITY_FOR_MAINT, "IgnoreAffinityRulesForMaintenance", \
449 "Ignore affinity rules for datastore maintenance mode", \
450 0) \
451 BOPT(DISABLE_IO_LB_INTERNAL, "DisableIoLoadBalancingInternal", \
452 "Disable IO load balancing internally irrespective of user-set value",\
453 0) \
454 BOPT(CLEAR_IO_STATS, "ClearIoStatsOnSdrsRun", \
455 "Clear datastore and Vmdk IO stats each time SDRS is invoked", \
456 0) \
457 BOPT(DISABLE_IO_FILTERS, "DisableIOLBFilters", \
458 "Disable IO filters comparing source, destination latency and load", \
459 0) \
460 BOPT(FORCE_RUN_DRS_SDRS_FAIL, "ForceRunDrsSdrsFail", \
461 "Force Run Drs/Sdrs to report failure; used to test failure handling",\
462 0) \
463 BOPT(DROP_SOFT_VM_HOST_RULES_OVERUTILIZED, \
464 "DropSoftVmHostRulesOverutilized", \
465 "Set to 1 to if soft Vm/Host affinity/anti-affinity rules should be " \
466 "dropped if respecting them increases the amount of host utilization "\
467 "above 100% (default); set to 0 if such rules should not be dropped " \
468 "if respecting them increases the amount of host utilization >100%", \
469 1) \
470 BOPT(SEVERE_IMBALANCE_RELAX_MIN_GOODNESS, \
471 "SevereImbalanceRelaxMinGoodness", \
472 "Retry correcting severe load imbalance with minGoodness set to 0 ", \
473 1) \
474 BOPT(SEVERE_IMBALANCE_DROP_COST_BENEFIT, "SevereImbalanceDropCostBenefit", \
475 "Retry correcting severe load imbalance with costBenefit set to 0", \
476 0) \
477 BOPT(FIX_SEVERE_IMBALANCE_ONLY, "FixSevereImbalanceOnly", \
478 "Be conservative while handling severe load imbalance and only " \
479 "perform LB moves till the cluster is out of severe imbalance.", \
480 1) \
481 BOPT(PLACE_VM_ON_REGISTERED_HOST, "PlaceVmOnRegisteredHost", \
482 "If =1 and VM's registered host is a placement choice, make it top " \
483 "choice even if it will contribute to significant imbalance. If =0, " \
484 "order choices using preference for registered host if it will not " \
485 "introduce significant imbalance relative to another choice", \
486 0) \
487 BOPT(DRM_DIAGNOSE_DYNAMIC_ENTITLEMENT, "DrmDiagnoseDynamicEntitlement", \
488 "By default DrmDiagnose targets static entitlement. If this option " \
489 "is set, DrmDiagnose will instead target dynamic entitlement", \
490 0) \
491 BOPT(NETWORK_RESERVATION_CORRECTION, "NetworkReservationCorrection", \
492 "Set to 1 to consider fixing VM network reservation violations & " \
493 "to 0 to not do so ", \
494 1) \
495 BOPT(ALLOW_UNLIMITED_CPUMAX, "AllowUnlimitedCpuLimitForVms", \
496 "If set to 1, VMs are not capped at num vCPUs * core MHz during " \
497 "Limit divvying for CPU.", \
498 0) \
499 BOPT(ENFORCE_IO_RESERVATIONS, "EnforceIOReservations", \
500 "If set to 1, IO reservation settings are strictly enforced " \
501 "during initial placement and IO load-balancing.", \
502 0) \
503 BOPT(VUM_DPM_CALL, "VUMDPMCall", \
504 "If set to 1, aggressive DPM is used to provide VUM remediation " \
505 "recommendations.", \
506 0) \
507 BOPT(DRMDUMP_RES_ACTIONS, "DrmdumpResActions", \
508 "If set to 1, drmdump includes resActions.", \
509 DRM_OPT_DUMP_RES_ACTION_DEFAULT) \
510 BOPT(DRMDUMP_MAP_VM, "DrmdumpMapVm", \
511 "If set to 1, drmdump includes mapVm.", \
512 DRM_OPT_DUMP_MAP_VM_DEFAULT) \
513 BOPT(NETWORK_AWARE_DRS, "NetworkAwareDrs", \
514 "If set to 1 DRS considers host network utilization ", \
515 1) \
516 BOPT(NETWORK_AWARE_LOAD_BALANCING, "NetworkAwareLoadBalancing", \
517 "If set to 1 DRS considers host network utilization" \
518 "in load balancing.", \
519 0) \
520 BOPT(INFRA_UPDATE_HA_MAINTENANCE_MODE_REREGISTER_POWERED_OFF_VMS, \
521 "InfraUpdateHaMaintenanceModeReregisterPoweredOffVms", \
522 "If set to 1, powered off vms will be reregistered for host " \
523 "maintenance mode task", \
524 1)
No comments:
Post a Comment