Desfragmetación online y offline de Exchange Server

Modificado el Mon, 18 Mar 2024 a las 04:59 PM

Comenzaremos esta publicación con un poco de conocimiento general.

 

¿Que es desfragmentar?

Es el proceso en el cual los datos se vuelven contiguos dentro de un disco/BD. Mejora el acceso a los datos y la velocidad para obtenerlos.

Podemos considerar las bases de datos de Exchange Server como contenedores. Dentro de estos contenedores se agregan objectos tales como buzones, dentro de los buzones tenemos mensajes por ejemplo,.

Vamos a suponer que el siguiente recuadro es una base de datos.

La información de la base de datos esta contigua, es decir sin fragmentos

Conforme mas información nuevos buzones son creados, la llegada/envió de mensajes, mas crece el contenedor (la base)

Eventualmente los usuarios comenzaran a borrar mensajes y los administradores comenzaran a eliminar buzones. Esto crea lo que se conoce como White Space.

 

¿Que es White space?

El espacio en blanco es un área dentro de las bases de datos de Exchange que no esta actualmente en uso. El information store automáticamente re-usa espacio en blanco para nuevos objectos antes de expandir el tamaño de una base de datos (el .edb). Sin embargo, aun siendo espacio vacío, es reflejado en el tamaño de la base de datos y en disco duro.

Como decíamos, eventualmente información sera movida o eliminada de la base de datos, pero esta no se contrae de forma automática y esos espacios en blanco  quedan dentro de la base de datos. Por ejemplo, si tenemos unas base de 10GB y movemos buzones a otra base de datos con un tamaño total de 3GB. La base (.edb) seguirá manteniendo el tamaño de 10GBs. No bajara automáticamente de tamaño a 7GB.

La información de la base de datos queda pues, fragmentada

Esta es la causa por la cual se realizan las desfragmentaciones, para compactar la información de forma contigua, nuevamente.

 

¿Por que nos afecta tener una base fragmentada?

  1. Al no estar los datos contiguos, la escritura/lectura del disco se vera impactada en muchos casos esto causara latencia lo cual provocara que los usuarios experimenten lentitud en el envío/recepción de correo
  2. Espacio en disco. Una base fragmentada esta requiriendo de espacio en disco que en teoría no esta utilizando


NOTA: La fragmentación de disco duro ocurre a un nivel distinto que la fragmentación de datos de Exchange. No debemos confundir ambos tipos de desfragmentaciones (Aunque comparten el mismo principio)

Exchange Server trabaja dos tipos de desfragmentaciones:

ONLINE

OFFLINE


Una desframentación Online se realiza durante el mantenimiento automático de la base de datos (de forma continua en versiones mas recientes). Se encarga de ordenar los datos de forma contigua, eliminar información no necesaria (por ejemplo, buzones que estaban en eliminados) y compactar la base de datos.


A considerar:
1) No reduce el tamaño físico de una Base.
2) Se ejecuta al final de la ventana de mantenimiento de las bases en Exchange 2007 y de forma continua en versiones mas recientes
3) Compacta la información y mueve el white space al borde del .edb. Esto facilidata el I/O sobre la base de datos

 

La intención final de la desfragmentación online es lograr el siguiente resultado:

Es decir, supongamos que tenemos una base de 15GBs que esta fragmentada, esto genera mayor trabajo de I/O en el disco. Al llevarse a cabo una desfragmentación online, la información es compactada y esto facilita la lectura y escritura de la información, sin embargo. El white space no es eliminado de la base, así que aunque la desfragmentación online es crucial para temas de rendimiento, no ayudara a recuperar espacio en disco. Esta es una de las principales confusiones que la gente tiene ¿Por que no baja de tamaño la base de datos si diario hay desfragmentaciones online?. Ahora ya lo saben. 

 

Una desfragmentación offline se lleva a cabo de forma manual, mediante el comando eseutil /d “base.edb. Es considerado mas como una re-mediación que como un “mantenimiento”. Ya que para poder realizar una desfragmentación offline la base de datos debe estar desmontada.



