Errore in vSphere 4.1 “Transaction log for database VIM_VCDB is full”

logfull1

Dopo aver avviato vSphere Client per la connessione a vCenter Server, compare un messaggio di Connection Error. Noto che questa non è la prima volta che capita dopo aver effettuato la migrazione a vSphere 4.1.

Il controllo quotidiano di vCenter Server fa parte delle attività di verifica per assicurare che la struttura virtuale sia perfettamente funzionante. Al presentarsi di un qualche problema può cambiare improvvisamente lo scenario del tipo di giornata che ci attende.

L’errore che si presenta è illustrato nella figura seguente.

logfull2

A questo punto, dopo aver notato che il servizio VMware VirtualCenter Server non era avviato ho controllato i log di Windows per scoprire cosa fosse successo.

logfull3

Il messaggio riportato indirizza immediatamente l’attenzione sul database MS-SQL. Ed è proprio qui che si deve operare per risolvere il problema.

 

Procedura

Inanzitutto bisogna lanciare il Management Studio per accedere all’interfaccia di amministrazione di MS-SQL.

logfull4

Per gestire la dimensione del Transaction Log in MS-SQL, bisogna agire sulla modalità di Recovery Model e sulla dimensione massima del Transaction Log nelle impostazioni del parametro di Autogrowth. Dal Management Studio fare click col tasto destro del mouse sul database VIM_VCDB e selezionare Properties.

logfull5

Individuare l’opzione Recovery model e impostare il valore a Simple. Questo permette di poter effettuare lo shrink del Transaction Log.

logfull6

Verificare la dimensione massima del file assegnata al parametro di Autogrowth. Per accedere a questo parametro, sempre dalla schermata Database Properties, selezionare la pagina Files e selezionare VIM_VCDB_log. Cliccare sul campo Autogrowth.

logfull7

Se viene mantenuto come Recovery Model il valore Full può essere utile impostare il campo Restricted File Growth (MB) a 2048 per avere un certo margine.

logfull8

A questo punto procedere con l’operazione di Shrink per liberare spazio nel Transaction Log file. Selezionare il DB, fare click col tasto destro e selezionare Tasks –> Shrink –> Files.

logfull9

Come File Type selezionare Log e come Shrink action impostare l’opzione Release unused space. Click su OK. La dimensione del file di log viene così notevolmente rimpicciolita.

logfull10

A questo punto avviando il servizio Windows VMware VirtualCenter Server è possibile collegarsi correttamente a vCenter tramite vSphere Client.

logfull11

Ora che il file di log è di dimensioni accettabili, è possibile reimpostare il Model Recovery del database a Full per ripristinare la funzionalità del Transaction Log. VMware consiglia di  lasciare il parametro Recovery Model settato a Simple per il database di vCenter server.

 

Causa

Analizzata la procedura per risolvere il problema, il motivo principale per cui si verifica la saturazione del file di log è dovuto alle impostazioni della raccolta delle statistiche da parte di vCenter.

Per accedere alla configurazione della raccolta statistiche, una volta connessi al vCenter Server cliccare su Administration –> vCenter Server Settings.

logfull12

Cliccare su Statistics. Nella parte destra sono visualizzate le impostazioni. Il parametro che va verificato è Statistic Level che determina la quantità di informazioni raccolte.

logfull13

Selezionando un valore nel campo Interval Duration e cliccando su Edit, si accede al livello di raccolta statistiche con valori che vanno da 1 a 4. Attenzione ad impostare il valore a 4 poichè imposta la raccolta delle statistiche a tutti i parametri disponibili a sistema con la conseguente ripercussione sul file di log.

logfull14

Il Transaction Log del database VIM_VCDB è quindi influenzato da tre fattori principali:

  1. MS-SQL Database – Recovery Model
  2. Transaction Log – Restricted File Growth size
  3. vCenter Server – Statistics Level

Agendo sulle impostazioni di queste tre opzioni, la dimensione del file di log è tenuta sotto controllo.

One Response

  1. Giovanni 17/11/2011