Tuesday, December 27, 2005

Virtual Server Host Clustering Step-by-Step

A Step-by-step guide for using MSCS clusters to host Virtual Server guests was just released: http://www.microsoft.com/downloads/details.aspx?FamilyID=09cc042b-154f-4eba-a548-89282d6eb1b3&displaylang=en

Here’s the overview:

Overview

This document provides an introduction to the methods and concepts of Virtual Server host clustering. With Virtual Server host clustering, you can provide a wide variety of services through a small number of physical servers and, at the same time, maintain availability of the services you provide. If one server requires scheduled or unscheduled downtime, another server is ready to quickly begin supporting services. Users experience minimal disruptions in service.
Virtual Server host clustering is a way of combining Microsoft® Virtual Server 2005 R2 with the server cluster feature in Microsoft Windows Server™ 2003. This document describes a simple configuration in which you use Microsoft Virtual Server 2005 R2 to configure one guest operating system, and configure a server cluster that has two servers (nodes), either of which can support the guest if the other server is down. You can create this configuration and then, by carefully following the pattern of the configuration, develop a host cluster with additional guests or additional nodes.

Thursday, December 22, 2005

Microsoft Exchange Server ActiveSync Web Administration Tool released to the web!

http://www.microsoft.com/downloads/details.aspx?FamilyID=e6851d23-d145-4dbf-a2cc-e0b4c6301453&DisplayLang=en

The Microsoft Exchange Server ActiveSync Web Administration tool allows administrators to manage the process of remotely erasing lost, stolen, or otherwise compromised mobile devices.

By using the Exchange Server ActiveSync Web Administration Web tool, administrators can perform the following actions:
• View a list of all devices that are being used by any enterprise user
• Select/De-select devices to be remotely erased
• View the status of pending remote erase requests for each device
• View a transaction log that indicates which administrators have issued remote erase commands, in addition to the devices those commands pertained to

The Microsoft Exchange Server ActiveSync Web Administration Tool is designed for use With Exchange Server 2003 Service Pack 2 and Windows Mobile 5.0 mobile devices that support AKU 2.0 and above.
 
The question I've had most frequently is - 'Why is this a web tool and not in Exchange System Manager?'  The reason for that is that in talking with customers when we were developing this - many customers outsourced their mobile phone support or 1st line help desk.  They didn't want to give those people Exchange System Manager or Exchange Admin rights so now they can simply give them rights to the web admin tool and then it will allow them to wipe devices but not perform any other activity.

Microsoft Windows Kernel Memory Management and Microsoft Exchange Server

Here was part one from Mike Lee on Kernel Memory and Exchange...

INTRODUCTION

 

Kernel memory resource bottlenecks can drastically limit Exchange 2003 scalability. Kernel resource usage may vary greatly from one Exchange server to another. A hardware platform that can support 4000 heavy users in one organization may be limited to half that number in a different organization because of kernel memory exhaustion.

 

This flash is the first in a series of three. These flashes are important reading for everyone who supports or administers large scale Exchange servers.

 

Large increases in kernel memory consumption can be triggered by changes that few would anticipate as problematic. This could cause sudden and widespread Exchange server outages throughout an organization.

 

The purpose of this initial flash is to introduce the issue and provide technical background. The second and third articles in this series will address common factors that either limit or consume kernel memory, and provide specific advice about optimizations for better management of kernel memory. There may be additional articles in the series, as needed.

 

This article applies specifically to Exchange Server 2003 running on Windows Server 2003. However, much of the information presented here applies generally to application scalability on a 32-bit computing architecture.

 

The second flash in this series will discuss some new hardware features available on recent servers. Hot-add RAM and the installation of more than 4 gigabytes of RAM can consume large additional amounts of Windows kernel memory. The second flash will explain how these features work and how to optimize Exchange for them. This flash will be released shortly.

 

The third flash will explain how large security tokens presented by clients can quickly exhaust kernel memory, and provide recommendations for reducing average token size. This flash will be available near the 14th of December.

 

EXECUTIVE SUMMARY

 

Personal computer hardware continues to improve rapidly and dramatically in speed and storage capacity. But one thing that hasn't changed is the 32-bit processor and operating system architecture in the majority of Intel and AMD based computers used today.

 

Hardware performance is no longer the most important computing bottleneck. Instead, the theoretical limits of a 32-bit architecture define the ceiling on application speed and scalability.

 

The problem with a 32-bit architecture is that an application can juggle a maximum of only four billion bytes of information at once. For complex applications that service thousands of simultaneous users, four billion is not very much.

 

It has taken 20 years for general computing needs to outgrow the 32-bit architecture. The last quantum jump from 16-bit to 32-bit computing was a necessary precondition for enabling the sophisticated applications we depend on every day. Going from 16-bit to 32-bit allowed programs to go from handling about 64,000 pieces of information at once to handling four billion--a multiplier of 64 million. The next jump to 64-bit computing will allow applications to handle four billion times as much information as they do today.

 

Understanding the theoretical limitations of 32-bit architectures has not been very important to most people. Until recently, the ceiling on application scalability has been set by the performance limitations of processors, disks and networks. Theoretical 32-bit limits have not had a chance to come into play. But state of the art hardware can now process information so rapidly that everyone who works with large applications today needs a basic working knowledge of how memory works in a 32-bit world.

 

FREQUENTLY ASKED QUESTIONS (FAQ)

 

Why is a 32-bit architecture limited to 4 gigabytes of memory?

 

Before answering that, it is important to distinguish between memory address space and physical memory.

 

Each byte of memory in a computer must have a unique address so that applications can keep track of and identify the memory. In a 32-bit computer, the memory addresses are 32 bits long and stored as binary (base 2) numbers. There are approximately 4 billion possible different 32-bit binary numbers (2 raised to the 32nd power is 4,294,967,296). This accounts for the 4 gigabyte limit for addressable memory in a 32-bit computer.

 

The amount of physical memory on the computer is not related to the amount of memory address space. If a computer has 256 megabytes of physical memory, there is still a 4 gigabyte memory address space. If a computer has 8 gigabytes of physical memory, there is still a 4 gigabyte memory address space.

 

What happens when you run out of physical memory?

 

When all physical RAM in a computer is in use, Windows starts using the hard disk as if it were additional RAM. This is the purpose of the pagefile (also called the swap file). This means that the actual limit on the memory used by all applications is the amount of RAM installed plus the maximum size of the pagefile.

 

Generally, RAM memory is hundreds of times faster than the hard disk. Therefore, using the pagefile to relieve memory pressure incurs a significant performance penalty. One of the most effective things you can do to improve performance is ensure that there is enough RAM available to avoid frequent paging (swapping) of memory contents between disk and RAM.

 

How do Windows applications cooperate to share the 4 gigabytes of memory address space?

 

They don't.

 

Instead, each process is isolated from the rest and has its own 4 gigabyte address space. This means that the 4 gigabyte addressability limit applies on a per-application basis, not across all applications taken together.

 

Each process is assigned an address space of 4 gigabytes of virtual memory, regardless of the amount of available physical memory. Applications are not allowed direct access to physical memory.

 

How does the 4 gigabyte address space map to a computer's physical memory?

 

Windows controls physical memory resources (RAM and the paging file) and carefully allocates these resources. Applications are granted access to physical memory resources only as needed, not in advance.

 

When an application requests more memory, Windows maps some physical memory (as long as some is available) into the process's  address space. In essence, the virtual address is linked to a physical memory address. Windows maintains several tables that keep track of all of this, and the application knows only about the virtual memory address.

 

If both RAM and the paging file are completely full when an application needs more memory, an error will occur because of memory exhaustion.

 

In theory, it is possible for multiple applications to each request enough memory fill their entire address spaces. In practice, no server would be able to satisfy all those simultaneous requests.

 

How much memory does Exchange need?

 

Exchange is a very scalable application. It can be used to serve a few dozen clients or thousands. Its memory requirements increase in proportion to the work you want Exchange to do.

 

With current disk and server hardware, you can keep scaling Exchange up to the limits of its 32-bit maximum address space.

 

Memory usage for all Windows applications can be divided into two fundamental categories: kernel memory and user (application) memory.

 

Kernel memory is owned by the Windows operating system, and is used to provide system services to applications. All applications need to make use of kernel resources. Therefore, kernel memory is mapped into each application's address space so that the application can see and call on system resources.

 

By default, a full half of the virtual address space (2 gigabytes) for each application is dedicated to the Windows kernel. The other half of the address space is user memory. This is where the application loads all of its own code and data

 

It is possible to run out of kernel memory well before running out of user memory, or vice versa. There are trade-offs between kernel and user memory that have to be carefully balanced on a large scale Exchange server.

 

A large scale Exchange server is defined here as one that is handling so much traffic that it is in danger of exhausting either user mode memory addresses or kernel mode resources.

 

What happens when Exchange gets close to running out of  user address space?

 

