Questo post approfondirà la gestione dell'alimentazione di RHV.
Cos'è la gestione dell'alimentazione dell'host (recinto)?
Quando Power Management è configurato, RHV può riavviare gli host che si trovano in uno stato non operativo o non reattivo. RHV supporta i seguenti dispositivi di gestione dell'alimentazione:
- Conversione dell'energia americana (apc)
- IBM Bladecenter (Bladecenter)
- Sistema di elaborazione unificato Cisco (cisco_ucs)
- Scheda Dell Remote Access 5 (drac5)
- Scheda Dell Remote Access 7 (drac7)
- Interruttore di alimentazione elettronico (eps)
- HP BladeSystem (hpblade)
- Spegnimento luci integrato (ilo, ilo2, ilo3, ilo4,ilo_ssh)
- Interfaccia di gestione della piattaforma intelligente (ipmilan)
- Adattatore supervisore remoto (rsa)
- Fujitsu-Siemens RSB (rsb)
- Western Telematic, Inc (wti)
RHV utilizza agenti di fencing per comunicare con i dispositivi di gestione dell'alimentazione.
Cos'è la scherma automatica?
Quando l'host si verifica un errore imprevisto, lo stato dell'host cambierà in connessione e l'host sarà in questo stato per un periodo di grazia. Se questo timeout scade, l'Host passerà allo stato "Non reattivo" o "Non operativo". Per reagire a quello stato, il motore blocca gli host problematici eseguendo il riavvio. Il motore utilizza l'agente di schermatura per la scheda di gestione dell'alimentazione sull'host per arrestare l'host, confermarne l'arresto, avviare l'host e confermare che l'host è stato avviato.
Periodo di grazia del recinto automatico:
Per impostazione predefinita, Engine proverà due volte a chiedere lo stato a vdsm:
option_name | option_value | default_value -------------------------+--------------+--------------- VDSAttemptsToResetCount | 2 | 2 (1 row)
Grace Period = TimeoutToResetVdsInSeconds + DelayResetPerVmInSeconds*(Number of VMs on host) + DelayResetForSpmInSeconds(isSPM)
Ad esempio, se l'host è SPM con due VM e valore_predefinito, il periodo di grazia=60+ 0,5*2+20=81 s
option_name | option_value | default_value ----------------------------+--------------+--------------- TimeoutToResetVdsInSeconds | 60 | 60 DelayResetForSpmInSeconds | 20 | 20 DelayResetPerVmInSeconds | 0.5 | 0.5 VDSAttemptsToResetCount | 2 | 2 (4 rows)
Recinzione di Kdump:
Quando si abilita "Integrazione con Kdump", ritarda l'hard-fence fino a quando l'host non finisce di scrivere il dump della memoria in caso di arresto anomalo.
Recinzione morbida:
Questo può essere configurato da Livello cluster:
AdminPortal-->Compute-->Cluster-->Edit Cluster-->Fencing Polciy-->Enable Fencing
Prima di "riavviare" l'host, Engine tenta di riavviare VDSM tramite SSH su host "non reattivi" tramite "SSH Soft Fencing".
option_name | option_value | default_value | version -----------------------+-------------------------------------------------+------------------------------------------------+--------- SshSoftFencingCommand | /usr/bin/vdsm-tool service-restart vdsmd | /usr/bin/vdsm-tool service-restart vdsmd | 4.3 (1 row)
Il soft-fencing su SSH può essere eseguito su host che non hanno configurato la gestione dell'alimentazione. Questo è distinto dalla "scherma". La scherma può essere eseguita solo su host in cui è configurata la gestione dell'alimentazione.
Selezione di un proxy
La preferenza predefinita del proxy di gestione dell'alimentazione è cluster, dc. C'è un'opzione per aggiungere "other_dc". Troverà un host proxy nello stato "UP".
# engine-config -g FenceProxyDefaultPreferences FenceProxyDefaultPreferences: cluster,dc version: general
Flusso:
Flusso del motore:
Metadati di configurazione
Ecco i metadati di VdsFenceType, VdsFenceOptionTypes, VdsFenceOptionMapping, FenceAgentMapping e FenceAgentDefaultParams:
-[ RECORD 1 ]+---------------------------------------------------------------------------------------------------------- option_name | VdsFenceType option_value | apc,apc_snmp,bladecenter,cisco_ucs,drac5,drac7,eps,hpblade,ilo,ilo2,ilo3,ilo4,ilo_ssh,ipmilan,rsa,rsb,wti version | 4.3 -[ RECORD 2 ]-+--------------------------------------------------------------------------------------------------------- option_name | VdsFenceOptionTypes option_value | encrypt_options=bool,secure=bool,port=int,slot=int default_value | encrypt_options=bool,secure=bool,port=int,slot=int -[ RECORD 3 ]-+---------------------------------------------------------------------------------------------------------- option_name | VdsFenceOptionMapping option_value | apc:secure=secure,port=ipport,slot=port; apc_snmp:port=port,encrypt_options=encrypt_options; bladecenter:secure=secure,port=ipport,slot=port; cisco_ucs:secure=ssl,slot=port; drac5:secure=secure,slot=port; drac7:;eps:slot=port; hpblade:port=port; ilo:secure=ssl,port=ipport; ipmilan:; ilo2:secure=ssl,port=ipport; ilo3:; ilo4:; ilo_ssh:port=port; rsa:secure=secure,port=ipport; rsb:;wti:secure=secure,port=ipport,slot=port default_value | apc:secure=secure,port=ipport,slot=port; apc_snmp:port=port,encrypt_options=encrypt_options; bladecenter:secure=secure,port=ipport,slot=port; cisco_ucs:secure=ssl,slot=port; drac5:secure=secure,slot=port; drac7:; eps:slot=port; hpblade:port=port; ilo:secure=ssl,port=ipport; ipmilan:; ilo2:secure=ssl,port=ipport; ilo3:; ilo4:; ilo_ssh:port=port; rsa:secure=secure,port=ipport; rsb:; wti:secure=secure,port=ipport,slot=port -[ RECORD 4 ]-+---------------------------------------------------------------------------------------------- option_name | FenceAgentMapping option_value | drac7=ipmilan,ilo2=ilo default_value | drac7=ipmilan,ilo2=ilo -[ RECORD 5 ]-+----------------------------------------------------------------------------------------------- option_name | FenceAgentDefaultParams option_value | drac7:privlvl=OPERATOR,lanplus=1,delay=10;ilo3:power_wait=4;ilo4:power_wait=4;ilo_ssh:secure=1 default_value | drac7:privlvl=OPERATOR,lanplus=1,delay=10;ilo3:power_wait=4;ilo4:power_wait=4;ilo_ssh:secure=1
I metadati di cui sopra possono essere configurati in engine-config:
# engine-config -a |grep 'CustomFence\|CustomVdsFence' CustomFenceAgentMapping: version: general CustomFenceAgentDefaultParams: version: general CustomFenceAgentDefaultParamsForPPC: version: general CustomVdsFenceOptionMapping: version: general CustomVdsFenceType: version: general CustomFencePowerWaitParam: version: general
Altra configurazione(Timeout e tentativi):
# engine-config -a |grep 'FenceStart\|FenceStop' FenceStartStatusRetries: 18 version: general FenceStartStatusDelayBetweenRetriesInSec: 10 version: general FenceStopStatusRetries: 18 version: general FenceStopStatusDelayBetweenRetriesInSec: 10 version: general