Como reducir el tamaño de la carpeta WinSxS y liberar espacio en Windows 2012 con Features on Demand

En las segunda entrega de la traduccion de articulos mas populares de ASKPFEPLAT, les traemos este post acerca de la carpeta SxS.Para ver el articulo original, haz clic aquí.

Recuerdan estas carpetas en Windows 2003 Server?

clip_image002

No recuerdo cuantas veces me han preguntado cómo depurarlas.

Aparentemente no soy el único que odia el desorden.

Y qué me dices de la ventana que pide que introduzcas el CD-ROM que aparece en los momentos más inoportunos? He tenido experiencias en las que tengo un servidor crítico caído y nadie encontraba un CD.

Corrupción de archivos, reparaciones, instalación de nuevas características, todo requiere el CD.

Introducción al almacén de componentes

Con Windows 2008 en adelante, hubo un cambio de este Viejo método al directorio Windows Side-by-Side (WinSXS), y hubo mucho regocijo ya que introdujo muchas características nuevas que facilitaban el trabajo de los administradores:

· Ya no se requiere un CD cuando se instala un rol o característica nueva ( a menos que la hayas removido por complete lo cual se aplica a Windows Server 2012)

· Reparación automática de archivos corruptos usando una copia fiel del almacén de componentes.

· Las herramientas de reparación como el Revisor de archivos de sistema (sfc.exe) no requiere un CD.

· Todas las versiones previas de los archivos de sistema operativo se almacenan y las versiones nuevas también (en caso de que instales un rol o característica en el futuro)

clip_image004

Sin embargo hay algunas preguntas:

Que es este directorio winsxs y por qué es tan grande? Mira más abajo

Lo puedo borrar? No.

Lo puedo mover? No.

Lo puedo depurar? Depende…

Escribimos un artículo referente a esto:

https://blogs.technet.com/b/askcore/archive/2008/09/17/what-is-the-winsxs-directory-in-windows-2008-and-windows-vista-and-why-is-it-so-large.aspx

El punto es que a pesar de que desinstales un rol/característica los archivos aun estarán ahí junto con todas las actualizaciones que puedan ser requeridas.

Hay otro buen artículo que habla de cómo recuperar espacio después de un service pack.

https://blogs.technet.com/b/joscon/archive/2011/02/15/how-to-reclaim-space-after-applying-service-pack-1.aspx también este: https://support.microsoft.com/kb/2795190/EN-US

 

Windows Server 2012 Features on Demand (características bajo demanda)

Entonces llego Windows Server 2012 Features on Demand, el cual te permite remover cualquier rol/característica no necesitado sin afectar nada. Hasta ahora.

Es muy sencillo de utilizar con 3 simples pasos:

1) Abre una ventana de PowerShell (administrativa)

2) Usa el comando Get-WindowsFeature para encontrar el rol/característica

clip_image006

3) Para desinstalar, ejecuta el siguiente comando:
Uninstall-WindowsFeature –name <nombre del rol/característica> -remove

clip_image008

Tip: agrega el switch –Whatif al final para ver exactamente lo que será removido sin removerlo.

Para que hacer esto? Te daré tres razones:

1) Reducir el tamaño de la instalación base del SO.

2) Reducir el número de parches potenciales (y también reinicios)

3) Incrementar la seguridad removiendo características que no sean integrales para el rol del servidor.

Pero no te preocupes. Puedes añadirlos nuevamente después J

Entonces qué pasa si tratas de reinstalar un rol o característica que ha sido removido completamente?

Bueno, te daremos una advertencia diciendo que el rol no se encuentra y trataremos de obtenerlo de

Windows Update (o WSUS), alguna localidad especificada por GPO o manualmente especificar una ruta alterna.

Como se ve esto en powershell?

Para principiantes, cuando ejecutas el comando Get-Feature, te mostrara el rol o característica como Removido:

clip_image010

Si aun así intentas agregar el rol o característica a través de Powershell, así es como se ve:

clip_image012

En este punto, es obvio que no tenemos la GPO configurada con la ubicación alterna. Podemos darle acceso a internet al servidor y permitirle obtener la característica desde Windows update, si es posible, o podemos especificar una ubicación origen con el comando Install-WindowsFeature especificando el switch –Source. Aquí un ejemplo:

Install-WindowsFeature web-server –source {ubicación origen}

Así se ve desde la interfaz gráfica:

