Powershell. Función para saber la tasa de transmisión. Velocidad de red

Función para calcular la tasa de copia en MBps de una carpeta a otra. Usado para carpetas de red.

 

Es importante contar con el -Recurse en la función Get-ChildItem $destDir/ -Recurse. Sin ello, no se tienen en cuenta los contenidos de carpetas anidadas.

Existen errores reportados sobre el cmd-let remove-item. Por ello, la línea de borrado se pasa desde un get-childitem.

Function Copy_Folder ($src, $destDir)
{
# Remove old data:
get-childitem $destDir\* -recurse | remove-item -recurse -force

# Create destination:
if (!(Test-Path -path $destDir))
{ New-Item $destDir -itemtype directory -force }
# Copy files:
$date1=Get-Date
copy-item $src $destDir\ -force -recurse -verbose
$date2=Get-Date
# $date1 and $date2 some dates, dates difference:
$duration=($date1-$date2).duration()
# Size of data
$datasize = (Get-ChildItem $destDir/ -Recurse | Measure-Object -property length -sum).sum / 1MB
$mb=”{0:N2}” -f ($datasize) + “MB”
# Transmission rate
$transmision_rate=”{0:N2}” -f ($datasize / ($duration.TotalSeconds)) + “MBps”
$log_line=”`n $src $duration secs $mb $transmision_rate ”
Add-Content $log $log_li$src=ne
Write-host $log_line
}

Migración a Vmware Vsphere 5.5.0a

Como siempre hay que moverse en esta vida, y más en un departamento de sistemas, ha llegado el momento de migrar de vmware 5.1 a 5.5

La guía completa de instalación  es tan completa, que asusta.
Vamos a probar la virtual Appliance para analizar sus posibilidades.
La guía de buenas prácticas de vcenter 5.5 también es más extensa de lo que nos gustaría.

Revisión rutas de red – Cortafuegos

Tendremos que revisar las rutas de red del firewall, ya que hay pequeños cambios de puertos respecto de las versiones anteriores.

Definición de los puertos para la versión 5.5.0a

Exportación de la información de inventario

De nuestra antigua máquina, queremos mantener parte del inventario.  Nos interesan:

  • Permisos de usuarios
  • Inventario de carpetas y asignación de máquinas virtuales a carpetas
  • Información de clusters, DRS y configuraciones de pool de recursos.

Vamos a usar el paquete Inventory snapshot que da vmware en sus labs

Despliegue del ovf

Hemos optado por la versión de la plantilla VMware-vCenter-Server-Appliance-5.5.0.5101-1398493_OVF10.ovf

Tras el despliegue, entramos en la máquina por la interfaz web con el usuario por defecto: root: vmware

Configuramos SSO con la base de datos empotrada (embedded) y dejamos para más adelante la configuración con el servidor de Active Directory.

Configuración active directory

Necesitamos unir la VCSA a dominio. Para ello, revisamos la información de red y la de autenticación:

https://my ip:5480/#virtualcenter.authentication

Al usar el OVA, no se puede usar la opción de Active directory Integrated Windows Authentication sin unir la máquina a dominio.

Necesitamos añadir Active Directory Enabled con un identificador de dominio y un usuario administrador de dominio.

Si al unir, da el error Invalid Hostname. FQDN is required for joining a domain, es necesario revisar la información de red, yponerle sufijo del dominio en la configuración de hostname dentro de la configuración de red.

Accedemos a la consola de gestión del vcenter con el usuario el usuario de sso: administrator@vsphere.local.

https://my-ip:9443/vsphere-client/#extensionId=sso.admin.manage.ids

Home > Administration > SingleSignOn> Configuration > Identity sources

Para evitar tener que introducir constantemente el dominio, se pincha sobre el icono “Set as domain default”. Parece un mundo con una flecha encima.

Esta vista, sólo aparece para el usuario administrator@vsphere.local .  El usuario root no tiene acceso aquí.

Más información en stepbystep 

Probar el acceso.

Para probar el acceso, hay que dar permisos a nivel del vcenter a nuestro usuario o grupo de administración.

Después, ya podemos entrar con el cliente VMware-viclient-all-5.5.0-1281650.exe a nuestra nueva instalación

Uso de credenciales de windows

Para usar en el cliente web las credenciales de windows, es necesario instalar en local el client Integration Plugin, que se indica en la página principal del web client

https://my-ip:9443/vsphere-client/

Configurando NSClient++ para monitorizar Windows 2012

Para monitorizar un SQL Server 2012 desde nagios, vamos a poner en los servidores de SQL Server NSClient++.

Instalación

Descarga la aplicación

Instalación del msi. Aconsejo hacer la instalación completa, el espacio que usa de disco es mínimo y se reducen los problemas después. Se especificando qué servidores de monitorización (nagios) va a lanzar los comandos.

El archivo boot, especifica donde se va a guardar la configuración de NSClient++. En nuestro caso, estará en nsclient.ini.

[settings]
1=ini://${exe-path}/nsclient.ini
[main]
write=ini://${exe-path}/nsclient.ini

Configuración NSCclient.ini

Servidores que podrán hacer consultas por nrpe:

[/settings/default]
allowed hosts = 192.168.25.0/24

Para aceptar argumentos en las invocaciones por nrpe

; Section for NRPE (NRPEServer.dll) (check_nrpe) protocol options.
[/settings/NRPE/server]

; COMMAND ARGUMENT PROCESSING – This option determines whether or not the we will allow clients to specify arguments to commands that are executed.
allow arguments = true

Powershell para iniciar y parar el servicio

restart-service nscp
stop-service nscp
start-service nscp

 

F5 Icontrol Powershell. Función para fijar una partición activa en los cmd-lets

A los scripts de devcentral, en el caso de estar usando particiones, será necesario en el inicio, la configuración de la partición activa como una carpeta.

#
# Set active partition
#
function  Set-Active-Partition (){

(Get-F5.iControl).SystemSession.set_active_folder($partition);
$folder = (Get-F5.iControl).SystemSession.get_active_folder();

}

Al igual que para tmsh, las particiones se ven como carpetas.

F5. Uso de api de Icontrol en poweshell

Es necesario descargar de la página de devcentral el componente iControlSnapInSetup.msi.

Tras el instalador, se abre power shell y se cambia la política de ejecución de Powershell como mínimo a RemoteSigned.

PS C:\Program Files> Set-ExecutionPolicy RemoteSigned

Se registra el componente en la consola de powershell, para poder usar sus llamadas. Para windows de 32 bits:

PS C:\Program Files> cd “C:\Program Files (x86)\F5 Networks\iControlSnapIn

PS C:\Program Files (x86)\F5 Networks\iControlSnapIn> .\setupSnapIn.ps1

En windows de 64 bits, hace falta copiar el archivo de 64 bits a mano. Por alguna razón el instalador por defecto no funciona. (Más información)

Si todo ha ido correcto, aparecerá en el listado de Componentes de powershell:

PS C:\Program Files (x86)\F5 Networks\iControlSnapIn> Get-PSSnapin

PS C:\Program Files (x86)\F5 Networks\iControlSnapIn> Get-PSSnapin -registered

Para borrar un snapin:

PS C:\Program Files (x86)\F5 Networks\iControlSnapIn> Remove-PSSnapin -name iControlSnapIn