It becomes more and more difficult to allocate additional memory. Allocations have to be made in smaller, less efficient blocks. Shortly before the address space is completely exhausted, virtual memory fragmentation will cause new memory allocations to fail entirely. Exchange must then be re-started. But this is only a temporary solution. After a period of time, the load on the server will cause the same problem to happen again.

 

To permanently solve the problem you must reduce the load on the server or you must obtain additional address space. You can get additional address space by borrowing it from the kernel.

 

Windows 2000 Advanced Server and Datacenter editions, and all editions of Windows 2003 (Standard, Enterprise and Datacenter) support a 4GT (4 Gigabyte Tuning) through the /3GB startup switch in the server's boot.ini file.

 

Instead of giving half of the address space to the kernel and half to the application, the /3GB switch allocates 1 gigabyte to the kernel and 3 gigabytes to each application. By increasing the user address space by 50%, you can continue to scale an Exchange server well beyond the limits of the default memory configuration. But there is a trade-off: you have now reduced available kernel resources.

 

How does the /3GB switch affect kernel resources?

 

Several of the most critical memory resources or pools in the kernel are pre-allocated as Windows starts. The size of these pools is set based on the address space allocated for the kernel. You cannot change the size of these pools without reconfiguring and rebooting the server.

 

If you set the /3GB switch, the initial size of these kernel memory pools will be reduced. At the same time, the amount of kernel resources applications demand will increase. This happens for two reasons: first, some additional kernel resources are required to support additional the additional user space memory, and, second, applications will be able to do more work and accept more connections than before.

 

For Exchange, setting the /3GB switch means that you will typically exhaust kernel resources before Exchange runs out of user address space.

 

Which kernel resources are most affected by use of the /3GB switch?

 

The resources listed here do not only affect Exchange. They are critical and are used to some extent by any application.

 

  • System Page Table Entries (PTE's) and Page Frame Numbers (PFN's). These map installed physical RAM to the virtual addresses that "own" the RAM. Adding physical RAM to a computer increases the demand for these resources, as does allocating the majority of a computer's memory to running applications.

 

  • Paged pool. Miscellaneous kernel resources are allocated from paged pool. This is called paged pool because this memory can be swapped to the pagefile on disk if necessary. Adding additional workload to the computer generally increases the demand for paged pool memory. 
  • Non-paged pool. The most critical kernel resources are allocated from non-paged pool. This memory is never allowed to be swapped out to the pagefile.

 

It is possible to manually tune the allocation of these resources. There are tradeoffs to be made if you do this. For example, if you increase available PTE's, this will proportionally reduce paged pool memory.

 

What happens when kernel memory resources are exhausted?

 

Symptoms of kernel memory exhaustion include:

 

  • Slow performance
  • Server crashes or cluster failovers
  • Errors that report complete exhaustion of system page table entries (PTEs) or kernel pool memory

 

A server may keep running, but may run so slowly that it appears to be completely unresponsive.

Configuring Hot-Add and Large Memory for Exchange 2003

Here is a good article from Mike Lee on dealing with Hot-Add and memory larger than 4GB on an Exchange 2003 server....

INTRODUCTION

 

This is the second flash about Windows 2003 kernel memory issues and Exchange 2003. The first flash provided technical background. This flash discusses important hardware issues that may affect Windows kernel memory and cause Exchange instability. The next flash (available in about 10 days) will explain the effect of large user security tokens on kernel memory usage.

 

EXECUTIVE SUMMARY

 

Servers that implement hot-add memory or that are configured with more than 4 gigabytes of physical RAM can require large amounts of additional kernel memory to support these resources. This reduces the kernel memory available for applications. Even though disk, network and processor bandwidth may be more than adequate, lack of kernel resources can be the bottleneck that limits application scalability. 

 

The impact of this issue for Exchange is primarily on large Exchange 2003 mailbox or public folder servers that host or accept connections from thousands of clients. In some cases, sub-optimal large memory configuration on a large Exchange 2003 server can reduce the server's carrying capacity by half and cause serious server instability.

 

If kernel memory issues are not adequately addressed, it may be necessary to reduce the server load by removing large numbers of mailboxes or to reduce the number of concurrent client connections to the server.

 

Symptoms of kernel memory exhaustion include:

 

  • Slow performance
  • Server crashes or cluster failovers
  • Errors that report complete exhaustion of system page table entries (PTEs) or kernel pool memory

 

This flash provides recommendations for optimizing the use of kernel memory on large memory hardware running Exchange Server 2003. Other applications may have different requirements and recommendations.

 

CALL TO ACTION

 

The Exchange Server Best Practices Analyzer Tool (ExBPA) has been updated in configuration file version 2.9.0.1 to identify and make recommendations for optimizing the majority of hardware platforms affected by these issues. All customers should run ExBPA and implement its memory optimization recommendations for Exchange Server 2003 running on Windows 2003.

 

Customers may also manually implement the optimization recommendations described below in this flash.

 

NOTE: Windows 2000 and Exchange 2000 are not greatly impacted by these issues because (1) Windows 2000 does not support these hardware features as fully as does Windows 2003, and (2) Exchange 2000 does not run on Windows 2003.

 

 

 

FREQUENTLY ASKED QUESTIONS (FAQ)

 

Which hardware configurations make additional demands on kernel memory?

 

Microsoft has identified two increasingly common hardware features that have significant impact on Windows kernel memory:

 

  • Support for more than 4 gigabytes of physical RAM. Adding RAM above 4 gigabytes allows a server running a 32 bit version of Windows to take advantage of PAE memory extensions. For more information about the advantages and limitations of PAE please refer to this article in the Microsoft Knowledge Base:

 

Large memory support is available in Windows Server 2003 and in Windows 2000

http://support.microsoft.com/kb/283037

 

  • Hot-add RAM. This feature allows you to add RAM while a server is running. The majority of servers that support hot-add RAM enable this feature by default.

 

Windows kernel memory must be allocated to support addressability for these new memory features. In the case of hot-add memory, the kernel impact is proportional not just to the actual amount of RAM installed, but to the theoretical maximum that could be installed.

 

To give you an idea of how significant a problem this can be, a server that enables support for 64 gigabytes of hot-add RAM can reduce a server's initial available kernel paged pool memory by more than 30%.

 

What should I do to increase the amount of kernel memory available for Exchange?

 

IMPORTANT NOTE: The following recommendations are in addition to the general memory tuning recommendations described in this Microsoft Knowledge Base article:

 

How to optimize memory usage in Exchange Server 2003

http://support.microsoft.com/kb/815372

 

Recommendations 1 and 2 below should be followed for all Exchange servers.

 

Recommendations 3 and 4 apply only to servers that support hot-add memory. If you are running Windows 2003 without a service pack, you should evaluate both recommendation 3 and recommendation 4 and implement them both if they are applicable. If you are running Windows 2003 with Service Pack 1 or later you do not need to implement recommendation 3. You should evaluate recommendation 4 and implement it if it is applicable.

 

  1. Download and run the Exchange Best Practices Analyzer Tool (ExBPA). This tool can be downloaded here:

 

http://www.microsoft.com/technet/prodtechnol/exchange/downloads/2003/analyzers/default.mspx

 

ExBPA detects Exchange server configuration problems and recommends solutions and optimizations. ExBPA checks for memory configuration optimizations beyond those described in this flash, and includes best practices and optimizations beyond those recommended in the Microsoft Knowledge Base. It is a good idea to run ExBPA after making configuration changes to ensure that the changes were correctly applied.

 

  1. Install no more than 4 gigabytes of physical RAM on any Exchange server. A server dedicated to running Exchange 2003 will not benefit significantly from installation of more than 4 gigabytes of physical RAM.

 

If more than 4 gigabytes of RAM have been installed, then remove the physical memory or set the /MAXMEM=4096 switch in the server's boot.ini file. This switch will prevent Windows from using the additional RAM and prevent additional kernel resources from being allocated for it.

 

  1. Disable hot-add memory at the hardware level, if your server meets all of the following conditions:

 

  • The server hardware supports hot-add memory.
  • You are running Windows 2003 Enterprise Edition or Datacenter Edition. This recommendation does not apply for Windows 2003 Standard Edition.
  • The /3GB switch has been set in the server's boot.ini file
  • No service pack for Windows 2003 has been installed.

 

Contact the manufacturer of the server for specific instructions for disabling hot-add memory. If hot-add memory cannot be disabled, then ensure that the /NOPAE switch is set in the server's boot.ini file.

 

  1. Disable hot-add memory at the operating system level, if your server meets all of the following conditions:

 

  • The server hardware supports hot-add memory.
  • You are running Windows 2003 Enterprise Edition or Datacenter Edition. This recommendation does not apply for Windows 2003 Standard Edition.
  • The /3GB switch has been set in the server's boot.ini file.

 

This recommendation applies regardless of whether you have installed any service pack.

 

Setting the following registry key will disable Windows memory reservations for RAM not already installed in the server. You must reboot the server after setting this key before it will take effect. If you install additional RAM in the server, another reboot will be required before the additional RAM is recognized by Windows.

 

HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management

Value: DynamicMemory

Type: REG_DWORD

Value Data: 1

 

For Windows 2003 with no service pack installed, the DynamicMemory setting will be ignored if the /3GB switch is set. The DynamicMemory setting works if the /3GB switch is absent. This problem has been corrected in Service Pack 1 for Windows 2003.

 

Because Exchange back-end servers typically run with the /3GB switch, the DynamicMemory setting will be ineffective for many Exchange servers running on Windows 2003 with no service pack installed. In these cases, you must follow recommendation 3 above to control hot-add RAM on Windows 2003 with no service pack installed.

 

NOTE: We still recommend that you configure the DynamicMemory setting on Windows 2003 with no service pack. Although the setting may have no immediate impact, it will be immediately effective after upgrading to a Windows service pack. You may also set this key if you are unsure whether your server supports hot-add memory. The presence of the key will do no harm on servers that do not support hot-add memory.

 

How can I monitor kernel memory on my server?

 

For more information about determining how much initial kernel memory is allocated on your server, and how it is allocated between various kernel memory pools, please see this article in the Microsoft Knowledge Base:

 

The Performance tool does not accurately show the available Free System Page Table entries in Windows Server 2003

http://support.microsoft.com/kb/894067

 

For general information about monitoring and troubleshooting memory usage on an Exchange server, please refer to this white paper:

 

Troubleshooting Exchange Server 2003 Performance

http://www.microsoft.com/technet/prodtechnol/exchange/2003/library/e2k3perf.mspx

 

What if I want to leave hot-add memory enabled? Or what if I host other applications on the same server that could make use of additional RAM?

 

Exchange 2003 is compatible with both hot-add and PAE memory. There is no hard requirement that either of these features be disabled on an Exchange server. The problem is that these features contend with Exchange and other applications and services for kernel resources. Rather than disabling these features, you could also choose to reduce the application load on the server until kernel memory issues are no longer encountered.

 

If Exchange does not use PAE, then why shouldn't I disable PAE on every Exchange server?

 

If an Exchange 2003 server is running on Windows 2003 Service Pack 1, you should not disable PAE.

 

PAE must be enabled to take advantage of the support for hardware-based Data Execution Prevention (DEP) that was introduced in Windows 2003 Service Pack 1. DEP is a security feature that prevents several common buffer overrun attacks from executing, regardless of whether particular software is vulnerable to the attack.

 

For more information about DEP, please refer to this Microsoft Knowledge Base article:

 

A detailed description of the Data Execution Prevention (DEP) feature in Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, and Windows Server 2003

http://support.microsoft.com/default.aspx?scid=kb;en-us;875352

 

Windows 2003 Service Pack 1 will detect AMD or Intel processors that support DEP and enable the PAE kernel even if the /NOPAE switch is set in the server's boot.ini file. (To disable PAE on servers that support DEP, you must also set the /EXECUTE switch in the server's boot.ini file.)

 

For versions of Windows prior to Windows 2003 Service Pack 1, Microsoft's advice is the opposite: You should not enable PAE on Exchange servers running on previous versions of Windows.

 

There is negligible benefit for Exchange performance and memory management from enabling PAE on previous versions of Windows, and there may be significant drawbacks in terms of kernel memory management.

 

If other applications on an Exchange server installed on a previous version of Windows require PAE, then you must install this update before enabling PAE:

 

http://support.microsoft.com/kb/834628

 

If your server supports PCI Express chipsets, and your server has 4 GB or more of RAM installed, then PAE must be enabled to prevent 256 megabytes or more of server RAM from being "hidden." This is because PCI Express reserves a large block of memory for its own use. Enabling PAE will allow the operating system to replace this lost memory with RAM mapped above the 4 gigabyte boundary. Enabling this memory will not provide a significant improvement in Exchange performance.

 

Can I increase kernel memory by removing the /3GB switch from the server's boot.ini file?

 

Microsoft does not recommend removing the /3GB switch if your server meets the criteria for which this switch is recommended. These criteria are described here:

 

How to optimize memory usage in Exchange Server 2003

http://support.microsoft.com/kb/815372

 

Removing the /3GB switch will increase the initial amounts of memory available for kernel memory pools. For example, it will increase the allocation for paged pool memory from approximately 250 megabytes to 350 megabytes. However, this benefit will come at the expense of the loss of 1 gigabyte of user mode virtual memory.

 

If you remove the /3GB switch for a large Exchange mailbox server, you must also reduce the number of mailboxes hosted on the server below the point where virtual memory fragmentation errors are reported. Removing the /3GB switch reduces the size of the Exchange cache buffers by half and this will impact performance.

 

Bi-weekly IMF updates for Microsoft Exchange 2003 a step closer

This article describes the update process for the Intelligent Message Filter version 2 feature that is included with Exchange Server 2003 SP2. By default, the Intelligent Message Filter feature is installed with Exchange Server 2003 SP2. You must manually enable the Intelligent Message Filter feature to obtain the benefits of this new message filtering technology. After you enable the Intelligent Message Filter feature, the .dat file and the .dll file must be updated regularly to keep the filter current and effective. This article describes the update process that keeps the Intelligent Message Filter up-to-date.

Intelligent Message Filter updates are available every first and third Wednesday through Microsoft Update and Automatic Updates technologies.
Organizations can also use Windows Server Update Services (WSUS) and System Management Services to deliver the updates in a corporate environment.

When the Exchange Server team cannot release the update on a Wednesday, they will release the update on the following day. In case the update is unavailable on a Thursday, the update for that week will be skipped. Then, the update will be released on the next scheduled Wednesday.

The Intelligent Message Filter is language-independent. Intelligent Message Filter updates are offered for all language versions of Exchange Server 2003.

How to enable updates
After you enable the Intelligent Message Filter in Exchange System Manager, to enable Intelligent Message Filter updates, you must create the ContentFilterState registry entry. To do this, follow these steps:
1. Click Start, click Run, type regedit, and then click OK.
2. Expand the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange
3. In the left pane, click Exchange. Then, right-click in the right pane, point to New, and then click DWORD Value.
4. Type ContentFilterState, and then press ENTER to name the new registry entry.
5. Right-click ContentFilterState, and then click Modify.
6. In the Data value box, type 1, and then click OK.
7. Quit Registry Editor.
8. In the Services snap-in, restart the Simple Mail Transfer Protocol (SMTP) service.

Version numbers
An Intelligent Message Filter update package includes both a .dll file and a .dat file for the filter. The version information for the Intelligent Message Filter update files MSExchange.UceContentFilter.dll and MSExchange.UceContentFilter.dat reflects the Exchange Server build versioning in the following format: MajorProductVersion.MinorProductVersion.MajorNumber.MinorNumber. The version numbers are consistent with the Exchange Server build number, such as 6.5.XXXX.X. This makes it easier to identify the version number of the Intelligent Message Filter update that you have installed on the computer.

The update package version of an Intelligent Message Filter update is based on the date of the package build. Additionally, the update package version of an Intelligent Message Filter update is identified in the package name. For example, an update package that is dated December 14, 2005 has the following title:
Update for Intelligent Message Filter on Exchange Server 2003: 2005.12.14 (KB907747)
The executable package for this update has the following file name:
IMF-KB907747-2005.12.14-x86.exe

The update process
Continue At http://support.microsoft.com/?kbid=907747

Tuesday, December 13, 2005

Microsoft releases Internet Security and Acceleration (ISA) Server 2004 Best Practices Analyzer Tool!

As promised other product groups will make BPA's available here is ISA!

The ISA Server Best Practices Analyzer is a diagnostic tool that automatically performs specific tests on configuration data collected on the local ISA Server 2004 computer from the ISA Server hierarchy of administration COM objects, Windows Management Instrumentation (WMI) classes, the system registry, files on disk, and the Domain Name System (DNS) settings.

The resulting report details critical configuration issues, potential problems, and information about the local computer. By following the recommendations of the tool, administrators can achieve greater performance, scalability, reliability, and uptime.

Microsoft Exchange Server Profile Analyzer

Use the Microsoft Exchange Server Profile Analyzer tool to collect estimated statistical information from a single mailbox store or across an Exchange Server organization. The collected data can be used for such tasks as analyzing the performance and health of a server that has mailboxes, improving capacity planning models, and improving testing methodologies and tools.

The Microsoft Exchange Profile Analyzer tool collects information related to user activity on production mailbox systems and can be used to generate aggregate user profile statistics for sets of Exchange users. Before using the tool in a production environment, you may wish to ensure that your collection and use of this information is consistent with the privacy and other laws of your country.
 

Microsoft released Exchange IMF update through WSUS, appearantly to soon

As reported yesterday on Bink.nu...

