Finally the help of IT is here

Blog de soluciones informaticas.

Detectar estado del CBT en maquinas virtuales

Escrito por Xavier Xaus Nadal on septiembre 12th, 2013

CleanSaveBtn white Detectar estado del CBT en maquinas virtualesPdfBtn white Detectar estado del CBT en maquinas virtualesEmailBtn white Detectar estado del CBT en maquinas virtualesCleanPrintBtn white Detectar estado del CBT en maquinas virtuales

Hace tiempo que no escribo pero es que no tengo tiempo para hacerlo (Lo siento).

El título de este artículo para quien no tenga nociones de parametrización de máquinas virtuales quedará un poco fuera de contexto, pero para los administradores de sistemas que trabajan con copias de seguridad diferenciales sobre máquinas virtuales para hacer disaster recovery sabrán que para poder realizar una copia diferencial de un disco vmdk es necesario tener CBT habilitado y de esta forma no ir copiando cada día todo el disco vmdk a disco o cinta.

Para detectar si tenemos CBT habilitado hay varias formas de hacerlo como en el artículo que hice hace un tiempo http://www.megacrack.es/2013/06/12/como-detectar-si-cbt-change-block-tracking-est-habilitado/ pero eran otros tiempos y no tenía los conocimientos actuales sobre estos sistemas, por tanto os muestro a continuación una forma más profesional de detectar el estado del CBT en las máquinas virtuales desde línea de comandos con powershell y sus modulos powercli para vmware.

Espero que os sirva el script para otros cometidos ya que el principio del script hasta la fila 25 es para realizar una conexión a ESX o virtual center y la línea 25 es el script en sí para detectar el estado del CBT.

   1:  #################################################
   2:  # Detectar estado CBT (Change Block Tracking)   #
   3:  #################################################
   4:  
   5:  Add-PSSnapin VMware.VimAutomation.Core
   6:  
   7:  function Read-HostMasked([string]$prompt="Introduce la contrasena: ") {
   8:    $password = Read-Host -AsSecureString $prompt;
   9:    $BSTR = [System.Runtime.InteropServices.marshal]::SecureStringToBSTR($password);
  10:    $password = [System.Runtime.InteropServices.marshal]::PtrToStringAuto($BSTR);
  11:    [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($BSTR);
  12:    return $password;
  13:  }
  14:  write .
  15:  write "**************************************"
  16:  write "* Iniciando proceso de autenticacion *"
  17:  write "**************************************"
  18:  write .
  19:  $server = read-host "Introduce el Vcenter, ESXi o IP: "
  20:  $user = read-host "Introduce el usuario: "
  21:  $pwd = Read-HostMasked
  22:  
  23:  Connect-VIServer $server -User $user -Password $pwd -Force | out-string
  24:  
  25:  Get-VM | Get-View | Select Name, @{N="ChangeTrackingStatus";E={$_.Config.ChangeTrackingEnabled}}

 

Cuando sepáis que CBT está habilitado también tenéis que saber que si no tenéis una versión de máquina virtual igual o superior a 7, CBT no funcionará, la versión de ESX por lo tanto debe ser superior a 4.0, NFS no está admitido y tampoco RDM en modo de compatibilidad virtual.

Ya sabéis que podéis comentar lo que queráis acerca de este artículo u otros del blog, saludos y hasta pronto.

pixel Detectar estado del CBT en maquinas virtuales
Etiquetas: , , ,


Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>