Daily Archives: 11/11/2005

Mayores detalles sobre la expansión del tamaño límite de la base de mensajes en Exchange 2003 Standard Edition Post SP2 (2)

Como previamente habíamos comentado, Microsoft agregó algunas mejoras al store de Exchange standard edition.

Adios a los 16 GB
Ya todos sabemos que antes del SP2 de Exchange 2003, el límite de la base de datos era de 16 GB, sumando el .edb y el .stm. Es de recontra público conocimiento que con el SP2, este límite se va a 75 GB.
PERO, attenti a esto. Apenas instalamos SP2, el límite se va a 18 GB, y el resto lo deberemos configurar por entradas en el registro (registry) de Windows. Porqué se va a 18 GB y no a 75? Bueno, el grupo de desarrollo pensó en dos opciones:

1) Todas las implementaciones de Exchange, anteriores a SP2, se pudieron haber hecho pensando en el límite de 16 GB, por lo tanto los servidores podrían haber estado configurados para soportar sólo este tamaño (con particiones reducidas).
2) Tener mayor granularidad y evitar crecimiento no deseado en la base. A parte, sería bueno no configurarla al 100% de su capacidad, así tenemos la opción de volverla a montar con un nuevo límite y nos daría la posibilidad de reducir su “peso” bajando los correos a .pst.

La razón del cambio en registry? No se sabe, pero podemos suponer que no tuvieron tiempo para desarrollar una interface en tantos idiomas como Exchange está desarrollado.

El cambio en registry debería ser en la siguientes claves:

Store privado:
HKLM\System\CurrentControlSet\Services\MSExchangeIS\{server name}\Private-{GUID}

Para el store público:
HKLM\System\CurrentControlSet\Services\MSExchangeIS\{server name}\Public-{GUID}

La clave que debemos agregar es:
Tipo de valor: REG_DWORD
Nombre de valor: Database Size Limit in GB

Para la versión estándar, el valor que se puede agregar va de 1 a 75. Para la Enterprise, de 1 a 8000. Estos numeritos significan GB.

Para que los cambios apliquen, solamente debemos desmontar y montar el store. Si todo salió bien, un evento en el Visor de Sucesos con el número de ID 1216 será creado. Y dirá algo así como:

Tipo de suceso: Información
Origen del suceso: MSExchangeIS Mailbox Store
Categoría del suceso: General
Id. suceso: 1216
Fecha: 11/11/2005
Hora: 05:48:26 p.m.
Usuario: No disponible
Equipo: MSX01
Descripción:
El almacén de Exchange ‘Primer grupo de almacenamiento\Almacén del buzón (MSX01)’ está limitado a 53 GB. El tamaño físico actual de esta base de datos (el archivo .edb y el archivo .stm) es 13 GB. Si el tamaño físico de esta base de datos menos su espacio libre lógico excede el límite de 53 GB, la base de datos se desmontará de forma regular.

Para más información, haga clic en http://www.microsoft.com/contentredirect.asp.

Es capricho 18 GB?

Seguramente nos preguntaremos ¿porqué 18 GB y no otro número? Bien, para entender esto, tendremos que tener en mente el concepto de Database Size Buffer. Básicamente es un seteo que informa a Exchange para que grabe en el Visor de Sucesos (ID de evento: 9688) si la base de datos está cerca de su límite. La cercanía del límite sale del 10%… Cuando a la base le queda 10% para llegar al límite, Exchange entiende que está en esa cercanía. Teniendo un default de 18 GB, su frontera sería a los casi 2 GB, lo que significa que la entrada en el Visor de Sucesos sería a los 16 GB, el viejo límite.

El control del Database Size Buffer también es controlado via registro. Para modificar este valor, deberíamos tocar:

Tipo de Valor: REG_DWORD
Nombre de Valor: Database Size Buffer in Percentage

El valor ingresado debería ser el procentaje. Si ponemos 20, la advertencia se generará al 20%.

Tamaño físico o tamaño lógico?
Como previamente habíamos comentado Exchange SP2 hará diferencias entre tamaño físico y lógico para determinar el tamaño de la base. El tamaño físico hacer referencia al tamaño del .edb y .stm como lo vemos en el Explorer, o viendo sus propiedades. El tamaño lógico es ese mismo tamaño, menos los bloques libres que quedaron en la base cuando los elementos son eliminados, o descargados a PSTs. La cantidad de espacio libre, lo podremos revisar mirando el Visor de Sucesos, específicamente el suceso con ID 1221.

De manera predeterminada, estos análisis son realizados a las 5 AM, pero se puede cambiar esta config. via registry (también…):

Tipo de Valor: REG_DWORD
Nombre de Valor: Database Size Check Start Time in Hours From Midnight

El valor que tenemos que poner acá es la cantidad de horas pasada la medianoche que queremos que espere Exchange para hacer el análisis. Por ejemplo, si queremos que se haga a las 6 de la tarde, el valor acá sería de 18.

Anterior al SP2, cuando la base de datos llegaba a su límite, se desmontaba. Desde ya, podremos encontrar distintos trucos para darle un respiro de 1 GB más. Los muchachos de Redmond se pusieron las pilas y cambiaron un poquito estsa cosas. Veamos que pasa cuando llegamos a nuestro límite.
Cuando la base de datos llega a su límite, y el primer chequeo ha sido realizado por Exchange (a las 5 am) la base no es desmontada. En su lugar, un evento con ID 9689 es creado. Luego de esta advertencia, tendremos 24 horas para resolver el problema, de lo contrario al siguiente chequeo (5 am del día siguiente), la base de datos se desmontará informando un evento con ID 9690…

PERO!! Podremos montar nuevamente la base. Lástima que se desmontará a las 5 am del otro día, cuando el chequeo periódico se realice. Al menos le ganamos 24 horas más al Server…

Con todas estas mejoras, la gente de Microsoft espera que nuestra experiencia sea ¿más? sencilla…
Espero que les sirva,
Vernocchi Pablo.