Microsoft told us a year ago that they would release updates for IMF (intelligent message filter for Exchange) on regular basis starting january 2005, unfortuantly they didn't appear. Last month at IT Forum in Barcelona the Exchange team publicly announced that the IMF updates are updating on Microsoft Update bi-weekly, we immediately checked, but we didn't see an update. We discussed this with the Exchange team in Barcelona, they checked it when they got back and told me they will start appearing half way into December.

Yesterday we got an email from Romain, telling us that an IMF update appeared on his WSUS server. Later when he looked he could only decline the update becuase "the selected update is expired" The good news is, IMF bi-weekly updates are getting close!

See screenshot (Thanks Romain).

Thursday, November 17, 2005

Exchange 2000/2003 Front End Server Logon Process

Tim Hackbart with PSS explains the basic OWA logon process... 

Working in Support Services, I get to explain this subject a lot, so I thought I’d share it here too. This blog post will explain what the flow of the client access a BE server through a FE server looks like, including access to domain controllers that has to happen as part of this process. The illustration shows the steps, which are then covered in more detail further down:

 

 

Step 1. The client makes a Http request to the Front End sever

 

Http://server/exchange

 

In this case the request is made over port 80-Http.  The client must first resolve the Host name and then attempt a connection to the returned IP address.

 

Step 2. The firewall has port 80 open to allow Http traffic

 

Note: Port 443 would be required for SSL traffic.

 

Step 3. The IIS server is listening on Port 80 and responds to the http request made by the client.  IIS will first determine which Web site to direct the http request to.  If there is only a Default Web site then ALL http requests will be sent to the Default Web site.  If there are multiple Web Sites configured then IIS will determine the appropriate web site to direct the request to depending on the Port, IP address or host header that uniquely identifies the individual web site.

 

Step 4. Once the http request has been sent to the correct web site, then that web site will send the request to the correct directory, in our case "\exchange".  IIS will then enforce the logon method using the Authentication Method specified in the Directory Security Tab- Anon, Basic or Integrated.  IIS will contact a Domain controller using RPC to authenticate the user and get a SID for that user using LogonUserEX API.  Note: Authentication will only be enforced at the Virtual Directory level.  We do NOT have to Authenticate to the Default Web Site, just to the specific resource requested, in our case the “Exchange” virtual directory.

 

Step 5. After the logon method is enforced by IIS the request is sent to the Exchange directory.  For this example the Exchange virtual directory has Basic authentication selected.  Since Exprox.dll is set as the application mapping for all (*) mappings Exprox will handle every request that is not picked up by the listed Application Extensions.  (In Exchange 2003 only Exprox.dll will then build a Kerberos Ticket and NTLM hash to send to the Back End Server.) Exprox will take the SID that IIS got and use Dsaccess to query the Global catalog returned by DNS over port 3268 for information about the user logging in.  The Global Catalog will respond to the LDAP queries with user information including the users Home MDB and SMTP proxy addresses.

 

Step 6. Exprox now knows the users home mailbox server and smtp addresses.  Exprox will then compare the Exchange path of the virtual directory and make sure that the user has an smtp address that matches.  If no matches are found, the user is returned an error message. (In Exchange 2003 SP1 this behavior changes, and you no longer need to have an SMTP address that matched the Exchange path).  If there is a match then exprox will proxy the request to the users home mailbox server over port 80.

 

Step 7. IIS on the back end server then has to again determine the correct web site to send the http request to. Then the request is sent to the Exchange directory, where it must be Authenticated again using the LogonUserEX API, then Davex.dll intercepts the request.  Davex will then once again use Dsaccess to query for the users Home mdb and smtp proxy addresses.  Davex will also check to make sure the user has an smtp address that matches the Exchange path (Unless you are at Exchange 2003 SP1, as mentioned before).  Davex will then send the request through Epoxy, Epoxy then talks to Exoledb which then talks to the store.  The data is then returned through the same process to Davex.  Davex then returns the web content to the user.  The response is sent to the Fe server over port 80

 

Step 8. The FE server receives the response and proxies the response to the client.

 

That is basically it! Hope this was useful!

 

Exchange Service Management Guide

Overview

Microsoft Exchange Service Management is a top-down, business-driven approach to managing a messaging environment. It specifically addresses the strategic business value that an Exchange team generates and the need to deliver a superior messaging service.

The guidance will help you implement process and team best practices within the corresponding components of the Exchange Service Management solution: Microsoft Operations Manager 2005 SLA Scorecard for Exchange and Systems Management Server 2003 Desired Configuration Monitoring.

