/* 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)
Wednesday, December 9, 2015
List of all "advanced" DRS options
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment