Preguntas y respuestas sobre ExchangeRegistros de transacciones, cmdlets, administración remota y más

KC Lemson and Nino Bilic

P ¿Cuál fue la razón para reducir el tamaño del registro de transacciones a 1 MB en Microsoft® Exchange Server 2007?

R Bien, en Exchange 2007 tenemos una característica muy sofisticada llamada "trasvase de registros", que es la tecnología subyacente a un par de nuevas características: la replicación continua local (LCR) y la replicación continua en clúster (CCR). Cuando está habilitada en un nivel de grupo de almacenamiento (SG), los registros de transacciones de SG se copian del SG de producción en ejecución al SG de copia. Los registros del SG de copia se reproducen en la base de datos para mantenerse actualizados. Esto es obviamente una explicación simplificada de lo que pasa, pero se entiende.

La pega es que los registros de transacciones no se pueden enviar al SG de copia a no ser que el registro se cierre en el SG de producción. Es decir, el registro e00 (el registro actual en el primer grupo de almacenamiento) no se puede enviar hasta que no esté lleno, cerrado y su nombre haya cambiado. Además, hay configuraciones que controlan el número de registros rezagados que puede haber en este proceso, dado que hay un equilibrio entre disponibilidad y rendimiento. Estas configuraciones están disponibles cuando se ejecuta el cmdlet Set-MailboxServer en el Shell de administración de Exchange. El archivo de Ayuda ofrece detalles acerca de los parámetros exactos necesarios.

Para resumir, hemos reducido el tamaño del registro de transacciones para reducir al mínimo la cantidad de datos que pueden estar faltos de sincronización entre dos copias del grupo de almacenamiento. Esta situación se presenta cuando, por ejemplo, la unidad de disco duro de la base de datos de producción se bloquea y entonces tiene que hacer algo para iniciar el SG a partir de la copia. Los registros de transacciones más pequeños le proporcionarán una mejor oportunidad de una menor pérdida de datos.

Lo que no quiere decir que podamos garantizar que sólo vaya a perder 1 MB de datos. Si los tomamos como que son registros de transacciones, es posible que el archivo de registro de 1 MB perdido contenga, por ejemplo, una transacción COMMIT de 5 MB de datos. En este caso, perdería esos 5 MB de datos en la copia; aunque haya recibido cinco de los registros con los datos propiamente dichos, el último registro con unos poquitos datos y esa transacción COMMIT necesaria es esencial.

En última instancia, deberá valorar si este es un riesgo aceptable dadas sus necesidades empresariales. La pérdida de una pequeña cantidad de datos con un tiempo de recuperación de sólo minutos podría ser perfectamente aceptable en comparación con la alternativa de horas de trabajo de restauración. Volveremos a este tema en el futuro.

P Ahora que los registros de transacciones son más cortos, ¿se "agotarán" los registros de transacciones más rápidamente?

R Cuando hablamos de Exchange, "agotar" hace referencia a nombres de registro de transacciones. En Exchange Server 2003, los registros de transacciones se nombran de esta manera:

E nn fffff.log

nn es el prefijo que cambia de SG a SG. Dado que nn permanecerá igual durante el ciclo de vida del SG, el número de registros de transacciones con nombres exclusivos que se pueden crear para el grupo de almacenamiento es esencialmente el valor "fffff", que es aproximadamente un millón de registros (nota personal: píntate de rosa las comisuras de la boca y ríete con locura). Algunos de nuestros clientes se han tropezado con este límite en servidores de correo de uso intensivo.

A partir de Exchange Server 2000, hemos proporcionado una revisión para mostrar un evento en el registro de aplicaciones cuando nos aproximamos a este límite. Consulte support.microsoft.com/kb/896001 (en inglés) para obtener más información al respecto.

Perfecto, una vez resuelto esto, ¿qué sucede en Exchange 2007? Acabamos de decir que los registros de transacciones se han reducido de 5 MB (el tamaño en versiones anteriores de Exchange) a 1 MB (el tamaño en Exchange 2007). ¿Significa esto que basta con una quinta parte de los datos para que se agoten los nombres de registro de transacciones únicos?