clip_image014

Si haces clic en “Specify an alternate source path option” aparece la siguiente ventana:

clip_image015

Puedes especificar una carpeta compartida que contenga el archivo install.wim, pero también necesitas especificar el índice de la imagen dentro del archive WIM. Mas al respecto en un minute…

Si quieres configurar esto desde antes puedes usar una GPO, la política que se configura es Computer Configuration\Administrative Templates\System\Specify settings for optional component installation and component repair

clip_image017

Así es como se ve la política cuando es configurada y habilitada:

clip_image019

Resaltando las opciones Never attempt to download payload from Windows Update o Contact Windows Update directly to download repair content instead of Windows Server Update Services (WSUS) . Estas opciones pueden ser útiles dependiendo la configuración de tu ambiente.

Personalmente pienso que es bastante bueno poder apuntar al archivo install.wim en vez de una carpeta compartida con un listado plano de archivos de instalación.

Para hacerlo se especifica el parámetro WIM junto con la carpeta compartida que contiene el archivo install.wim. También tenemos que especificar qué imagen dentro del archivo install.wim queremos usar como origen.

Para aquellos que no saben, un archivo .wim, es simplemente un contenedor que contiene (valga la redundancia) una o más imagines. Estas pueden ser imágenes personalizadas que hayas creado y capturado tú mismo, imágenes modificadas con actualizaciones inyectadas, o solo las imágenes base contenidas en el archivo .wim teniendo el cd de Windows server 2012 como origen.

Entonces, el número del índice que debemos proveer podría ser diferente dependiendo del archivo install.wim que apuntemos como nuestro origen.

Para encontrar que imagen quieres usar, ejecuta el comando dism /get-Wiminfo /wimfile:{ubicación del install.wim} para mostrar las imagines contenidas dentro del archivo. Así es como se ve para el archivo default:

clip_image021

Como estoy instalando Windows Server 2012 Standard en mi ambiente, necesito especificar un índice de 2. La mayoría de ustedes probablemente están instalando Windows Server 2012 Standard también, a menos que estén instalando servidores Hyper-V, entonces es más probable que estén usando la versión Datacenter o incluso Server Core. Sin embargo, no hay diferencias especificas en los roles existentes en diferentes versiones. Así que realmente, podría especificar un índice de 2 o 4 y estaría bien.

El resultado final es que mi ruta alterna se ve así:

Wim:\\KMS-2012\2012_Source\install.wim:2

Ahora cada vez que reinstale mi rol o característica, utilizara este origen y funciona muy bien!

Cosas a considerar cuando usas el archivo install.wim como tu origen:

· Conforme aplicas actualizaciones a tus servidores, querrás mantener tu archivo .wim actualizado también. Por qué es esto? Si removiste un rol o característica después de haber sido actualizado, es posible que la actualización que aplicaste previamente aplique a varios roles o características por lo tanto no fue removida. Cuando intentas reinstalar el rol usando el archivo .wim como origen, si no tiene el mismo nivel de actualizaciones que el servidor, esta operación fallara. Si es más Nuevo de lo esperado no hay problema. El problema es solo con versiones más Viejas.

· Cuando removemos un rol o característica, también se eliminan los archivos asociados con el mismo, pero no se desinstalan las actualizaciones que ya hayan sido aplicadas. Cuando el rol o característica son reinstalados necesitamos archivos de cualquier actualización que haya sido aplicada.

· Está bien si el archivo install.wim este más actualizado que el servidor en el que estas habilitando el rol o característica. La parte más importante es que el archivo install.wim tenga los archivos de todas las actualizaciones aplicadas al servidor afectado. También, si el archivo install.wim es más reciente que el servidor, al habilitar el rol o característica se instalaran nuevas actualizaciones directamente del archivo .wim. Para actualizar completamente el servidor, se necesita aplicar nuevas actualizaciones de la forma normal ya sea WSUS o manualmente.

Si crees que es mucho trabajo, utiliza Windows update siempre y cuando el servicio no este deshabilitado, bloqueado por un firewall o por política de grupo; si no encontramos lo que requerimos en el archivo install.wim o en el servidor, buscaremos automáticamente en Windows Update. Funciona muy bien! J

Disfrútenlo!

~ Charity “reducir el tamano de las instalaciones base es el futuro?” Shelbourne

Technorati Tags: Windows Server 2012,Features on Demand,WinSxS,reducir