Feb22

Modificar el tamaño del un Disco Duro Virtual

Tags: Virtual PC

 

Trabajando con máquinas virtuales es común que un disco duro virtual, sobretodo el de sistema, se te acabe quedando pequeño, a mi trabajando con MOSS siempre me pasa....

Existe la posibilidad de añadir mas discos duros virtuales, pero esto no es siempre una solución viable,porque por defecto hay muchas cosas que necesitan espacio en el disco del sistema.

Y bueno, para solucionar esto hoy me he puesto a buscar como se hacia, yo lo he hecho alguna vez, y no se sido encontrar el post de donde lo leí, y buscando me he encontrado con soluciones bastante peregrinas e incluso otras donde se decía que no se puede.....

Haciendo un poco de memoria me acordé que esto lo hice usando el VHDResizer, una herramienta que básicamente replica tu disco duro virtual y te deja dimensionarlo, es decir crea un nuevo archivo de disco duro virtual con tu contenido anterior pero te permite indicar el nuevo tamaño:

image

Una vez que el "resize" del disco duro en cuestión ha terminado (tarda un rato, dependiendo del tamaño del disco duro), el siguiente paso es añadirlo a una máquina virtual, pero no como disco duro principal, sino como uno de los disco adicionales:

image

Es necesario hacerlo así, ya que sobre el disco del sistema nos nos dejará redimensionar.

En la máquina virtual ahora tenemos esta estructura de discos, en la que vemos que el nuevo disco duro virtual tiene espacio sin asignar:

 image

Para asignar este espacio a continuación del contenido de nuestro disco yo he usado una herramienta de Windows llamada diskpart.

Ahora en la máquina virtual desde un "promp" ejecutamos esta utilidad, seleccionamos el nuevo volumen, en este caso el F, como veíamos antes en la administración de discos, y sobre este volumen ejecutamos un comando para extender dicho volumen, si a este comando no se le especifica ningún parámetro se extenderá todo lo que pueda, que es lo que queremos:

image

Una vez ejecutado así queda nuestro nuevo disco:

image

Si ahora en la configuración de la máquina virtual, la configuramos para que este sea el disco primario, ya tenemos el mismo contenido de nuestro disco duro virtual y el tamaño del nuevo.

Publicado: 22-Feb-09 | 5 Comentarios | 777 Enlaces a este post

Feb17

PowerShell & SharePoint II-Liberar los objetos SPSite y SPWeb correctamente

Tags: MOSS/WSS, PowerShell

 

En un post anterior (PowerShell & SharePoint I) comentaba los diferentes usos y el a mi parecer gran potencial de PowerShell junto con Sharepoint y mediante un sencillo ejemplo ilustraba como funciona.

Recientemente investigando mas profundamente la herramienta SPDisposeCheck me encontré con un post que precisamente habla de como liberar correctamente esos objetos.

Básicamente explica que cada nuevo comando de PS, se ejecuta en un thread distinto y por lo tanto tiene su propia pila de memoria y que si en uno de los comandos de PS se captura un objeto SPSite o SPWeb, no sirve de nada liberarlo en otra llamada, ya que la pila es distinta, esto ocasiona perdidas de memoria (memory leaks), que solo recuperaríamos al cerrar la consola de PS.

PS>  $S = New-Object Microsoft.SharePoint.SPSite(“http://localhost”)

PS>  $S.Title

Sitio de Prueba

PS> $S.Dispose()

En esta ejecución aunque capturamos el objeto SPSite y posteriormente lo liberamos, no recuperaríamos la memoria, la forma de hacer esto correctamente seria esta:

PS>  $S = New-Object Microsoft.SharePoint.SPSite(“http://localhost”);  $S.Title; $S.Dispose()

Todas las instrucciones dentro del mismo comando de PS, así todo se ejecuta en el mismo thread y puede ser liberado, solo es un poco mas lioso pero mucho mejor en términos de rendimiento. También podríamos ejecutarlo como un script que si que ejecutaría el mismo thread.

Volviendo a mi post anterior es fácil darse cuenta que tal y como esta descrito los objetos no son liberados correctamente.

Publicado: 17-Feb-09 | 0 Comentarios | 413 Enlaces a este post