La respuesta es: no. En Exchange 2007, el nombre del registro de transacciones está en este formato:

E nn ffffffff.log

Observe que tenemos "ffffffff" registros con los que trabajar, en comparación con "fffff" en versiones anteriores de Exchange. Debido a la matemática del Motor de almacenamiento extensible (ESE) interno, Exchange 2007 no puede crear todos los "ffffffff" registros. Lo que crea son "7fffffec" registros, que sigue siendo un número bastante grande (si no lo cree, convierta este número de hexadecimal a decimal).

¿Qué significa esto en la vida real? En la vida real, significa que con Exchange 2007 puede crear unas 2048 veces más registros que en versiones anteriores de Exchange. Ahora tengamos en cuenta el hecho de que el tamaño de los registros se ha reducido a una quinta parte de lo que solía ser:

2048 / 5 = 409.6

como puede ver, el nuevo esquema de nomenclatura de registros puede tratar 409 veces más datos que el anterior. Y recuerde que es por SG, no por servidor, porque cada grupo de almacenamiento tendrá un prefijo de archivo de registro diferente (como e00, e01, etc.). ¿Hemos mencionado que puede crear 50 SG por servidor en la versión Enterprise de Exchange 2007? No creemos que haya grandes posibilidades de que alguien se quede sin registros de transacciones por el momento.

P ¿Cómo puedo administrar servidores Exchange 2007 de forma remota?

R Existen unas cuantas opciones para administrar servidores Exchange 2007 de forma remota. En primer lugar, puede instalar las herramientas de administración de Exchange 2007 en un equipo distinto del servidor Exchange, siempre y cuando dicho equipo ejecute la versión de 32 o 64 bits de Windows Server® 2003 Service Pack 1 (SP1) o posterior, Windows Server 2003 R2 o Windows XP SP2 o posterior. Tenga en cuenta que la instalación de algunas funciones de servidor (acceso de cliente, buzón, borde, etc.) en hardware de 32 bits no se admite en entornos de producción, pero sí es posible instalar las herramientas de administración en un equipo de 32 bits. Asimismo, tenga en cuenta que a partir de la versión inicial de Exchange Server 2007, las herramientas de administración no se admiten en Windows Vista™.

En algunas organizaciones, el departamento de TI crea un solo servidor para que funcione como servidor de administración, e instala en él todas las herramientas de administración necesarias para los diversos productos. Luego, los administradores que necesitan usar estas herramientas obtienen acceso al servidor de administración a través de Terminal Server para realizar la administración remota. En otra configuración, los usuarios instalan las herramientas de administración en sus propios escritorios.

Desde la consola o el shell, puede realizar operaciones en los servidores de la organización. En la consola, los servidores son visibles y puede realizar operaciones en cualquiera de ellos de forma remota. En el shell, muchas de las tareas admiten una marca de filtrado de servidores por si desea realizar alguna operación en un solo servidor. Sin embargo, hay algunas excepciones para los comandos que se ejecutan de forma local, como el comando Get-NetworkConnectionInfo.

P En su última columna, nos dijo la cantidad de RAM recomendada para un servidor Exchange 2007. ¿Qué me dice del tamaño del archivo de paginación?

R Para evitar posibles errores de memoria virtual insuficiente en servidores Exchange 2007, recomendamos las siguientes pautas para determinar el tamaño del archivo de paginación del sistema.

Si el servidor tiene menos de 8 GB de RAM, entonces el tamaño mínimo del archivo de paginación debe ser la cantidad de RAM más 10 MB. De modo que, si el servidor tiene 4 GB de RAM, el tamaño mínimo sería 4 GB más 10 MB. No obstante, el tamaño recomendado del archivo de paginación es la cantidad de RAM multiplicada por 1,5. De modo que, para el servidor de 4 GB, esto sería 6 GB.

Además, el tamaño mínimo del archivo de paginación se calcula igual para un servidor con más de 8 GB de RAM, es decir, la cantidad de RAM más 10 MB. Sin embargo, el tamaño recomendado se determina de forma diferente. Básicamente, en un servidor con más de 8 GB de RAM, sólo debería tener 1,5 veces la cantidad de RAM si recibe errores de memoria virtual insuficiente con archivos de paginación más pequeños.

