Welcome to Delicate template
Header
Just another WordPress site
Header

Tras un reinicio del HOST nos encontramos con alguna VM que no consigue arrancar. Al realizar el Start de la misma, aparece un error en la pestaña de Logs que indica que el VDI de la VM no esta disponible.

Este es un error conocido, que tiene fácil solución.  Por desgracia el log de la pestaña de XenCenter no da mucha información útil, así que mi recomendación es ir siempre al CLI y ejecutar desde allí el comando.

xe vm-start uuid=UUID_VM

dando como resultado:

Error code: SR_BACKEND_FAILURE_46

Error parameters: , The VDI is not available [opterr=Error scanning VDI UUID=XXXXX]

Por alguna razón el VDI de la VM en cuestión no esta disponible. La solución es muy sencilla:

Primero de todo, vamos a localizar el disco de la VM afectada, para ello ejecutaremos:

xe vdi-list name-label=NOMBRE\ VM\ AFECTADA

Esto nos mostrará el uuid de los VDI que tiene asignada la VM en cuestión. Es importante también localizar en que SR esta dicho disco.

Tras ello, vamos a quitar dicho disco “fantasma” de la VM dónde se encuentra asignado, para ello ejecutaremos:

xe vdi-forget uuid=UUID\ VM\ COMANDO_ANTERIOR

Ello, quitará el disco con UUID de la VM asignada. Tras ello, realizaremos un Re-scan de los SR. Podemos realizar-lo desde la consola XenCenter o desde la CLI.

 xe sr-scan

Una vez finalizado el proceso, incluimos de nuevo el disco sobre la VM. Desde XenCenter con la opción de atach y seleccionando el correspondiente disco de la VM (tengo la costumbre de dar nomenclatura especifica a cada disco aprovisionado para que sea mas fácil su localización por nombre, no es una mala practica 😉 )

También podéis realizar-lo desde cli, por supuesto 😉

Una vez finalizado, simplemente, arrancad la VM.

Zabbix es una herramienta de monitorización estupenda, con una curva de aprendizaje amplia, pero una herramienta con mucho recorrido.

En las últimas versiones de esta genial herramienta, podemos realizar tanto la instalación y descarga de la misma en formato virtual appliance, con lo cual, en la mayoría de los entornos, facilitará nuestra implementación y será mas que suficiente.

Un problema que me encuentro en TODAS las implementaciones basadas en este virtual appliance, es el siguiente error:

Lack of free Swap space on Zabbix Server

Ello es debido a que el virtual appliance distribuido no lleva reserva de disco para la memoria swap.

Vamos a ver un paso a paso, para la solución del problema.

1. Conectamos y nos validamos en la shell de nuestro v.apliance (local o vía ssh).

2. Ejecutamos lo siguiente:

# free -tom : Nos muestra la memoria disponible, utilizada y libre. Veremos que no disponemos de swap.

# swapon -s : nos muestra las estadísticas de nuestro swap. Debería aparecer a 0.

Ahora vamos a crear nuestra unidad swap.

# dd if=/dev/zero of=/var/swap_1 bs=1024 count=1000000 : Con esto generamos el fichero swap_1 de 1GB de espació que utilizaremos como swap.

# mkswap /var/swap_1 : Especifica /var/swap_1 como área swap de nuestro sistema.

# swapon /var/swap_1: Habilita swap sobre el fichero especial.

Con esto ya tendríamos solucionado el problema temporalmente. Vayamos a indicar-le a fstab que este sea montado/utilizado en el inicio del sistema.

# vi /etc/fstab : Editamos el fichero fstab

Añadir la siguiente linea:

/var/swap_1          swap                 swap       defaults              0 0

Tras ello podemos reiniciar la máquina y verificar que este aparece correctamente. Para ello:

# free -tom : Nos muestra la memoria disponible, utilizada y libre. Veremos que no disponemos de swap.

# swapon -s : nos muestra las estadísticas de nuestro swap.

Y con esto, ya tenemos nuestro problema de swapfile solucionado en nuestro virtual appliance de Zabbix, basado en OpenSuse.

En este post vamos a explicar como desplegar un nuevo dominio de active directory desde PowerShell.

Lo primero de todo, es tener en cuenta una serie de pre-requisitos antes de realizar la instalación.

Lo primero que debemos tener configurado es la directiva de seguridad para la ejecución de scripts de powerShell, el conocido  Execution-Policy.

Ejemplo: Set-ExecutionPolicy remotesigned –force

El comando debe ser ejecutado con un usuarios con derechos de administrador. Una vez establecida la directiva de ejecución, vamos a ver los pre-requisitos.

* Asegurar antes de nada el nombre del servidor.

* Establecer una IP estática para nuestro controlador

* Disponer de un DNS. **

* Disponer de las herramientas de administración.

Estas herramientas son instaladas desde ServerManager o desde el cmdlet de PowerShell Add-WindowsFeature. Vamos a generar un script de PowerShell, basado en los requisitos necesarios,  creado por Sciptingui, para la configuración previa necesaria de nuestro entorno.

#Establecer IP Estatica

# Se definen variables/datos

$ipaddress = «192.168.1.10»
$ipprefix = «24»
$ipgw = «192.168.1.1»
$ipdns1 = «192.168.1.1»

$ipdns2 = «192.168.1.10»
$ipif = (Get-NetAdapter).ifIndex

# Se configura la tarjeta de red.
New-NetIPAddress -IPAddress $ipaddress -PrefixLength $ipprefix -InterfaceIndex $ipif -DefaultGateway $ipgw

Set-DnsClientServerAddress -InterfaceIndex $ipif  -ServerAddresses (“$ipdns1”,”$ipdns2”)

#Establecer nombre de equipo

# Se define variables/datos

$dcname = «dc00»
Rename-Computer -NewName $dcname –force

#Instalación de herramientas

#Se establece fichero log para comprobaciones

$featureLogPath = «c:\tmp\installfeatureLog.txt»
New-Item $featureLogPath -ItemType file -Force

# Definimos variable con la caracteristica que incluye las tools
$addsTools = «RSAT-AD-Tools»

#Se procede a la instalacion de las Tools y se genera Log
Add-WindowsFeature $addsTools
Get-WindowsFeature | Where installed >>$featureLogPath

# Reinicio de máquina

Restart-Computer

Con la ejecución de este Script de PowerShell, dispondremos todo lo necesario en nuestra maquina para la instalación de un nuevo bosque.

1

2

Una vez finalize y reinicie la maquina, podemos comprobar que los cambios han sido aplicados correctamente.

Toca el momento de instalar el Controlador de dominio. Creemos un nuevo script. En este punto es necesario  utilizar el cmdlet Add-WindowsFeature el cual nos permitira instalar roles y caracterísitcas en nuestro Server 2012 (tal como hicimos anteriormente con las RSAT). Adicionalmente, haremos uso del cmdlet Wait-Job, el cual pausara la ejecución hasta que el comando add-windowsfeature haya terminado.

#Instalamos los roles AD DS, DNS y GPMC

# Definimos log
$featureLogPath = «c:\tmp\featurelog.txt»
# Arrancamos los cmdlets desde start-job para poder pausar

start-job -Name addFeature -ScriptBlock {

# Añadimos el rol de controlador de dominio
Add-WindowsFeature -Name «ad-domain-services» -IncludeAllSubFeature -IncludeManagementTools

# Añadirmos el servicio de DNS
Add-WindowsFeature -Name «dns» -IncludeAllSubFeature -IncludeManagementTools

# Añadimos las consolas de gestion
Add-WindowsFeature -Name «gpmc» -IncludeAllSubFeature -IncludeManagementTools }

# Esperamos a su finalización
Wait-Job -Name addFeature
Get-WindowsFeature | Where installed >>$featureLogPath

35

Este script instalará los roles y consolas necesarias pero no realizara la instalación del bosque. Para ello, seguiremos con un nuevo script. Con este, vamos a crear el dominio CTXDOM.COM

# Creación del Bosque y añadir controlador de dominio

$domainname = «ctxdom.local»
$netbiosName = «CTXDOM»
Import-Module ADDSDeployment
Install-ADDSForest -CreateDnsDelegation:$false
-DatabasePath "C:\Windows\NTDS"

-DomainMode «Win2012»
-DomainName $domainname

-DomainNetbiosName $netbiosName
-ForestMode "Win2012"

-InstallDns:$true
-LogPath "C:\Windows\NTDS"

-NoRebootOnCompletion:$false
-SysvolPath "C:\Windows\SYSVOL"

