Introduzione
In questo articolo tratterò alcune azioni di routine nella gestione dei moduli driver caricati all’avvio del nostro server VMware ESXi 4.1.0 (build 258902). Utilizzando l’ esxcfg-module, ovvero un tool per la configurazione avanzata delle opzioni di bootstrap in termini di moduli . Questo strumento ci fornisce un mezzo per interfacciarsi ai moduli driver caricati allo startup del sistema permettendoci l’aggiunta, abilitazione, disabilitazione degli stessi.
Vi faccio notare che non c’è nessun tipo di azione/sezione in vSphere Client che sopperisca alle funzionalità offerte da questo comando.
Utilizzo esxcfg-module
esxcfg-module OPTIONS MODULE
Potrebbe essere utile in fase di debbugging di un malfunzionamento del nostro server di virtualizzazione procedere al cotnrollo su quali moduli siano stati caricati e nel caso ci servisse reperire informazioni effetuare il load / unload enable/disable. Prima cosa possiamo ottenere la lista dei moduli caricati con il comando:
esxcfg-module -l
ritornerà in output un risultato simile:
vmkernel 53 10995 procfs 2 16 vmkapiv1_0_0_0_vmkernel_shim0 32 vmklinux 14 644 tpm_tis 1 12 random 1 32 usb 4 112 ehci-hcd 0 36 usb-uhci 0 24 hid 0 24 dm 2 12 nmp 25 120 vmw_satp_local 7 8 vmw_satp_default_aa 0 8 vmw_psp_lib 8 12 vmw_psp_fixed 7 12 vmw_psp_rr 0 16 vmw_psp_mru 0 12 vmw_psp_fixed_ap 0 12 vmw_satp_alua 0 20 vmw_satp_cx 0 28 libata 1 92 usb-storage 0 60 vfat 1 36 mask_path_plugin 0 8 vaai_filter 0 16 vmw_vaaip_emc 0 8 vmkapiv1_0_0_0_nmp_shim 0 8 vtddmar 0 8 vmci 4 112 iscsi_trans 3 52 hub 1 8 netsched 1 16 e1000e 0 116 iscsi_linux 0 16 . . . .
sarebbe interessante avere qualche informazioni in più riguardo un determinato modulo, detto fatto…
Poniamo il caso che il modulo da noi interessato sia quello relativo a na delle nostre interfacce di rete (componenti fondamentali), quindi:
esxcfg-module -l | grep 1000 Name Used Size (kb) e1000e 0 116
recuperiamo le informazioni sull’abilitazione del modulo e opzioni (se presenti):
esxcfg-module -g e1000e e1000e enabled = 1 options = ''
possiamo inoltre recuperare anche altre tipologie di informazioni quali il path fisico ove si trova il modulo, Parameters ( che contiene una corposa lista di informazioni tecniche):
esxcfg-module -i e1000e esxcfg-module module information input file: /usr/lib/vmware/vmkmod/e1000e.o License: GPL Version: Name-space: Required name-spaces: com.vmware.vmkapi@v1_1_0_0 Parameters: IntMode: array of int Interrupt Mode InterruptThrottleRate: array of int Interrupt Throttling Rate KumeranLockLoss: array of int Enable Kumeran lock loss workaround RxAbsIntDelay: array of int Receive Absolute Interrupt Delay RxIntDelay: array of int Receive Interrupt Delay SmartPowerDownEnable: array of int Enable PHY smart power down TxAbsIntDelay: array of int Transmit Absolute Interrupt Delay TxIntDelay: array of int Transmit Interrupt Delay WriteProtectNVM: array of int Write-protect NVM [WARNING: disabling this can lead to corrupted NVM] copybreak: uint Maximum size of packet that is copied to a new buffer on receive heap_initial: int Initial heap size allocated for the driver. heap_max: int Maximum attainable heap size for the driver. skb_heap_initial: int Initial private socket buffer heap size allocated for the driver. skb_heap_max: int Maximum attainable private socket buffer heap size for the driver.
Abilitare un modulo in fase di startup
esxcfg-module -e e1000e
Unload di un modulo:
esxcfg-module -u e1000e
Creare alias per un modulo
Un cosa interessante (forse comoda) quando si gestiscono tanti server di virtualizzazione con HW differente in cui ovviamente le problematiche sono molteplici potrebbe essere la creazione di un alias per un determinato nome modulo, ovvero come detto prima il modulo e1000e è il modulo della scheda master del server ESXi, potrei volere avere un nome più facile da ricordare e da ricercare del tipo scheda_rete_master o master_nic, lo si fa così:
esxcfg-module -m master_nic e1000e
ricerchiamola
esxcfg-module -l | grep nic master_nic 0 116 esxcfg-module -l | grep 1000 e1000e 0 116
abbiamo così mostrato un scenario potenzialmente reale di utilizzo di questo comando molto interessante per tutti coloro che per lavoro o diletto si trovano in situazioni di VMware Technical Support.