Tenga en cuenta que los errores mencionados en este caso no tienen nada que ver con la fragmentación de memoria virtual (un problema de los servidores Exchange 2000 y Exchange 2003). Estos son errores emergentes reales registrados por el sistema que indican que el tamaño del archivo de paginación está aumentando o que el archivo de paginación es muy pequeño.

P Me gustaría aprender a usar el Shell de administración de Exchange, pero nunca he usado una línea de comandos para administrar mis sistemas. ¿Por dónde debo empezar?

R En primer lugar, comencemos con algunos aspectos básicos. Cada cmdlet del Shell de administración de Exchange está formado por un solo verbo y un solo nombre. El Shell de administración de Exchange usa sólo unos cuantos verbos: "Get" se usa para recuperar propiedades de objetos, "Set" para cambiar las propiedades de un objeto, "New" para crear objetos nuevos, etc. Los nombres del Shell de administración de Exchange incluyen muchos conceptos con los que ya están familiarizados todos los administradores de Exchange (por ejemplo, Mailbox, Contact, Queue y OWAVirtualDirectory). Hay también conceptos nuevos en Exchange Server 2007 (como TransportRule, StorageGroupCopy y UMAutoAttendant). De modo que, en la práctica, un cmdlet básico se parecerá a New-Mailbox (que creará un buzón) o a Get-Mailbox (que recuperará una lista de buzones de la organización).

Sin embargo, la mayoría de los cmdlets necesitarán más detalles acerca de lo que intenta realizar exactamente. Si desea cambiar una propiedad de un buzón, por ejemplo, deberá especificar qué buzón y qué propiedad. Esto se realiza mediante parámetros. Si New-Sandwich fuera un cmdlet, entonces los parámetros podrían ser -NumberOfTomatoSlices 4, -Bread Wheat, y otras opciones semejantes que especifican con más detalle la forma que desea que adopte el bocadillo (-FlufferNutter $true-ahhhh yum).

Una vez que ha comprendido la división verbo-nombre, puede usar la exposición de línea de comandos en el Asistente de la Consola de administración de Exchange (EMC) para familiarizarse con los cmdlets y las operaciones que realizan. En la Consola de administración de Exchange, ejecute el Asistente para crear un usuario nuevo. Al final del Asistente, cuando haya terminado la operación, verá una copia del comando que ha ejecutado el Asistente de forma oculta (consulte la figura 1). Al presionar Ctrl+C se copia el contenido de este cuadro de diálogo de modo que pueda pegar el cmdlet en el Bloc de notas y juntar sus propios archivos por lotes sencillos.

Figura 1 Exposición de línea de comandos para crear un nuevo usuario

Figura 1** Exposición de línea de comandos para crear un nuevo usuario **(Hacer clic en la imagen para ampliarla)

Si desea practicar el uso de cmdlets (pero no desea ocasionar ningún daño), un buen truco es poner -WhatIf al final del comando. Cuando lo haga, el sistema le indicará lo que ocurre al ejecutar el comando sin realizar cambios reales en el sistema.

Una vez que esté familiarizado con los cmdlets básicos (como *-Mailbox), es probable que desee probar algunos otros. Para encontrar más cmdlets, use el cmdlet Get-ExCommand. Esto mostrará una lista de todos los cmdlets de administración de Exchange. Realice esta tarea mientras ejecuta el Shell de administración de Exchange. La mera apertura del Shell de comandos de Microsoft o de Windows PowerShell™ no permitirá realizar esta ni ninguna otra tarea de administración de Exchange. La lista es inmensa, de modo que use caracteres comodín para encontrar lo que busca. Por ejemplo, Get-ExCommand *database* devolverá una lista de todos los cmdlets de Exchange que tienen "database" en el nombre, como Dismount-Database, Move-DatabasePath y New-MailboxDatabase.