-Force:$true

 Cuando se ejecute, se nos preguntara el password de Administrador, para el SafeMode. 6

Para posteriormente, empezar el proceso de  configuración del dominio.7

Terminará el proceso con un reinicio de la VM: 8

Y veremos que ya podemos logar como administrador del dominio.9

Notas:

* El artículo no es original y esta basado en el artículo de Ed Wilson de Microsoft Scripting Guy.

* Los Scrips han sido probados y testeados en un servidor virtual 2012R2.

Recursos:

* Fuente Original:

http://blogs.technet.com/b/heyscriptingguy/archive/2013/01/03/use-powershell-to-deploy-a-new-active-directory-forest.aspx

* CMDLET for Check FSMO-Roles:

http://gallery.technet.microsoft.com/scriptcenter/PowerShell-Function-to-bec6c607

Tan rápido como ejecutar en nuestra consola de power-Shell del servidor:

Add-WindowsFeature “RSAT-AD-Tools”

Una vez finalizado el proceso, ya dispondremos de nuestras consolas para la administración remota de nuestro entorno.

rsat1

 

Concurso Microsoft Drones: Os dejo un interesante concurso de microsoft en el que podéis ganar un ARDrone2.0 estas navidades. http://www.laguerradelosdrones.com/

 

Existe un método rápido para localizar el Master de un Pool de XenServer?

De echo, existen, como mínimo, tres métodos para ello.

Vamos a empezar, del mas difícil, pero mas «molón» al mas sencillo.

Método 1: Using CLI: XE commands

xe pool-list params=uuid,master

Ello nos mostrara la lista de host, con su UUID y el UUID del Master. Tras ello, ejecutamos:

xe host-list uuid=UUID_Master

Substituimos UUID_Master, con el UUID suministrado el anterior comando. Ello nos mostrara el host master del actual pool de XenServer.

Método 2: Using CLI: Cat file

El servidor master actual se almacena en un fichero dentro de los host de XenServer. Este es llamado Pool.conf. Así que un sencillo «cat» sobre el fichero, nos mostrará el nombre del Master del Pool de XenServer

cat /etc/xensource/pool.conf

Método 3: Using XenCenter

El método mas sencillo. El primer host aparecido, bajo el nombre del Pool de XenServer… es el servidor maestro de XenServer.

Pues eso es todo, ¿se os ocurre algún método mas?

 

Vamos a ver como obtener detalles y añadir usuarios sobre aplicaciones publicadas en XenApp desde PowerShell.

Lo primero que debemos realizar es instalar SDK de CITRIX XenApp.

URL: http://community.citrix.com/display/xa/XenApp+6.5+Powershell+SDK

Arrancar «PowerShell With Citrix XenApp»

WPShell1

o arrancar PowerShell y cargar Snap-Ins de Citrix XenApp SDK.

Add-PSSnapin Citrix.XenApp.Commands

Los modulos cargados en el proceso són:

WPShell2

Lanzamos los primeros comandos:

Get-XAApplication

Ello mostrará una lista con todas las aplicaciones y sus detalles.

Si queremos obtener la lista de aplicaciones de una carpeta de publicación determinada, podemos ejecutar:

El campo que nos ocupa en este caso a consultar es:

FolderPath : Applications/Folder1/Folder2/

Para realizar la consulta sobre las aplicaciones de una carpeta, ejecutaremos:

Get-XAApplication –FolderPAth “Applications/Folder1/Folder2”

Con ella, también obtendremos un detalle de todas las apps. Si a esta consulta, queremos obtener únicamente los nombres de las aplicaciones, filtraremos del siguiente modo:

Get-XAApplication –FolderPAth “Applications/Folder1/Folder2” | Format-Table –Autosize –Property BrowserName (o DisplayName)

Obtenida la lista de las aplicaciones que queremos modificar, es el momento de empezar a realizar modificaciones.

Add-XAApplicationAccount Application Domain\User

Ello incluirá el usuario domain\user sobre la aplicación “Application”.

Y si queremos incluir el usuario a todas las aplicaciones de la carpeta?

Hagamos-lo!

foreach($application in Get-XAApplication –FolderPath “Applications/Folder1/Folder2”) {
Add-XAApplicationAccount $application.DisplayName «Domain\test1»
}