This guide, along with SLA Scorecard and Desired Configuration Monitoring, targets the most critical areas for managing computers running Microsoft Exchange Server and for performing configuration and performance management.

Send questions or feedback to us directly at CISFdbk@microsoft.com

News Source: www.microsoft.com

Wednesday, November 16, 2005

Microsoft Exchange 12 roadmap from IT Forum

The pic speaks for itself, click on it for large view.

Exchange 12 Roadmap

Friday, November 11, 2005

Are large messages slowing your Exchange server down?

Dave Mills has recently posted this article on EHLO to help admins understand some of the logic for why Exchange handles NDR's and large messages the way it does.  It also shows good reasons why message size limits are so important.  I know for me this is a change of perspective I have had over the last couple of years.  I used to not believe in message size limits, but over the last 4 - 5 years have changed my mind and fully recommend them. 

As Ewan mentioned a little while ago, there are some pretty extreme things going on in some our customer’s Exchange environments.  One of the things that I could definitely relate to was the customer who sent a message that was 2.4GB that was successfully delivered.  While Exchange is quite capable of transferring huge messages, using it to do so usually results in severe performance issues.  In fact, one customer that I worked with was experiencing major problems due to a 6 GB message traveling through their Exchange server.  To make things even more interesting, the 6 GB message that we found was actually a non-delivery report (NDR) that was generated to tell a user that the 6 GB message that they had sent was over the maximum message size allowed for the organization.

 

Once we had the server back up there were a number of questions to be answered…

 

Why did the Exchange Information Store accept the message in the first place if it exceeded the configured size limits?

The Exchange Information Store accepts the message since it can’t tell whether a message exceeds configured size limits until it receives the entire message.

 

Why can’t we just modify Exchange’s behavior to stop accepting data as soon as it knows that the message is too big?

Doing this would actually result in a bigger problem – Outlook would just try to send the data again and again, resulting in a never-ending stream of data being sent to the Exchange server.  In addition to the obvious performance problems, this would result in a large amount of transaction log files being generated in a manner similar to the problem that Jeremy Kelly describes here.

 

Why did the Exchange Information Store pass it off to the categorizer?

Prior to Exchange 2003 SP1 and the Exchange 2000 Post-SP3 August 2004 hotfix roll-up the Information Store only performed size checks against per-user limits and not the global limit.  This greatly exaggerated the performance impact of large messages being sent through the system since the check against the global limit was performed much later in the message submission process.

 

With current versions of Exchange the check is now performed by the Information Store immediately upon message submission.  What this means is that Outlook clients in online mode will receive an immediate failure upon trying to send a message that is too large.  If Outlook is in cached mode, offline mode, or configured to connect to an Exchange server and use a PST as its delivery location then an NDR will be generated by the Information Store; since the message goes no further the impact on server performance will be much less.

 

Won’t that large NDR for non-online mode clients cause performance issues on the client, server, and network?

Yes, it will.  So, like all good software companies, we listened to our customers and have done a significant amount of work in both Outlook and Exchange to address this problem.  Here are the changes we made….

 

The first change we needed to make was to provide Outlook with a way to ask the Exchange server what limits have been configured.  We added this functionality to Exchange and you can get it today by installing any of the following:

 

-          Exchange 2003 SP2

-          The most recent Exchange 2003 post-SP1 update available from Microsoft Update.  This update contains the specific Exchange 2003 post-SP1 hotfix for this issue

-          This post-SP3 hotfix for Exchange 2000.

 

The second part of the solution was for Outlook to use this newly exposed functionality in Exchange to determine whether a message is over configured size limits before sending it.  This work has also been completed, and you can get it today by installing Office 2003 SP2.

 

Once your Exchange servers and your Outlook clients have been updated you will start seeing the new behavior.  Specifically, if a message is sent that is over configured size limits, either per-mailbox or global, an error will be displayed as when Outlook goes to send the message to the server; no additional data will be sent across the wire and no load will be placed on the Exchange server.

 

As an added bonus, Outlook will also check to make sure that the mailbox is not over its quota before sending the message.  This keeps data from being sent to the server if Outlook knows that the message would be rejected with an NDR as soon as it is received by the server.  In addition, if your mailbox is over its quota then you will be presented with mailbox cleanup dialog to help you get it back under quota.

 

Where can I find more information?

Read KB 894795 for detailed information on the exact messages that users may see with this new functionality, a full description of the exact order of checks performed, and a description of how global vs. per-user limits are evaluated.