Si cree conocer parte del nombre que busca, puede realizar un recorrido por las opciones. Por ejemplo, puede escribir Get-Mailbox y, a continuación, presionar la tecla Tab para recorrer todos los cmdlets con mailbox en el nombre de la tarea. Incluso puede combinar el uso de caracteres comodín y la tecla Tab. Por ejemplo, puede escribir Get-*Mailbox* y usar Tab para ver las opciones posibles.

Otro sencillo truco es usar indicaciones. Cada cmdlet tiene un conjunto de parámetros que son necesarios de forma predeterminada: los parámetros básicos necesarios para realizar la operación. Los cmdlets "Get", como Get-Mailbox, no necesitan parámetros. De forma predeterminada, Get-Mailbox devolverá una lista de todos buzones de la organización. La lista devolverá 1000 como máximo, de forma predeterminada. Para cambiar este límite, puede escribir, por ejemplo, Get-Mailbox -ResultSize 2000. Los cmdlets que crean o modifican objetos (como Set o New) solicitarán la información necesaria respecto al objeto que desea crear o modificar. Si, por ejemplo, ejecuta New-Mailbox, el shell solicitará, uno por uno, los datos de contraseña, base de datos, nombre, etc.

Para obtener más información acerca de los parámetros posibles en un cmdlet dado, use el sistema de Ayuda: Help Move-DatabasePath. También puede escribir simplemente Move-DatabasePath, Move-DatabasePath -?, etc.; intentamos tener cubiertas las bases. La Ayuda le proporcionará una descripción del cmdlet y una lista de los parámetros junto con el propósito de cada uno. También puede tener acceso a la Ayuda con el cmdlet Get-Help. ¿No se siente bien escribiendo simplemente Get-Help? ¿No desearía que algunas personas pudieran ejecutar ese cmdlet en el mundo real?

Otra manera de descubrir los posibles parámetros en un cmdlet es usar Tab en los nombres de parámetro. Escriba Get-Mailbox -S y presione Tab, y recorrerá los posibles parámetros que empiezan con S.

Y, a continuación, desde luego, está el extenso sistema de Ayuda. Si no encuentra lo que busca sin conexión, no olvide comprobar el contenido de la Ayuda actualizado regularmente en go.microsoft.com/fwlink/?linkid=79421 (en inglés) y la guía de referencia rápida en go.microsoft.com/fwlink/?linkid=64647 (en inglés).

Todo este material le iniciará en la Consola de administración de Exchange, pero esta información apenas roza la superficie de la eficacia y la flexibilidad de la línea de comandos. Profundizaremos más en este tema en próximas columnas.

P En el Administrador del sistema de Exchange (ESM) de Exchange Server 2003, podíamos ver fácilmente el tamaño del buzón de todos los usuarios. Esta característica parece haber desaparecido en Exchange 2007. ¿Hay alguna manera de conseguir lo mismo en Exchange 2007?

R En la nueva consola de Exchange 2007, puede obtener el tamaño de un buzón en la página de propiedades generales del propio buzón. Si desea ver esta información para varios usuarios, deberá usar el Shell de administración de Exchange.

Si ejecuta Get-MailboxStatistics, obtendrá los datos de todo un servidor, y no sólo los de una base de datos determinada. De forma predeterminada, el tamaño no se muestra; tiene que ejecutar el cmdlet con Format-List para obtenerlo:

get-mailboxstatistics | format-list

Podría resultar mejor elegir lo que desea ver y canalizarlo a una tabla. En este ejemplo, obtenemos el nombre para mostrar del buzón, el tamaño total de los elementos, el tamaño total de los elementos eliminados y la base de datos en la que se encuentra el buzón:

Get-MailboxStatistics | Select-Object 
displayname,totalitemsize,
totaldeleteditemsize,databasename 
| Format-Table

Según la información que busque, puede usar un formato diferente para el resultado. En este ejemplo, sucede que Format-Table funciona mejor que Format-List

KC Lemsones directora de administración de programas en el equipo de Exchange Server. Su PIN del cajero automático es 0000 (no se lo gaste todo de golpe).

Nino Bilicjefe técnico, pasa su tiempo libre cobrando cheques de 1.000 dólares de Bill en agradecimiento por reenvíos en su correo electrónico

© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.