La razón de esto es que al momento de realizar una desfragmentación offline se lee la información de la base original y se copian a un nuevo .edb, al terminar de copiarse, se elimina el .edb original y se renombra el nuevo .edb (al nombre del .edb original) para finalmente ser movido a la ruta de la base original. Lo que esto conlleva es que se renumera las paginas que son leídas de la BD para tener una nueva secuencia (y asi eliminar el whitespace), esto provoca que se cambie la firma de la base.

En otras palabras, después de hacer una desfragmentación offline, la base resultante es una totalmente nueva.

 

NOTA: Siempre se recomienda hacer un full backup después de realizar una desfragmentación offline. Ya que la base recibe una nueva firma (signature), en estricta teoría los logs apuntan a una nueva base de datos, si realizamos un restore de una copia vieja de la base de datos, los logs viejos no podrán hacer replay debido a que no detectara la base con la misma firma. Para los logs, se tratan de dos bases completamente distintas

 

A considerar:
1) Se debe desmontar la base de datos
2) Se ejecuta de forma manual mediante el comando:
eseutil /d base.edb
3) Reduce el tamaño físico de la base de datos, reclamando de esta forma espacio en disco

4) No debe ser usado como una actividad rutinaria de mantenimiento, sino como re-mediación

5) Para realizar un desfragmentación offline, se debe contar con 1.2X el tamaño de la base en espacio libre en disco.

 

Espacio en disco necesario para realizar una desfragmentación offline

Se requiere contar con un espacio de 1.2 (en algunos sitios indican el dato como 110% de tamaño de la base) para poder realizar un offline defrag. Supongamos que tenemos un disco duro de 12GBs, dentro de este disco tenemos una base de datos de 7GBs la cual nos reporta lo siguiente en event viewer: Event ID 1221 The database “database” has 1024 megabytes of free space after online defragmentation has terminated. Esto significa que el tamaño físico de nuestra base es de 7GBs, pero su tamaño lógico es de 6GBS

Base tamaño físico = 7GB

White space=  1GB

Base tamaño lógico = 7GB – 1GB6GB

Ahora, el whitespace puede ser utilizado como “espacio libre” al momento de desfragmentar (offline). Dado que para poder realizar una desfragmentación offline necesitamos tener 1.2X el tamaño de la base (tamaño logico) de espacio libre. Esto significa que en un disco duro de 12GB donde tenemos una base lógica de 6GB, el requerimiento de espacio en disco es el siguiente:

Calculo para offline defrag= 6GB1.2

Espacio en disco requerido = 7.2GB

Espacio total=  6GB7.2GB13.2GB

 

En este escenario, no podremos realizar una desfragmentación offline, ya que el espacio libre en el disco es de 6GB, pero necesitamos tener al menos 7.2GB adicionales. Es muy importante tener este dato a consideración. Adicionalmente ese evento solo aparece en la versión 2007

La desfragmentación offline dará el siguiente resultado:

Como podemos ver, la base vuelve a ser compactada y el espacio en blanco es reclamado por el disco. En otras palabras, el .edb de la base reduce su tamaño y recuperamos espacio en disco

  

¿Como ver el white space de una base de datos?

Podemos ver el espacio en blanco de una base de datos mediante el comando:

 

Get-MailboxDatabase -Status | ft name,databasesize,availablenewmailboxspace -auto



¿Cuando se recomienda utilizar una desfragmentación Offline?

  1. Cuando el espacio en disco a reclamar es demasiado grande (mucho white space)
  2. Después de realizar una reparación del tipo hard recovery (/P)
  3. Cuando sea solución comprada para algún comportamiento de store (algún TechNet o KB)


Fuente: http://blogs.itpro.es/imvoacevedo/2016/04/05/desfragmentacion-online-y-offline-en-exchange-server/

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo