广告
广告
ExpressCluster® X for Windows Configuration Guide (Exchange Server 2003 / 2007) October 15th, 2008 © Copyright NEC Corporation 2008. All rights reserved. Disclaimer The contents of this document are subject to change without notice. NEC Corporation assumes no responsibility for technical or editorial mistakes in or omissions from this document. To obtain the benefits of the product, it is the customer’s responsibility to install and use the product in accordance with this document. The copyright for the contents of this document belongs to NEC Corporation. Copying, altering, or translating this document, in full or in part, without the permission of NEC Corporation, is prohibited. Trademark Information ® ExpressCluster X is a registered trademark of NEC Corporation. Intel, Pentium, and Xeon are registered trademarks or trademarks of Intel Corporation. Microsoft and Windows are registered trademarks of Microsoft Corporation in the United States and other countries. Other product names and logos are trademarks or registered trademarks of their respective companies. Oracle Parallel Server is a trademark of Oracle Corporation. Other system names, company names, and product names are trademarks or registered trademarks of their respective companies. Contents INTRODUCTION ................................................................................................................ IV Target Readers and Purpose .......................................................................................................................... iv Described Versions ......................................................................................................................................... iv Organization of This Manual............................................................................................................................ iv ExpressCluster Manuals................................................................................................................................... v Conventions .................................................................................................................................................... vi Obtaining the Latest Information .................................................................................................................... vii CHAPTER 1 EXCHANGE SERVER 2003 ........................................................................ 8 Overview of Features .......................................................................................................................................8 Functional Range ...........................................................................................................................................10 Operating Environment...................................................................................................................................10 Installation Procedure.....................................................................................................................................10 Notes on Creating Scripts...............................................................................................................................18 Sample scripts................................................................................................................................................18 Notes ..............................................................................................................................................................31 CHAPTER 2 EXCHANGE SERVER 2007 ...................................................................... 33 Overview of Features .....................................................................................................................................33 Functional Range ...........................................................................................................................................35 Operating Environment...................................................................................................................................36 Installation Procedure.....................................................................................................................................36 Notes on Creating Scripts...............................................................................................................................43 Sample Scripts ...............................................................................................................................................43 Installation Procedure for Exchange2007 Service Pack .................................................................................57 Notes ..............................................................................................................................................................58 iii INTRODUCTION Target Readers and Purpose ExpressCluster® PP Guide is intended for administrators who set up systems, system engineers who provide user support, and maintenance personnel for cluster systems. This document introduces the software of which operations have been checked for an ExpressCluster environment. The software descriptions and setup examples in this document are provided only as a reference, and the software operations are not guaranteed. Described Versions This document describes ExpressCluster X 1.0 for Windows and ExpressCluster X 2.0 for Windows. Organization of This Manual Chapter 1 Chapter 2 Exchange Server 2003: This chapter descrives Exchange Server 2003. Exchange Server 2007: This chapter descrives Exchange Server 2007. ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) iv ExpressCluster Manuals The four ExpressCluster manuals below are available. The title of each guide and a description of its role follows. ExpressCluster X Getting Started Guide This guide is intended for users of ExpressCluster and provides a product overview, a description of the operating environment, update information, and known problems. ExpressCluster X Install and Configuration Guide This guide is intended for system engineers who install cluster systems using ExpressCluster and for system administrators who maintain and operate installed cluster systems, and it describes requirements from for installing a cluster system using ExpressCluster to for preparing to start operation. This guide follows the actual procedure for installing a cluster system to describe how to design a cluster system using ExpressCluster, how to install and set up ExpressCluster, how to check the system after setting it up, and how to evaluate the system before starting operation. ExpressCluster X Reference Guide This guide is intended for system administrators and system engineers who use ExpressCluster to install cluster systems, and it provides information about ExpressCluster operating procedures, the features of each module, maintenance, and troubleshooting. This guide is a companion to the Install and Configuration Guide. ExpressCluster X Alert Service Administrator’s Guide This guide is intended for system engineers who install the ExpressCluster Alert Service in a cluster system that uses ExpressCluster X 1.0 and system administrators who maintain and operate the cluster system after installation. This guide follows the actual procedure to detail requirements when installing a cluster system that uses the ExpressCluster X Alert Service. v Conventions In this manual, the meanings of Note, Important, and Related information are as follows. Note: This indicates information that is important but is not related to data loss or damage to the system or equipment. Important: This indicates information that is necessary for avoiding data loss or damage to the system or equipment. Related information: This indicates where to look for related information. The following conventions are used in this document: Notation Square brackets ([ ]) Square brackets ([ ]) within a command Monospace font (courier) Monospace bold font (courier) Monospace italic font (courier) Meaning These are used before and after command names and terms that appear on the GUI (including dialog boxes and menus). Example Click [Start]. [Properties] dialog box These indicate that specifying the enclosed value is optional. clpstat -s[-h host_name] This indicates commands, functions, and parameters. clpstat -s This indicates text that the user actually enters at a command prompt. Enter the following: clpcl –s -a This indicates text that the user must replace with a valid value. clpstat -s[-h host_name] ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) vi Obtaining the Latest Information To obtain the latest product information, visit the following website. http://www.nec.com/expresscluster vii Chapter 1 Exchange Server 2003 Overview of Features The standby computer can provide services during a failover if data files (the transaction log and each store’s database file) for Exchange Server 2003 Enterprise Edition (hereafter referred to as Exchange2003/EE*) and Exchange Server 2003 Standard Edition (hereafter referred to as Exchange2003/SE*) are placed in the switching partition. * These are collectively referred to as Exchange2003 in the description below unless there is a difference depending on the edition. The following Exchange2003 operation mode is supported: Two nodes: Active (active server)/Passive (standby server) The active and passive operation for ExpressCluster is described below. Active/passive configuration If a server that provides services fails, the standby server takes over the server name and IP address of the active server and provides Exchange services by using the resources in the switching partition. Figure 1 shows a configuration where server 1 and server 2 operate as the active server and the passive server, respectively, in an ExpressCluster environment. A client establishes a connection by specifying the computer name of server 1. The DNS assumes that the floating IP address (FIP) is assigned to server 1 in this configuration. Client Server: connect to the server SRV1 (FIP: XX.XX.XX.1) Server 1: active server Computer name: SRV1 Server 2: standby server FIP: XX.XX.XX.1 Switching partition Figure 1 Normal Operation ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 8 When server 1 fails, the floating IP address moves as shown in Figure 2. When the failover is complete, Exchange services start on server 2 and the floating IP address and switching partition’s resources move to server 2. Therefore, the client can establish a connection by using the same server name without having to know that the servers have been switched. Client Connect to the server SRV1 (FIP: XX.XX.XX.1). Migration of computer name and floating IP address Server 2: new active system Computer name: SRV2 FIP: XX.XX.XX.1 Server 1: old active system Switching partition Figure 2 Failover To move the failover group from server 1 to server 2 without shutting down the servers, (that is, to perform an online failover), use ExpressCluster Manager as shown in Figure 3. The floating IP address is also migrated. ExpressCluster Manager Client Issue an instruction to move the failo ver group from server 1 to server 2. FIP migration Connect to the server SRV1 (FIP: XX.XX.XX.1). Server 2: new active server Computer name: SRV2 FIP: XX.XX.XX.1 Server 1: old active server Switching partition Figure 3 Online Failover 9 Functional Range Exchange2003 supports the following functions in a cluster environment: Exchange Mail Public folders Connecting between routing groups Connecting between servers in the same routing group Internet mail services (POP3, SMTP, and IMAP4) LDAP Message Transfer Agent (MTA) Note: Only one instance of Message Transfer Agent can be run in a cluster environment. If there are multiple failover groups, Message Transfer Agent is run in one of them. Usually, this is the failover group where Exchange2003 was installed first. Exchange2003 does not support the following functions in a cluster environment: Active Directory connector Calendar connector Exchange event service Connector to an external e-mail system (such as NOTES or x.400) NNTP Site replication service Operating Environment Exchange2003 runs in the following environments: Microsoft Windows Server 2003, Standard Edition Microsoft Windows Server 2003, Enterprise Edition Exchange2003 runs only in an Active Directory environment. Installation Procedure Install this software in the local partitions on both servers. Note that the installation procedure differs somewhat from the normal procedure. Follow the installation procedure below. (1) Setting up the network • Specifying the network adapter’s binding order Specify the binding order so that the network adapter references LANs in the following order: 1. Public LAN 2. Interconnect LAN • Registering the interconnect DNS and disabling NETBIOS Delete the DNS reference destinations and NETBIOS settings under the network ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 10 properties for the interconnect LAN. Note: For details about how to specify the above settings and other settings that must be considered, check the settings in Cluster Requirements, which is in the Exchange Server 2003 Deployment Guide. Online Exchange Server 2003 Deployment Guide http://www.microsoft.com/japan/technet/prodtechnol/exchange/2003/library/depguide.m th spx (URL as of June 30 , 2008) • Disabling public DNS registration Disable DNS registration under the network properties for the public LAN as follows: 1. Open the public LAN properties. 2. Select [Advanced] in [TCP/IP Properties]. 3. Clear the [Register this connection’s Address with DNS] checkbox on the [DNS] tab. (2) Creating failover groups Create the following failover group for Exchange2003: ■ Resources • Floating IP address (necessary to connect to an Outlook client or other Exchange Server) • Switching partition (with enough capacity to store Exchange user data) In this guide, the switching partition is called the X: drive. Follow your configuration in an actual environment. For details about how to create a failover group, see the ExpressCluster X Install and Configuration Guide. Important: The failover group for Exchange2003 needs exactly one floating IP Address. Do not specify multiple floating IP Addresses for this failover group. The failover group for Exchange2003 does not support virtual IP Addresses. Use a floating IP Address. (3) Setting up the ExpressCluster account Create an account for Exchange2003 in ExpressCluster. ■ Setting • Open the [Account] tab under cluster properties in Cluster Builder. Specify the Domain Administrator's account as the account to add. (This is usually “parent_Active_Directory_domain_name\administrator”.) 11 (4) Setting up the DNS a) Adding the computer name and floating IP address entries to the DNS Open the DNS management console on the DNS server and add the combination of the active server’s computer name and floating IP address. The figure below shows a setting example where the floating IP address is 10.0.0.10. Enter the active server’s computer name under [Name] and the floating IP address under [IP Address]. Important: You might not be able to properly set up Exchange without this setting. If the combination of the actual server name and the actual IP Address for each node is already registered to the DNS, delete such combinations. b) Canceling dynamic updates Open the DNS management console on the DNS server and specify the following settings: • Right-click “DNS\domain_controller\Forward lookup zone\domain”, and then open [Properties] from the shortcut menu that appears. • Open the [General] tab and specify [No] for [Dynamic Update]. • Click [OK]. (5) Install Exchange2003 on both servers. This step is the same as normal installation procedure. Start the installer on the startup screen of Exchange2003 installation CD. Important: Install Exchange2003 on each server. Exchange2003 must be installed while ExpressCluster is running. The Distributed Transaction Coordinator service must already be running. Make sure that this service is running (that is, Status is Started) and that the Startup Type is Automatic by selecting [Administrative tools] and then [Services]. If installing Exchange2003 in an environment where Windows Server ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 12 2003 SP1 has been applied, the [Compatibility Warning] dialog box appears. If this dialog box appears, click [OK] to continue installation and apply the latest service pack for Exchange2003 after installation. (6) Make sure that the Windows Server 2003 patch has been applied to each node. The following hotfix is necessary to apply Exchange Server 2003 SP2. If Windows Server 2003 SP2 is already applied, it is not necessary to apply this hotfix because the service pack includes this hotfix . KB:898060 (http://support.microsoft.com/kb/898060/) Apply Windows Server 2003 SP1 or the MS05-019 hotfix before applying this hotfix. KB: 905214 (http://support.microsoft.com/kb/905214/) There are no special notes on applying this hotfix. (7) Apply Exchange2003 Server Service Pack 2 to both servers. This step is the same as the normal installation procedure. Important: Install Exchange2003 SP2 on each server. (8) Create directories on the switching partition. (Activate the failover group in the active server.) • Select [Start], [Programs], [Accessories], and then Windows Explorer. - Create the X:\Exchsrv directory. - Create the X:\Exchsrv\mdbdata directory. - Create the X:\Exchsrv\vsi 1 directory. - Create the X:\Exchsrv\vsi 1\BadMail directory. - Create the X:\Exchsrv\vsi 1\Queue directory. (9) Rename the mailbox store and public folder store as follows: A) Start Exchange System Manager on the active server. (Select [Start], [Programs], Microsoft Exchange, and then System Manager.) B) Right-click “organization\Server\server_name\storage_group\mailbox_store”. server_name is the server name of the active server. C) Select [Rename]. D) Delete server_name from the mailbox store name. E) Right-click “organization\Server\server_name\storage_group\public_folder_store”. server_name is the server name of the active server. F) Select [Rename]. G) Delete server_name from the public folder store name. H) Start Exchange System Manager on the standby server. I) Perform steps B through G. In steps B through E above, server_name is the server name of the standby server. (10) Add a replication destination server. Add the standby server as the replication destination server for the following folders by using Exchange System Manager. A) Public folder 1. Right-click “organization\Folders\Public Folders\public_folder_name”, and then select [Properties]. 2. Open the [Replication] tab, and then click [Add]. 13 3. Select the standby server, and then click [OK]. 4. Click [OK]. B) SCHEDULE+ FREE BUSY system folder 1. Right-click “organization\Folders\Public Folders\public_folder_name”, and then select [View System Folders]. 2. Expand the SCHEDULE+ FREE BUSY folder. 3. Right-click “Ex:/o=organization/ou=administrative_group”, and then select [Properties]. 4. Open the [Replication] tab, and then click [Add]. 5. Select the standby server, and then click [OK]. 6. Click [OK]. C) OFFLINE ADDRESS BOOK system folder 1. Right-click “organization\Folders\Public Folders\public_folder_name”, and then select [View System Folders]. 2. Expand OFFLINE ADDRESS BOOK. 3. Right-click “/o=organization/cn=addrlists/cn=oabs/cn=Default Offline Address List”, and then select [All Tasks] followed by [Manage Settings]. In step 3, [Manage Settings] might not be selectable immediately after Exchange2003 is installed. In this case, perform the following steps by using Exchange System Manager to make it selectable: 3.1 Select “organization\Recipients\Offline Address Lists”. 3.2 Right-click [Default Offline Address List] on the list screen and execute [Rebuild]. 3.3 Confirm that subfolders such as OAB Version 2 are created under “/o=organization/cn=addrlists/cn=oabs/cn=Default Offline Address List”. 4. The wizard screen opens. Click [OK]. 5. Click the third option, [Overwrite setting], and then click [Next]. 6. Check [Replicas], and then click [Next]. 7. Click [Finish]. D) Properties of organizational forms folder Perform the following steps when using the organizational form: Right-click “organization\Folders\Public Folders\public_folder_name”, and then select [View System Folders]. 2. Expand EFORMS. Subfolders are displayed under this folder when the organizational form is used. Right-click the organizational_form folder, and then select [Properties]. 4. Click the [Replication] tab, and then click [Add]. 5. Select the standby server, and then click [OK]. 6. Click [OK]. (11) Fail over the Exchange group. Move the Exchange group to the standby server. A) Start Cluster Manager on a server other than Exchange (such as the domain controller). B) Right-click the Exchange group, and then select [Move]. C) Select the standby server, and then click [OK]. A) B) (12) Change the store storage location on the standby server. Open Exchange System Manager on the standby server. Right-click “organization\Servers\standby_server_name\storage_group\mailbox_store”. ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 14 C) D) E) F) Select [Properties]. Click the [Database] tab. Click [Browse] under [Exchange database]. Change the storage location to X:\Exchsrv\mdbdata, which was created in step (8). G) Click [Save]. H) Click [Browse] under [Exchange streaming database]. I) Change the storage location to X:\Exchsrv\mdbdata, which was created in step (8). J) Click [Save]. K) Select [Database can be overwritten by restore]. L) Click [OK]. M) Click [Yes]. N) Click [OK]. O) Perform steps B through N for “organization\Servers\standby_server_name\storage_group\public_folder_stor e”. (13) Change the locations of the transaction log and system path on the standby server. A) Open Exchange System Manager on the standby server. B) Right-click “organization\Servers\standby_server_name\storage_group”. C) Select [Properties]. D) Click [Browse] under [Transaction log location]. E) Change the storage location to X:\Exchsrv\mdbdata, which was created in step (8). F) Click [OK]. G) Click [Browse] under [System path location]. H) Change the storage location to X:\Exchsrv\mdbdata, which was created in step (8). I) Click [OK]. J) Click [Yes]. K) Click [OK]. (14) Change the storage locations of invalid e-mails and queues on the standby server. A) Open Exchange System Manager on the standby server. B) Right-click “organization\Servers\standby_server_name\Protocol\SMTP\default SMTP virtual server”. C) Click [Stop]. D) Right-click “organization\Servers\standby_server_name\Protocol\SMTP\default SMTP virtual server”. E) Select [Properties]. F) Click the [Messages] tab. G) Click [Browse] under [Badmail directory]. H) Change the storage location to X:\Exchsrv\vsi 1\BadMail, which was created in step (8). I) Click [OK]. J) Click [Browse] under [Queue directory]. K) Change the storage location to X:\Exchsrv\vsi 1\Queue, which was created in step (8). L) Click [OK]. M) Click [OK]. N) Right-click “organization\Servers\standby_server_name\Protocol\SMTP\default SMTP virtual server”. O) Click [Start]. 15 (15) Specify the settings for Exchange services on the standby server. Set the following services to [Manual] to stop them on the standby server: Microsoft Exchange Information Store Microsoft Exchange Management Microsoft Exchange MTA Stacks Microsoft Exchange POP3 Microsoft Exchange Routing Engine Microsoft Exchange System Attendant Simple Mail Transfer Protocol (SMTP) (16) Fail over the Exchange group. A) Start Cluster Manager on a server other than Exchange (such as the domain controller). B) Right-click the Exchange group, and then select [Move]. C) Select the active server, and then click [OK]. (17) Delete the following file in Windows Explorer: • X:\Exchsrv\mdbdata\* (18) Change the store storage location on the standby server. A) Specify the settings in step (12) on the active server. (19) Change the locations of the transaction log and system path on the active server. A) Specify the settings in step (13) on the active server. (20) Change the storage locations of badmails and queues on the active server. A) Specify the settings in step (14) on the active server. (21) Specify the settings for Exchange services on the active server. A) Specify the settings in step (15) on the active server. (22) Stop the Exchange group. A) Start Cluster Manager on a server other than Exchange (such as the domain controller). B) Right-click the Exchange group, and then select [Stop]. C) Click [OK]. (23) Creating Exchange resources Create the following resources for Exchange2003: ■ Resources • Prepare the following scripts: START.BAT: Start script STOP.BAT: Stop script W#EXCHG.BAT: Script for setting up environment variables Exch.vbs : Script for setting up Active Directory Note For details about how to create a resource, see the ExpressCluster X Install and Configuration Guide. A) (24) Start the Exchange group. Start Cluster Manager on a server other than Exchange (such as the domain ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 16 B) C) controller). Right-click the Exchange group, and then select [Start]. Select the active server, and then click [OK]. 17 Notes on Creating Scripts Write scripts by following the samples below. Otherwise, script execution might be interrupted when sharing or releasing a directory or stopping a service. Sample scripts Start script (START.BAT) rem rem rem rem rem rem rem *************************************** * START.BAT * * * * Title : Exchange start option * * Date : 2006.10.06 * * Version : 1.0 * *************************************** rem -----------------------------------------rem Set up environment variable used for batch processing. rem -----------------------------------------CALL W#EXCHG.BAT rem rem rem rem rem rem rem rem rem rem -----------------------------------------W# Environment variables specified in EXCHG.BAT W#EXCHG1 : Domain administrator’s account W#EXCHG2 : Active directory server name W#EXCHG3 : Primary server name W#EXCHG4 : Backup server name W#EXCHG5 : Flag indicating whether to output ARMLOG 0-->No output 1-->Output ------------------------------------------ rem -----------------------------------------rem Batch execution start processing rem -----------------------------------------IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG1 ARMLOG “START START.BAT” :NO_LOG_EXCHG1 rem *************************************** rem Change parameters to your environment rem *************************************** SET DOMAIN_ADMIN_ACCOUNT=%W#EXCHG1% SET AD_SERVER_NAME=%W#EXCHG2% SET PRIMARY_SERVER_NAME=%W#EXCHG3% SET BACKUP_SERVER_NAME=%W#EXCHG4% rem *************************************** rem Check startup attributes rem *************************************** IF “%CLP_EVENT%” == “START” GOTO NORMAL IF “%CLP_EVENT%” == “FAILOVER” GOTO FAILOVER IF “%CLP_EVENT%” == “RECOVER” GOTO EXIT rem Cluster Server is not started GOTO no_arm ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 18 rem *************************************** rem Normal and Failover Startup process rem *************************************** :NORMAL :FAILOVER rem Check Disk IF “%CLP_DISK%” == “FAILURE” GOTO ERROR_DISK IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG2 ARMLOG “cd %CLP_SCRIPT_PATH%” :NO_LOG_EXCHG2 cd %CLP_SCRIPT_PATH% IF “%CLP_SERVER%” == “OTHER” GOTO ON_SECONDARY_SERVER IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG3 ARMLOG “IF EXIST spn.ldf (ldifde -i -f spn.ldf -s %AD_SERVER_NAME% -v -k)” :NO_LOG_EXCHG3 IF EXIST spn.ldf ( ldifde -i -f spn.ldf -s %AD_SERVER_NAME% -v -k ) :ON_SECONDARY_SERVER IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG4 ARMLOG “ARMLOAD EXCHSCR /W /U %DOMAIN_ADMIN_ACCOUNT% cscript exch.vbs %PRIMARY_SE RVER_NAME% %BACKUP_SERVER_NAME% %CLP_PRIORITY%” :NO_LOG_EXCHG4 ARMLOAD EXCHSCR /W /U %DOMAIN_ADMIN_ACCOUNT% cscript exch.vbs %PRIMARY_SERVER_NAM E% %BACKUP_SERVER_NAME% %CLP_PRIORITY% IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG5 ARMLOG “ARMLOAD EXCHSA /S /A /R 1 MSEXCHANGESA” :NO_LOG_EXCHG5 rem *** ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD start exchange services *** EXCHSA /S /A /R 1 MSEXCHANGESA EXCHMGMT /S /A /R 1 MSEXCHANGEMGMT EXCHIS /S /A /R 1 MSEXCHANGEIS RESVC /S /A /R 1 RESVC EXCHMTA /S /A /R 1 MSEXCHANGEMTA SMTP /S /A /R 1 SMTPSVC POP3 /S /A /R 1 POP3SVC GOTO EXIT rem *************************************** rem Irregular process rem *************************************** rem Process for disk errors :ERROR_DISK ARMBCAST /MSG “Failed to connect the switched disk partition” /A GOTO EXIT 19 rem Cluster Server is not started :no_arm ARMBCAST /MSG “Cluster Server is offline” /A rem *************************************** rem End processing rem *************************************** :EXIT rem -----------------------------------------rem Batch execution end processing rem -----------------------------------------IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG_EXIT ARMLOG “END START.BAT” :NO_LOG_EXCHG_EXIT rem -----------------------------------------rem End of batch rem ------------------------------------------ Stop script (STOP.BAT) rem rem rem rem rem rem rem *************************************** * STOP.BAT * * * * Title : Exchange stop option * * Date : 2006.10.06 * * Version : 1.0 * *************************************** rem -----------------------------------------rem Set up environment variable used for batch processing. rem -----------------------------------------CALL W#EXCHG.BAT rem rem rem rem rem rem rem rem rem rem -----------------------------------------W# Environment variables specified in EXCHG.BAT W#EXCHG1 : Domain administrator’s account W#EXCHG2 : Active directory server name W#EXCHG3 : Primary server name W#EXCHG4 : Backup server name W#EXCHG5 : Flag indicating whether to output ARMLOG 0-->No output 1-->Output ------------------------------------------ rem -----------------------------------------rem Batch execution start processing rem -----------------------------------------IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG_START ARMLOG “START STOP.BAT” :NO_LOG_EXCHG_START rem *************************************** rem Check startup attributes rem *************************************** IF “%CLP_EVENT%” == “START” GOTO NORMAL IF “%CLP_EVENT%” == “FAILOVER” GOTO FAILOVER rem Cluster Server is not started GOTO no_arm rem *************************************** rem Normal and Failover Stop process ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 20 rem *************************************** :NORMAL :FAILOVER IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG1 ARMLOG “ARMKILL POP3” :NO_LOG_EXCHG1 ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL POP3 SMTP EXCHMTA RESVC EXCHIS EXCHMGMT EXCHSA rem Check Disk IF “%CLP_DISK%” == “FAILURE” GOTO ERROR_DISK GOTO EXIT rem *************************************** rem Irregular process rem *************************************** rem Process for disk errors :ERROR_DISK ARMBCAST /MSG “Failed to connect the switched disk partition” /A GOTO EXIT rem Cluster Server is not started :no_arm ARMBCAST /MSG “Cluster Server is offline” /A rem *************************************** rem End processing rem *************************************** :EXIT rem -----------------------------------------rem Batch execution end processing rem -----------------------------------------IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG_EXIT ARMLOG “END STOP.BAT” :NO_LOG_EXCHG_EXIT rem -----------------------------------------rem End of batch rem ------------------------------------------ 21 Script for setting up environment variables (W#EXCHG.BAT) rem rem rem rem rem rem rem *************************************** * W#EXCHG.BAT * * * * Title : Exchange setting option * * Date : 2006.10.06 * * Version : 1.0 * *************************************** rem rem rem rem rem rem rem rem rem rem -----------------------------------------W# Environment variables specified in EXCHG.BAT W#EXCHG1 : Domain administrator’s account W#EXCHG2 : Active directory server name W#EXCHG3 : Primary server name W#EXCHG4 : Backup server name W#EXCHG5 : Flag indicating whether to output ARMLOG 0-->No output 1-->Output ------------------------------------------ SET SET SET SET SET W#EXCHG1=your_domain\administrator W#EXCHG2=ad_server_name W#EXCHG3=primary_server_name W#EXCHG4=backup_server_name W#EXCHG5=1 Script for setting up Active Directory (exch.vbs) ‘=============================================================== ‘ Purpose: Execute all tasks required to failover Exchange server ‘ Authors: Gary Pope and Jennifer Ricketts ‘ Date: October 6, 2006 ‘ Revised Date: October 6, 2006 ‘=============================================================== Option explicit ‘On Error Resume Next Err.number = 0 ‘=============================================================== ‘ Variables and Constants ‘=============================================================== ‘ Declare variables Dim strDNSDomain Dim strPrimary, strBackup Dim strOrg, strAdminGrp, strStrgGrp, strMBStorePub, strMBStore Dim strRoutingGrp, strOfflineAddress Dim strComputerCN, strPrimaryCN, strBackupCN, strUsersCN Dim strPrimaryDNSHostName, strAttribute Dim strHomeMDB, strHomeMTA, strMsExchHomeServerName Dim strOrgClass, strAdminGrpClass, strStorageGrpClass Dim strRoutingGrpClass, strOfflineAddressClass Dim strMBStorePrivClass, strMBStorePubClass, strRUSClass Dim objRootDSE Dim objPrimary, objBackup Dim objUsers, objUser Dim intCounter Dim conn Dim flagFailOver Dim strLdfFileName ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 22 ‘ Declare Constants Const ADS_PROPERTY_APPEND = 3 Const ADS_PROPERTY_DELETE = 4 Const ForReading = 1 Const ForWriting = 2 ‘ Set Exchange variables strPrimary = “CLG201” strBackup = “CLG202” If WScript.Arguments.Count <> 3 Then WScript.echo “Invalid parameters.” WScript.Quit End If strPrimary = WScript.Arguments(0) strBackup = WScript.Arguments(1) WScript.echo “Primary Server:” & strPrimary WScript.echo “Backup Server:” & strBackup If WScript.Arguments(2) = “1” Then flagFailOver = 0 WScript.echo “failback” Else flagFailOver = 1 WScript.echo “failover” End If ‘ Set Active Directory variables strComputerCN = “CN=Computers,” strUsersCN = “CN=Users,” strPrimaryCN = “CN=“ & strPrimary & “,” strBackupCN = “CN=“ & strBackup & “,” ‘ Variables set automatically in script strOrgClass = “msExchOrganizationContainer” strAdminGrpClass = “msExchAdminGroup” strStorageGrpClass = “msExchStorageGroup” strMBStorePrivClass = “msExchPrivateMDB” strMBStorePubClass = “msExchPublicMDB” strRUSClass = “msExchAddressListService” strRoutingGrpClass = “msExchRoutingGroup” strOfflineAddressClass = “msExchOAB” strLdfFileName = “spn.ldf” ‘=============================================================== ‘ Subroutines and Functions ‘=============================================================== ‘ Error handling Sub ErrorCheck(strError) If Err.Number <> 0 Then Wscript.Echo strError & vbCrLf _ & “Error number: “ & Err.Number & “ “ & VbCrLf _ & “Error source: “ & Err.Source & “ “ & vbCrLf _ & “Error description: “ & Err.Description & vbCrLf _ & VbCrLf & “Cancelling script now.” Err.Clear Wscript.Quit End If End Sub ‘ Sets variables Function GetObjectName (DNSDomainName,Attribute) 23 Dim strLdapstring, rs1, objVar strLdapstring = “<LDAP://CN=Configuration,” & DNSDomainName & “>;(&(objectClass=“ & Attribute & “));adspath;subtree” Set rs1 = conn.Execute(strLdapstring) Set objVar = GetObject(rs1.Fields(0).Value) GetObjectName = objVar.cn End Function ‘ Sets multiple RUS entries Sub SetMultipleRUSEntries (DNSDomainName,Attribute) Dim strLdapstring, rs1, objVar strLdapstring = “<LDAP://CN=Configuration,” & DNSDomainName & “>;(&(objectClass=“ & Attribute & “));adspath;subtree” Set rs1 = conn.Execute(strLdapstring) Set objVar = GetObject(rs1.Fields(0).Value) While Not rs1.EOF Set objVar = GetObject(rs1.Fields(0).Value) Call ChgRUSServer(strOrg,objVar.cn) Call ErrorCheck(“Error while setting RUS variable string.”) rs1.MoveNext Wend End Sub ‘ Mounts public stores Sub MountStores(Organization, AdminGroup, Server, StorageGroup, MailboxStore) Dim objBase set objBase=GetObject(“LDAP://CN=“ & MailboxStore &_ “,CN=“ & StorageGroup & “,CN=InformationStore” &_ “,CN=“ & Server & “,CN=Servers,CN=“ & AdminGroup &_ “,CN=Administrative Groups,CN=“ & Organization &_ “,CN=Microsoft Exchange,CN=Services,CN=Configuration” &_ “,” & strDNSDomain) objBase.msExchPatchMDB = TRUE objBase.SetInfo WScript.echo “New mount setting: “ & objBase.msExchPatchMDB End Sub ‘ Changes routing master Sub RoutingMaster(Organization,AdminGroup,RoutingGroup) Dim objBase, strRoutingMaster set objBase=GetObject(“LDAP://CN=“ & RoutingGroup &_ “,CN=Routing Groups,CN=“ & AdminGroup & “,CN=Administrative Groups” &_ “,CN=“ & Organization & “,CN=Microsoft Exchange,CN=Services” &_ “,CN=Configuration” & “,” & strDNSDomain) strRoutingMaster = objBase.msExchRoutingMasterDN If flagFailOver Then strRoutingMaster = Replace(strRoutingMaster, strPrimary, strBackup, 1, -1, vbTextCompare) Else strRoutingMaster = Replace(strRoutingMaster, strBackup, strPrimary, 1, -1, vbTextCompare) End If objBase.msExchRoutingMasterDN = strRoutingMaster objBase.SetInfo WScript.echo “Routing Master set to: “ & objBase.msExchRoutingMasterDN End Sub ‘ Changes RUS Server Sub ChgRUSServer(Organization,RUStype) Dim objBase, strRUS set objBase=GetObject(“LDAP://CN=“ & RUStype &_ “,CN=Recipient Update Services,CN=Address Lists Container” &_ “,CN=“ & Organization & “,CN=Microsoft Exchange,CN=Services” &_ “,CN=Configuration” & “,” & strDNSDomain) ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 24 strRUS = objBase.msExchAddressListServiceLink If flagFailOver Then strRUS = Replace(strRUS, strPrimary, strBackup, 1, -1, vbTextCompare) Else strRUS = Replace(strRUS, strBackup, strPrimary, 1, -1, vbTextCompare) End If objBase.msExchAddressListServiceLink = strRUS objBase.SetInfo WScript.echo RUStype & “ set to: “ & objBase.msExchAddressListServiceLink End Sub ‘ Changes Offline Address List Server Sub OfflineAddress(Organization,OfflineAddressList) Dim objBase, strOABServer set objBase=GetObject(“LDAP://CN=“ & OfflineAddressList &_ “,CN=Offline Address Lists,CN=Address Lists Container” &_ “,CN=“ & Organization & “,CN=Microsoft Exchange,CN=Services” &_ “,CN=Configuration” & “,” & strDNSDomain) strOABServer = objBase.offLineABServer If flagFailOver Then strOABServer = Replace(strOABServer, strPrimary, strBackup, 1, -1, vbTextCompare) Else strOABServer = Replace(strOABServer, strBackup, strPrimary, 1, -1, vbTextCompare) End If objBase.offLineABServer = strOABServer objBase.SetInfo WScript.echo “Offline Address List Server set to: “ & objBase.offLineABServer End Sub ‘=============================================================== ‘ Create ldf file ‘=============================================================== Sub CreateLdfFile Dim objFSO Dim objFile Set objFSO = CreateObject(“Scripting.FileSystemObject”) If objFSO.FileExists(strLdfFileName) Then WScript.echo strLdfFileName & “ already exists.” Else WScript.echo strLdfFileName & “ does not exist. Create.” Dim strLines(6) strLines(1) = “dn: “ & strPrimaryCN & strComputerCN & strDNSDomain strLines(2) = “changetype: modify” strLines(3) = “add: servicePrincipalName” strLines(4) = “servicePrincipalName: HOST/” & strPrimaryDNSHostName strLines(5) = “servicePrincipalName: HOST/” & strPrimary strLines(6) = “-” ‘ For DEBUG ‘ WScript.echo strLines(1) ‘ WScript.echo strLines(2) ‘ WScript.echo strLines(3) ‘ WScript.echo strLines(4) ‘ WScript.echo strLines(5) ‘ WScript.echo strLines(6) ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ set objFile = objFSO.CreateTextFile(strLdfFileName, ForWriting) objFile.WriteLine strLines(1) 25 objFile.WriteLine objFile.WriteLine objFile.WriteLine objFile.WriteLine objFile.WriteLine objFile.Close End If End Sub strLines(2) strLines(3) strLines(4) strLines(5) strLines(6) ‘=============================================================== ‘ Binding to Active Directory ‘=============================================================== Set objRootDSE = GetObject(“LDAP://RootDSE”) strDNSDomain = objRootDSE.Get(“DefaultNamingContext”) Call ErrorCheck(“Error while binding to AD.”) ‘=============================================================== ‘ ADODB Connect ‘=============================================================== Set conn = CreateObject(“ADODB.Connection”) conn.Provider = “ADSDSOObject” conn.Open “ADs Provider” Call ErrorCheck(“Error while connecting to ADODB.”) ‘=============================================================== ‘ Set variables ‘=============================================================== strOrg = GetObjectName(strDNSDomain,strOrgClass) WScript.echo “Organization Name: “ & strOrg strAdminGrp = GetObjectName(strDNSDomain,strAdminGrpClass) WScript.echo “Administration Group: “ & strAdminGrp strStrgGrp = GetObjectName(strDNSDomain,strStorageGrpClass) WScript.echo “Storage Group: “ & strStrgGrp strMBStore = GetObjectName(strDNSDomain,strMBStorePrivClass) WScript.echo “Private MB Store: “ & strMBStore strMBStorePub = GetObjectName(strDNSDomain,strMBStorePubClass) WScript.echo “Public MB Store: “ & strMBStorePub strRoutingGrp = GetObjectName(strDNSDomain,strRoutingGrpClass) WScript.echo “Routing Group: “ & strRoutingGrp strOfflineAddress = GetObjectName(strDNSDomain,strOfflineAddressClass) WScript.echo “Routing Group: “ & strOfflineAddress Call ErrorCheck(“Error while setting variables.”) ‘=============================================================== ‘ Mount mailbox and public stores ‘=============================================================== ‘changing store settings on Primary for a failback If flagFailOver Then Call MountStores(strOrg, strAdminGrp, strBackup, strStrgGrp, strMBStore) Call MountStores(strOrg, strAdminGrp, strBackup, strStrgGrp, strMBStorePub) Else ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 26 Call MountStores(strOrg, strAdminGrp, strPrimary, strStrgGrp, strMBStore) Call MountStores(strOrg, strAdminGrp, strPrimary, strStrgGrp, strMBStorePub) End If Call ErrorCheck(“Error while mounting stores.”) WScript.Echo “Mounting of stores completed.” ‘=============================================================== ‘ Move ServicePrincipalName attributes in Active Directory to Primary machine ‘=============================================================== ‘ Binding to Primary in Active Directory Set objPrimary = GetObject(“LDAP://” & strPrimaryCN & strComputerCN & strDNSDomain) Call ErrorCheck(“Error while binding to Primary in AD”) ‘ Binding to Backup in Active Directory Set objBackup = GetObject(“LDAP://” & strBackupCN & strComputerCN & strDNSDomain) Call ErrorCheck(“Error while binding to Backup in AD”) Dim doBackup,doPrimary If flagFailOver Then doBackup = ADS_PROPERTY_APPEND doPrimary = ADS_PROPERTY_DELETE Else doBackup = ADS_PROPERTY_DELETE doPrimary = ADS_PROPERTY_APPEND End If ‘ Removing Primary SPN values from Backup strPrimaryDNSHostName = objPrimary.DNSHostName objBackup.PutEx doBackup, strPrimaryDNSHostName) objBackup.SetInfo objBackup.PutEx doBackup, objBackup.SetInfo objBackup.PutEx doBackup, strPrimaryDNSHostName) objBackup.SetInfo objBackup.PutEx doBackup, strPrimary) objBackup.SetInfo objBackup.PutEx doBackup, strPrimaryDNSHostName) objBackup.SetInfo objBackup.PutEx doBackup, strPrimary) objBackup.SetInfo “servicePrincipalName”, Array(“HOST/” & “servicePrincipalName”, Array(“HOST/” & strPrimary) “servicePrincipalName”, Array(“exchangeMDB/” & “servicePrincipalName”, Array(“exchangeMDB/” & “servicePrincipalName”, Array(“exchangeRFR/” & “servicePrincipalName”, Array(“exchangeRFR/” & If flagFailOver Then Call ErrorCheck(“Error while adding SPNs to Backup.”) Else Call ErrorCheck(“Error while deleting SPNs from Backup.”) End If ‘ Re-adding Primary SPN values from Backup to Primary 27 objPrimary.PutEx doPrimary, strPrimaryDNSHostName) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimary) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimaryDNSHostName) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimary) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimaryDNSHostName) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimary) objPrimary.SetInfo “servicePrincipalName”, Array(“HOST/” & “servicePrincipalName”, Array(“HOST/” & “servicePrincipalName”, Array(“exchangeMDB/” & “servicePrincipalName”, Array(“exchangeMDB/” & “servicePrincipalName”, Array(“exchangeRFR/” & “servicePrincipalName”, Array(“exchangeRFR/” & If flagFailOver Then Call ErrorCheck(“Error while deleting SPNs from Primary.”) Else Call ErrorCheck(“Error while adding SPNs to Primary.”) End If ‘FOR TESTING’’’’’’ Dim strAttributes Dim strAttr Dim strSet strAttributes = objBackup.GetEx(“servicePrincipalName”) For each strAttr in strAttributes strSet = strSet & strAttr & vbCRLF Next Wscript.echo “SPNs now in Backup:” & vbCrLf & strSet ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ ‘FOR TESTING’’’’’’’’’’ ‘strAttributes = ““ strSet = ““ strAttributes = objPrimary.GetEx(“servicePrincipalName”) For each strAttr in strAttributes strSet = strSet & strAttr & vbCRLF Next Wscript.echo “SPNs now in Primary:” & vbCrLf & strSet ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ ‘=============================================================== ‘ Changing User Attributes ‘=============================================================== ‘ Binding to Active Directory Set objUsers = GetObject(“LDAP://” & strUsersCN & strDNSDomain) Call ErrorCheck(“Error while binding to Users container in AD.”) ‘ For each user with a “mail” address, change mailbox attributes back intCounter = 0 For each objUser in objUsers Select Case objUser.Class Case “user” If objUser.mail <> ““ Then ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 28 strHomeMDB = objUser.homeMDB strAttribute = strHomeMDB If flagFailOver Then strHomeMDB = Replace(strAttribute, strPrimary, strBackup, 1, -1, vbTextCompare) Else strHomeMDB = Replace(strAttribute, strBackup, strPrimary, 1, -1, vbTextCompare) End If objUser.homeMDB = strHomeMDB objUser.SetInfo strHomeMTA = objUser.homeMTA strAttribute = strHomeMTA If flagFailOver Then strHomeMTA = Replace(strAttribute, strPrimary, strBackup, 1, -1, vbTextCompare) Else strHomeMTA = Replace(strAttribute, strBackup, strPrimary, 1, -1, vbTextCompare) End If objUser.homeMTA = strHomeMTA objUser.SetInfo strMsExchHomeServerName = objUser.msExchHomeServerName strAttribute = strMsExchHomeServerName If flagFailOver Then strMsExchHomeServerName = Replace(strAttribute, strPrimary, strBackup, 1, -1, vbTextCompare) Else strMsExchHomeServerName = Replace(strAttribute, strBackup, strPrimary, 1, -1, vbTextCompare) End If objUser.msExchHomeServerName = strMsExchHomeServerName objUser.SetInfo If flagFailOver Then WScript.echo “Changed mailbox attributes to “ & strBackup & “ for “ & objUser.cn Else WScript.echo “Changed mailbox attributes to “ & strPrimary & “ for “ & objUser.cn End If End If End Select intCounter = intCounter + 1 Call ErrorCheck(“Error while editing mailbox attributes.”) Next ‘=============================================================== ‘ Change Routing Master ‘=============================================================== Call RoutingMaster(strOrg,strAdminGrp,strRoutingGrp) Call ErrorCheck(“Error while changing routing master.”) 29 ‘=============================================================== ‘ Change Recipient Update Service Server ‘=============================================================== Call SetMultipleRUSEntries (strDNSDomain,strRUSClass) Call ErrorCheck(“Error while changing RUS Server.”) ‘=============================================================== ‘ Change Offline Address List Server ‘=============================================================== Call OfflineAddress(strOrg, strOfflineAddress) Call ErrorCheck(“Error while changing Offline Address List Server.”) ‘=============================================================== ‘ Create Ldf File ‘=============================================================== If flagFailOver=0 Then ‘ Activate on Primary Call CreateLdfFile End If ‘FOR TESTING’’’’’’’’’’ WScript.echo “Done!” ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ WScript.Quit ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 30 Notes A line error or other error might be reported to the client or sending or receiving an e-mail might fail depending on the the failover timing. In this case, it is possible to finish sending or receiving the e-mail by sending or receiving it after the failover. System shutdown might take five or more minutes when Exchange2003 is installed. It is recommended to connect an additional battery if a UPS is connected. • Specify a sufficient power disconnection grace period when using ESMPRO/PowerController or ESMPRO/AutomaticRunningController. (For details about this grace period, see the help for ESMPRO/PowerController or ESMPRO/AutomaticRunnningController or another reference.) • Specify a sufficient UPS stop delay period for ESMPRO/UPSController by taking the system shutdown time and UPS battery backup time into consideration. (For details about this delay period, see the help for ESMPRO/UPSController or another reference.) The logs below might be entered in the Windows Server 2003 event log when the ESMPRO/ServerAgent service is started or the Windows Server 2003 performance monitor is started on the standby server (the server where Exchange Server is not running). The cause is that the switching partition where Exchange Server is installed is not connected to the standby server. This is not an error. (In fact, each Exchange service name is displayed for MSExchangeXX in the above dialog box and the path name of the DLL that provides performance data is displayed for DLL file path.) Make sure that the switching partition is not accessed when performing an online failover or failback (migrating the failover group). If an application is started from the switching partition or Windows Explorer or other software opens the switching partition, be sure to exit the application before performing an online failover or failback. (If the switching partition is accessed, the partition cannot be separated and the server is shut down.) Place the Active Directory server and Kerberos authentication server on the same server. Although the following error might be recorded in the event log during a failover, this does not affect operation: 31 Microsoft Exchange System Attendant has detected a discrepancy in the published security data for Exchange server 'virtual_computer_name'. This server's encryption keys may have been modified illicitly. Note There are also other error messages that are entered when Exchange is used in a cluster environment but do not affect operation. For details, see the Microsoft Knowledge Base or another resource. Although a function is added by Exchange2003 Service Pack 1 for renaming the domain name after setting up Exchange, this function is not supported yet. The following notes are specific to ExpressCluster X. The Outlook client must be restarted after a failover or failback if the client (such as Outlook 2003) uses an MAPI connection. If an Internet mail client (such as Outlook Express) uses a POP3/SMTP or IMAP4 connection or uses OWA (Outlook Web Access) for access and the destination server is specified using the server name, the Exchange server is no longer accessible after a failover. Specify the floating IP address instead of the server name so the server remains accessible after a failover or failback. If you specify a server name for the OWA URL to start up after a failover from the active server (node 1) to the standby server (node 2), the public folder is opened at the node 2 URL. If the operation is failed back to node 1 as is, the public folder becomes inaccessible. To open the folder in this case, change the public folder URL to the node 1 URL, specify the floating IP address instead of the server name for the URL, or close the public folder and then restart or reload the browser executing OWA. After performing a failover while Exchange system Manager is running, accessing the public folder or system folder from the active Exchange System Manager results in an error. In this case, change the destination server of the public folder or system folder to the failover destination node or use Exchange System Manager on the failover destination node. When using the Message Tracking Center, specify the actual server name of the operating node as the server to search. When an Exchange server unit setting is changed after setting up the cluster environment, the change is not automatically applied to the other node. Therefore, it is necessary to make the same changes on both nodes. When settings are changed on an Exchange organization basis, the changes are shared by both nodes. ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 32 Chapter 2 Exchange Server 2007 Overview of Features The standby computer can provide services during a failover if data files (the transaction log and each store’s database file) for Exchange Server 2007 Enterprise Edition (hereafter referred to as Exchange2007/EE*) and Exchange Server 2007 Standard Edition (hereafter referred to as Exchange2007/SE*) are placed in the switching partition. * These are collectively referred to as Exchange2007 in the description below unless there is a difference depending on the edition. The following Exchange2007 operation mode is supported: Two nodes: Active (active server)/Passive (standby server) The active and passive operation for ExpressCluster is described below. Active/passive configuration If a server that provides services fails, the standby server takes over the server name and IP address of the active server and provides Exchange services by using the resources in the switching partition. Figure 1 shows a configuration where server 1 and server 2 operate as the active server and the standby server, respectively, in an ExpressCluster environment. A client establishes a connection by specifying the computer name of server 1. The DNS assumes that the floating IP address (FIP) is assigned to server 1 in this configuration. Client Server: connect to the server SRV1 (FIP: XX.XX.XX.1) Server 1: active server Computer name: SRV1 Server 2: standby server FIP: XX.XX.XX.1 Switching partition Figure 1 Normal Operation 33 When server 1 fails, the floating IP address moves as shown in Figure 2. When the failover is complete, Exchange services start on server 2 and the floating IP address and switching partition’s resources move to server 2. Therefore, the client can establish a connection by using the same server name without having to know that the servers have been switched. Client Connect to the server SRV1 (FIP: XX.XX.XX.1). Migration of computer name and floating IP address Server 2: New current system Computer name: SRV2 FIP: XX.XX.XX.1 Server 1: Old current system Switching partition Figure 2 Failover To move the failover group from server 1 to server 2 without shutting down the servers, (that is, to perform an online failover), use ExpressCluster Manager as shown in Figure 3. The floating IP address is also migrated. ExpressCluster Manager Client Issue an instruction to move the failo ver group from server 1 to server 2. FIP migration Connect to the server SRV1 (FIP: XX.XX.XX.1). Server 2: new active server Computer name: SRV2 FIP: XX.XX.XX.1 Server 1: old active server Switching partition Figure 3 Online Failover ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 34 Functional Range Exchange2007 supports the following functions in a cluster environment: Exchange e-mail Internet e-mail services (POP3, SMTP, and IMAP4) LDAP Hub Transport server role Client Access server role Mailbox server role Exchange2007 does not support the following functions in a cluster environment: Active Directory connector Calendar connector Exchange event service Connector to an external e-mail system (such as NOTES or x.400) NNTP Site replication service Public folder Edge Transport server role Unified Messaging server role Related information: For Exchange2007, a lot of functions available in the previous versions have been discontinued or de-emphasized. For details, see the following Microsoft technical information. Microsoft Exchange Server 2007 Discontinued Features and De-Emphasized Functionality http://technet.microsoft.com/ja-jp/library/aa998911.aspx th (URL as of June 30 , 2008) Usually, only the Mailbox server role can be installed in a cluster environment such as MSCS. The Hub Transport server and client access server roles can also be installed in a cluster environment set up using ExpressCluster X. The Edge Transport server role can be installed on a computer that does not participate in an Active Directory domain, but this role cannot be installed on a computer that has the same role as other servers. The Unified Messaging server role can be installed on a server that has the same role as other servers. However, because this role consumes an extremely large amount of hardware resources, it cannot normally run in a cluster configuration. Therefore, the Edge Transport server and Unified Messaging server roles are not supported for ExpressCluster X. For details about each role in Exchange2007, see the following Microsoft technical information. Microsoft Exchange Server 2007 Getting Started - Overview http://technet.microsoft.com/ja-jp/library/bb124937.aspx th (URL as of June 30 , 2008) 35 Operating Environment Exchange2007 runs in the following environments: Microsoft Windows Server 2003, Standard x64 Edition SP1 or later Microsoft Windows Server 2003, Enterprise x64 Edition SP1 or later Microsoft Windows Server 2008, Standard x64 Edition Microsoft Windows Server 2008, Enterprise x64 Edition Exchange2007 runs only in x64 (EMT64T or AMD64) environments not in x86 or IA64 environments. Exchange2007 runs only in native-mode Active Directory environments. Exchange2007 SP1 or later runs only in Windows Server 2003 SP2 or later or Windows Server 2008 environments. In Windows Server 2008 environments, only Exchange2007 SP1 or later can run. An instance of Exchange2007 that does not include SP1 cannot be installed in Windows Server 2008 environments. Installation Procedure Install this software in the local partitions on all servers. Note that the installation procedure differs somewhat from the normal procedure. Follow the installation procedure below. (1) Setting up the network • Specifying the network adapter’s binding order Specify the binding order so that the network adapter references LANs in the following order: 1. Public LAN 2. Interconnect LAN • Registering the interconnect DNS and disabling NETBIOS Delete the DNS reference destinations and NETBIOS settings under the network properties for the interconnect LAN. Related information: For details about how to specify the above settings and other settings that must be considered, check the settings in Planning for Single Copy Cluster, which is in the Microsoft Exchange Server 2007 help Microsoft Exchange Server 2007 help http://www.microsoft.com/downloads/details.aspx?familyid=555F5974-92 58-475A-B150-0399B133FEDE&displaylang=ja th (URL as of June 30 , 2008) • Disabling public DNS registration Disable DNS registration under the network properties for the public LAN as follows: 1. Open the public LAN properties. 2. Select [Advanced] in [TCP/IP Properties]. ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 36 3. Clear the [Register this connection’s Address with DNS] checkbox on the [DNS] tab. (2) Creating failover groups Create the following failover group for Exchange2007: ■ Resources • Floating IP address (necessary to connect to an Outlook client or other Exchange Server) • Switching partition (with enough capacity to store Exchange user data) In this guide, the switching partition is called the X: drive. Follow your configuration in an actual environment. For details about how to create a failover group, see the ExpressCluster X Install and Configuration Guide. Important: The failover group for Exchange2007 needs exactly one floating IP Address. Do not specify multiple floating IP Addresses for this failover group. The failover group for Exchange2007 does not support virtual IP Addresses. Use a floating IP Address. (3) Setting up the ExpressCluster account Create an account for Exchange2007 in ExpressCluster. ■ Setting • Open the [Account] tab under cluster properties in Cluster Builder. Specify the Domain Administrator's account as the account to add. (This is usually “parent_Active_Directory_domain_name\administrator”.) (4) Setting up the DNS a) Adding the computer name and floating IP address entries to the DNS Open the DNS management console on the DNS server and add the combination of the active server’s computer name and floating IP address. The figure below shows a setting example where the floating IP address is 10.0.0.10. Enter the active server’s computer name under [Name] and the floating IP address under [IP Address]. Important: You might not be able to properly set up Exchange without this setting. If the combination of the actual server name and the actual IP Address for each node is already registered to the DNS, delete such combinations. 37 b) Canceling dynamic updates Open the DNS management console on the DNS server and specify the following settings: • Right-click “DNS\domain_controller\Forward lookup zone\domain”, and then open [Properties] from the shortcut menu that appears. • Open the [General] tab and specify [No] for [Dynamic Update]. • Click [OK]. (5) Promote Active Directory to the Windows Server 2003 native mode. (6) Requirements for Exchange2007 installation (the components and correction module) depend on the version of the OS on the installation destination server. Perform the following steps on all servers and install the prerequisites. 6.1 When Windows Server 2003 SP2 or later is not applied If the server is not connected to the Internet, obtain and install the modules below before installing Exchange2007. If the server is connected to the Internet, they can be installed using the Exchange2007 installer. - .NET FrameWork 2.0 - Microsoft management console (MMC) 3.0 - Microsoft Windows PoworShell - Correction modules Correction module for .NET Framework 2.0 (KB: 917283, 926776) Correction module for Windows Server 2003 (KB: 898060, 918986) 6.2 When Windows Server 2003 SP2 or later is applied If the server is not connected to the Internet, obtain and install the modules below before installing Exchange2007. If the server is connected to the Internet, they can be installed using the Exchange2007 installer. ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 38 - .NET FrameWork 2.0 - Microsoft Windows PoworShell - Correction modules .NET Framework 2.0 SP1 Correction module for Windows Server 2003 (KB: 931836) 6.3 When installing Exchange2007 in Windows Server 2008 Open the command prompt and execute the commands below to install required modules. - Execute the command below to install the remote management tool for the Active Directory domain service. It is necessary to join the Active Directory domain before executing this command. ServerManagerCmd -i RSAT-ADDS Important: It might be required to restart the server after executing the above command. When performing this step while ExpressCluster is running, restart the server by rebooting the cluster after ensuring that the execution of the above command has been completed on both servers. - Execute the following command to install Windows PowerShell: ServerManagerCmd -i PowerShell - Execute the following commands to install IIS prerequisites: ServerManagerCmd ServerManagerCmd ServerManagerCmd ServerManagerCmd ServerManagerCmd ServerManagerCmd ServerManagerCmd ServerManagerCmd -i -i -i -i -i -i -i -i Web-Server Web-ISAPI-Ext Web-Metabase Web-Lgcy-Mgmt-Console Web-Basic-Auth Web-Digest-Auth Web-Windows-Auth Web-Dyn-Compression Related information: The prerequisites for installing Exchange2007 SP1 in Windows Server 2008 depend on the server role to be installed. For details, see the following Microsoft technical information. - How to Install Exchange2007 SP1 Prerequisites on Windows Server 2008 http://technet.microsoft.com/ja-jp/library/bb691354.aspx th (URL as of June 30 , 2008) (7) Install Exchange2007 on all servers. This step is the same as normal installation procedure. Start the installer on the startup screen of Exchange2007 installation CD. 39 Important: Install Exchange2007 on each server. Exchange2007 must be installed while ExpressCluster is running. The Distributed Transaction Coordinator service must already be running. Make sure that this service is running (Status is Started) and that the Startup Type is Automatic by selecting [Administratrative tool]s and then [Services] in Windows. Windows Server 2008 only supports a new installation of Exchange2007 SP1. The server must be restarted after installing Exchange2007 SP1. Instead of restarting each server, restart all servers by rebooting the cluster after ensuring that Exchange2007 SP1 is installed on all servers. (8) Create directories on the switching partition. (Activate the failover group in the active server.) • Select [Start], [Programs], [Accessories], and then Windows Explorer. - Create the X:\Exchsrv directory. - Create the X:\Exchsrv\Mailbox\ directory. - Create the X:\Exchsrv\Mailbox\First Storage Group directory. Note Create one storage group directory per storage group. Match each directory name with the corresponding storage group name. - Create the X:\Exchsrv\TransportRoles directory. - Create the X:\Exchsrv\TransportRoles\data directory. - Create the X:\Exchsrv\TransportRoles\data\Queue directory. - Apply the following access permissions to the X:\Exchsrv\TransportRoles\ directory. Administrator (Administrators): full control Network service (NETWORK SERVICE): full control System (SYSTEM): full control (9) Fail over the Exchange group. Move the Exchange group to the standby server. A) Start Cluster Manager on a server other than Exchange (such as the domain controller). B) Right-click the Exchange group, and then select [Move]. C) Select the standby server, and then click [OK]. (10) Change the store storage location on the standby server. A) Start Exchange Management Console on the standby server. B) Select [Server Configuration], and then select the standby server from the list. C) In [Database Management], right-click [First Storage Group] and then [Mailbox Database]. D) Select [Move Database Path]. E) Click the [Database] tab. F)Click [Browse] under [Database file path]. G) Change the storage location to X:\Exchsrv\Mailbox\First Storage Group, which was created in step (8). H) Click [Move]. I) Move the path, and then click [Finish] to close the wizard screen. J) If multiple storage groups exist, perform steps C through I for the store of each storage group. (11) Change the locations of the transaction log and system path on the standby server. A) Start Exchange Management Console on the standby server. B) Select [Server Configuration], and then select the standby server from the list. ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 40 C) D) E) F) In [Database Management], right-click [First Storage Group]. Select [Move Storage Group Path]. Click [Browse] under [Log files path]. Change the storage location to X:\Exchsrv\Mailbox\First Storage Group, which was created in step (8). G) Click [OK]. H) Click [Browse] under [System path location]. I) Change the storage location to X:\Exchsrv\Mailbox\First Storage Group, which was created in step (8). J) Click [OK]. K) Click [Move]. L) Move the path, and then click [Finish] to close the wizard screen. M) If multiple storage groups exist, perform steps C through L for each storage group. (12) Change the queue storage location on the standby server. A) Stop the Microsoft Exchange Transport service on the standby server. B) Start Windows Explorer on the standby server and open the “Exchange_2007_installation folder\bin” folder. C) Open the EdgeTransport.exe.config file by using Notepad. D) Change the following path for the <appSettings> section to the queue storage destination created in (8). <add key=“QueueDatabasePath” value=“LocalPath” /> <add key=“QueueDatabaseLoggingPath” value = “LocalPath” /> E) Save and close the EdgeTransport.exe.config file. F) Restart the Microsoft Exchange Transport service. G) Confirm that the Mail.que and Trn.chk files have been created at the new location. H) Delete these files from the original location. (13) Specify the settings for Exchange services on the standby server. Set the following services to [Manual] to stop them on the standby server: Microsoft Exchange Active Directory Topology Service Microsoft Exchange Anti-spam Update Microsoft Exchange EdgeSync Microsoft Exchange Information Store Microsoft Exchange POP3 Microsoft Exchange Replication Service Microsoft Exchange Search Indexer Microsoft Exchange Service Host Microsoft Exchange System Attendant Microsoft Exchange Transport Microsoft Exchange Transport Log Search Microsoft Exchange File Distribution Microsoft Exchange Mailbox Assistants Microsoft Exchange Mail Submission Microsoft Search (Exchange) (14) Fail over the Exchange group. A) Start Cluster Manager on a server other than Exchange (such as the domain controller). B) Right-click the Exchange group, and then select [Move] C) Select the active server, and then click [OK]. (15) Delete the following file in Windows Explorer: • X:\Exchsrv\Mailbox\First Storage Group\* X:\Exchsrv\TransportRoles\data\Queue\* 41 * If multiple storage groups exist, delete the files in the directory corresponding to each storage group in the same way. A) (16) Change the store storage location on the standby server. Specify the settings in step (10) on the active server. (17) Change the locations of the transaction log and system path on the active server. A) Specify the settings in step (11) on the active server. (18) Change the storage locations of queues on the active server. A) Specify the settings in step (12) on the active server. (19) Specify the settings for Exchange services on the active server. A) Specify the settings in step (13) on the active server. (20) Stop the Exchange group. Start Cluster Manager on a server other than Exchange (such as the domain controller). B) Right-click the Exchange group, and then select [Stop]. C) Click [OK]. A) (21) Creating Exchange resources Create the following resources for Exchange2007: ■ Resources • Prepare the following scripts: START.BAT: Start script STOP.BAT: Stop script W#EXCHG.BAT: Script for setting up environment variables Exch.vbs : Script for setting up Active Directory For details about how to create a resource, see the ExpressCluster X Install and Configuration Guide. (22) Start the Exchange group. D) Start Cluster Manager on a server other than Exchange (such as the domain controller). E) Right-click the Exchange group, and then select [Start]. F) Select the active server, and then click [OK]. ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 42 Notes on Creating Scripts Write scripts by following the samples below. Otherwise, script execution might be interrupted when sharing or releasing a directory or stopping a service. Sample Scripts Start script (START.BAT) Rem rem rem rem rem rem rem *************************************** * START.BAT * * * * Title : Exchange start option * * Date : 2008 .06.23 * * Version : 2.0 * *************************************** rem -----------------------------------------rem Set up environment variable used for batch processing. rem -----------------------------------------CALL W#EXCHG.BAT rem rem rem rem rem rem rem rem rem rem rem rem rem -----------------------------------------W# Environment variables specified in EXCHG.BAT W#EXCHG1 : Domain administrator’s account W#EXCHG2 : Active directory server name W#EXCHG3 : Primary server name W#EXCHG4 : Backup server name W#EXCHG5 : Flag indicating whether to output ARMLOG 0-->No output 1-->Output W#EXCHG6 : Account used to update AD W#EXCHG7 : Password of account used to update AD W#EXCHG8 : Domain name used to update AD ------------------------------------------ rem -----------------------------------------rem Batch execution start processing rem -----------------------------------------IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG1 ARMLOG “START START.BAT” :NO_LOG_EXCHG1 rem *************************************** rem Change parameters to your environment rem *************************************** SET DOMAIN_ADMIN_ACCOUNT=%W#EXCHG1% SET AD_SERVER_NAME=%W#EXCHG2% SET PRIMARY_SERVER_NAME=%W#EXCHG3% SET BACKUP_SERVER_NAME=%W#EXCHG4% SET AD_ADMIN=%W#EXCHG6% SET AD_ADMIN_PWD=%W#EXCHG7% SET AD_DOMAIN=%W#EXCHG8% rem *************************************** rem Check startup attributes rem *************************************** IF “%CLP_EVENT%” == “START” GOTO NORMAL IF “%CLP_EVENT%” == “FAILOVER” GOTO FAILOVER 43 IF “%CLP_EVENT%” == “RECOVER” GOTO EXIT rem Cluster Server is not started GOTO no_arm rem *************************************** rem Normal and Failover Startup process rem *************************************** :NORMAL :FAILOVER rem Check Disk IF “%CLP_DISK%” == “FAILURE” GOTO ERROR_DISK IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG2 ARMLOG “cd %CLP_SCRIPT_PATH%” :NO_LOG_EXCHG2 cd %CLP_SCRIPT_PATH% IF “%CLP_SERVER%” == “OTHER” GOTO ON_SECONDARY_SERVER IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG3 ARMLOG “IF EXIST spn.ldf (ldifde -i -f spn.ldf -s %AD_SERVER_NAME% -v -k -b %AD_ADMIN% %AD_DOMAIN% ********)” :NO_LOG_EXCHG3 IF EXIST spn.ldf ( ldifde -i -f spn.ldf -s %AD_SERVER_NAME% -v -k -b %AD_ADMIN% %AD_DOMAIN% %AD_ADMIN_PWD% ) :ON_SECONDARY_SERVER IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG4 ARMLOG “ARMLOAD EXCHSCR /W /U %DOMAIN_ADMIN_ACCOUNT% cscript exch.vbs %PRIMARY_SERVER_NAME% %BACKUP_SERVER_NAME% %CLP_PRIORITY%” :NO_LOG_EXCHG4 ARMLOAD EXCHSCR /W /U %DOMAIN_ADMIN_ACCOUNT% cscript exch.vbs %PRIMARY_SERVER_NAME% %BACKUP_SERVER_NAME% %CLP_PRIORITY% IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG5 ARMLOG “ARMLOAD EXCHSA /S /A /R 1 MSEXCHANGESA” :NO_LOG_EXCHG5 rem *** start exchange services *** ARMLOAD EXCHSA /S /A /R 1 MSEXCHANGESA ARMLOAD EXCHIS /S /A /R 1 MSEXCHANGEIS ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD EXCHMSS /S /A /R 1 msftesql-EXCHANGE EXCHADT /S /A /R 1 MSEXCHANGEADTopology EXCHASU /S /A /R 1 MSEXCHANGEAntispamUpdate EXCHEDS /S /A /R 1 MSEXCHANGEEdgeSync EXCHPOP3 /S /A /R 1 MSEXCHANGEPOP3 EXCHREPL /S /A /R 1 MSEXCHANGERepl EXCHSRC /S /A /R 1 MSEXCHANGESearch EXCHSVH /S /A /R 1 MSEXCHANGEServiceHost EXCHTRN /S /A /R 1 MSEXCHANGETransport EXCHTRNLS /S /A /R 1 MSEXCHANGETransportLogSearch EXCHFDS /S /A /R 1 MSEXCHANGEFDS EXCHMA /S /A /R 1 MSEXCHANGEMailboxAssistants EXCHMS /S /A /R 1 MSEXCHANGEMailSubmission ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 44 rem rem rem rem rem ** ** ** ** ** ARMLOAD ARMLOAD ARMLOAD ARMLOAD ARMLOAD EXCHMGMT /S /A /R 1 MSEXCHANGEMGMT RESVC /S /A /R 1 RESVC EXCHMTA /S /A /R 1 MSEXCHANGEMTA SMTP /S /A /R 1 SMTPSVC POP3 /S /A /R 1 POP3SVC GOTO EXIT rem *************************************** rem Irregular process rem *************************************** rem Process for disk errors :ERROR_DISK ARMBCAST /MSG “Failed to connect the switched disk partition” /A GOTO EXIT rem Cluster Server is not started :no_arm ARMBCAST /MSG “Cluster Server is offline” /A rem *************************************** rem End processing rem *************************************** :EXIT rem -----------------------------------------rem Batch execution end processing rem -----------------------------------------IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG_EXIT ARMLOG “END START.BAT” :NO_LOG_EXCHG_EXIT rem -----------------------------------------rem End of batch rem ------------------------------------------ Stop script (STOP.BAT) rem rem rem rem rem rem rem *************************************** * STOP.BAT * * * * Title : Exchange stop option * * Date : 2008.06.23 * * Version : 2.0 * *************************************** rem -----------------------------------------rem Set up environment variable used for batch processing. rem -----------------------------------------CALL W#EXCHG.BAT rem rem rem rem rem rem rem rem rem rem rem rem -----------------------------------------W# Environment variables specified in EXCHG.BAT W#EXCHG1 : Domain administrator’s account W#EXCHG2 : Active directory server name W#EXCHG3 : Primary server name W#EXCHG4 : Backup server name W#EXCHG5 : Flag indicating whether to output ARMLOG 0-->No output 1-->Output W#EXCHG6 : Account used to update AD W#EXCHG7 : Password of account used to update AD W#EXCHG8 : Domain name used to update AD 45 rem ------------------------------------------ rem -----------------------------------------rem Batch execution start processing rem -----------------------------------------IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG_START ARMLOG “START STOP.BAT” :NO_LOG_EXCHG_START rem *************************************** rem Check startup attributes rem *************************************** IF “%CLP_EVENT%” == “START” GOTO NORMAL IF “%CLP_EVENT%” == “FAILOVER” GOTO FAILOVER rem Cluster Server is not started GOTO no_arm rem *************************************** rem Normal and Failover Stop process rem *************************************** :NORMAL :FAILOVER IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG1 ARMLOG “ARMKILL POP3” :NO_LOG_EXCHG1 rem rem rem rem rem ** ** ** ** ** ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL ARMKILL POP3 SMTP EXCHMTA RESVC EXCHMGMT EXCHMS EXCHMA EXCHFDS EXCHTRNLS EXCHTRN EXCHSVH EXCHSRC EXCHREPL EXCHPOP3 EXCHEDS EXCHASU EXCHADT EXCHMSS ARMKILL EXCHIS ARMKILL EXCHSA rem Check Disk IF “%CLP_DISK%” == “FAILURE” GOTO ERROR_DISK GOTO EXIT rem *************************************** rem Irregular process rem *************************************** ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 46 rem Process for disk errors :ERROR_DISK ARMBCAST /MSG “Failed to connect the switched disk partition” /A GOTO EXIT rem Cluster Server is not started :no_arm ARMBCAST /MSG “Cluster Server is offline” /A rem *************************************** rem End processing rem *************************************** :EXIT rem -----------------------------------------rem Batch execution end processing rem -----------------------------------------IF “%W#EXCHG5%” == “0” GOTO NO_LOG_EXCHG_EXIT ARMLOG “END STOP.BAT” :NO_LOG_EXCHG_EXIT rem -----------------------------------------rem End of batch rem ------------------------------------------ Script for setting up environment variables (W#EXCHG.BAT) rem rem rem rem rem rem rem *************************************** * W#EXCHG.BAT * * * * Title : Exchange setting option * * Date : 2008.06.23 * * Version : 2.0 * *************************************** rem rem rem rem rem rem rem rem rem rem rem rem rem -----------------------------------------W# Environment variables specified in EXCHG.BAT W#EXCHG1 : Domain administrator’s account W#EXCHG2 : Active directory server name W#EXCHG3 : Primary server name W#EXCHG4 : Backup server name W#EXCHG5 : Flag indicating whether to output ARMLOG 0-->No output 1-->Output W#EXCHG6 : Account used to update AD W#EXCHG7 : Password of account used to update AD W#EXCHG8 : Domain name used to update AD ------------------------------------------ SET SET SET SET SET SET SET SET W#EXCHG1=NEC\administrator W#EXCHG2=AD-SERVER W#EXCHG3=SERVER1 W#EXCHG4=SERVER2 W#EXCHG5=1 W#EXCHG6=administrator W#EXCHG7=password W#EXCHG8=NEC 47 Script for setting up Active Directory (exch.vbs) ‘=============================================================== ‘ Purpose: Execute all tasks required to failover Exchange server ‘ Authors: Gary Pope and Jennifer Ricketts ‘ Date: October 6, 2006 ‘ Revised Date: June 23, 2008 ‘=============================================================== Option explicit ‘On Error Resume Next Err.number = 0 ‘=============================================================== ‘ Variables and Constants ‘=============================================================== ‘ Declare variables Dim strDNSDomain Dim strPrimary, strBackup Dim strOrg, strAdminGrp, strStrgGrp, strMBStorePub, strMBStore Dim strRoutingGrp, strOfflineAddress Dim strComputerCN, strPrimaryCN, strBackupCN, strUsersCN Dim strPrimaryDNSHostName Dim strOrgClass, strAdminGrpClass, strStorageGrpClass Dim strRoutingGrpClass, strOfflineAddressClass Dim strMBStorePrivClass, strMBStorePubClass, strRUSClass Dim objRootDSE Dim objPrimary, objBackup Dim conn Dim flagFailOver Dim strLdfFileName ‘ Declare Constants Const ADS_PROPERTY_APPEND = 3 Const ADS_PROPERTY_DELETE = 4 Const ForReading = 1 Const ForWriting = 2 If WScript.Arguments.Count <> 3 Then WScript.echo “Invalid parameters.” WScript.Quit End If strPrimary = WScript.Arguments(0) strBackup = WScript.Arguments(1) WScript.echo “Primary Server:” & strPrimary WScript.echo “Backup Server:” & strBackup If WScript.Arguments(2) = “1” Then flagFailOver = 0 WScript.echo “failback” Else flagFailOver = 1 WScript.echo “failover” End If ‘ Set Active Directory variables strComputerCN = “CN=Computers,” strUsersCN = “CN=Users,” strPrimaryCN = “CN=“ & strPrimary & “,” strBackupCN = “CN=“ & strBackup & “,” ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 48 ‘ Variables set automatically in script strOrgClass = “msExchOrganizationContainer” strAdminGrpClass = “msExchAdminGroup” strStorageGrpClass = “msExchStorageGroup” strMBStorePrivClass = “msExchPrivateMDB” strMBStorePubClass = “msExchPublicMDB” strRUSClass = “msExchAddressListService” strRoutingGrpClass = “msExchRoutingGroup” strOfflineAddressClass = “msExchOAB” strLdfFileName = “spn.ldf” ‘=============================================================== ‘ Subroutines and Functions ‘=============================================================== ‘ Error handling Sub ErrorCheck(strError) If Err.Number <> 0 Then Wscript.Echo strError & vbCrLf _ & “Error number: “ & Err.Number & “ “ & VbCrLf _ & “Error source: “ & Err.Source & “ “ & vbCrLf _ & “Error description: “ & Err.Description & vbCrLf _ & VbCrLf & “Cancelling script now.” Err.Clear Wscript.Quit End If End Sub ‘ Sets variables Function GetObjectName (DNSDomainName,Attribute) Dim strLdapstring, rs1, objVar strLdapstring = “<LDAP://CN=Configuration,” & DNSDomainName & “>;(&(objectClass=“ & Attribute & “));adspath;subtree” Set rs1 = conn.Execute(strLdapstring) Set objVar = GetObject(rs1.Fields(0).Value) GetObjectName = objVar.cn End Function ‘ Sets multiple RUS entries Sub SetMultipleRUSEntries (DNSDomainName,Attribute) Dim strLdapstring, rs1, objVar strLdapstring = “<LDAP://CN=Configuration,” & DNSDomainName & “>;(&(objectClass=“ & Attribute & “));adspath;subtree” Set rs1 = conn.Execute(strLdapstring) ‘ Set objVar = GetObject(rs1.Fields(0).Value) While Not rs1.EOF Set objVar = GetObject(rs1.Fields(0).Value) Call ChgRUSServer(strOrg,objVar.cn) Call ErrorCheck(“Error while setting RUS variable string.”) rs1.MoveNext Wend End Sub ‘ Mounts public stores Sub MountStores(Organization, AdminGroup, Server, StorageGroup, MailboxStore) Dim objBase ‘ cahnge set to Set Set objBase=GetObject(“LDAP://CN=“ & MailboxStore &_ “,CN=“ & StorageGroup & “,CN=InformationStore” &_ “,CN=“ & Server & “,CN=Servers,CN=“ & AdminGroup &_ “,CN=Administrative Groups,CN=“ & Organization &_ “,CN=Microsoft Exchange,CN=Services,CN=Configuration” &_ “,” & strDNSDomain) 49 objBase.msExchPatchMDB = TRUE objBase.SetInfo WScript.echo “New mount setting: “ & objBase.msExchPatchMDB End Sub ‘ Changes routing master Sub RoutingMaster(Organization,AdminGroup,RoutingGroup) Dim objBase, strRoutingMaster set objBase=GetObject(“LDAP://CN=“ & RoutingGroup &_ “,CN=Routing Groups,CN=“ & AdminGroup & “,CN=Administrative Groups” &_ “,CN=“ & Organization & “,CN=Microsoft Exchange,CN=Services” &_ “,CN=Configuration” & “,” & strDNSDomain) strRoutingMaster = objBase.msExchRoutingMasterDN If flagFailOver Then strRoutingMaster = Replace(strRoutingMaster, strPrimary, strBackup, 1, -1, vbTextCompare) Else strRoutingMaster = Replace(strRoutingMaster, strBackup, strPrimary, 1, -1, vbTextCompare) End If objBase.msExchRoutingMasterDN = strRoutingMaster objBase.SetInfo WScript.echo “Routing Master set to: “ & objBase.msExchRoutingMasterDN End Sub ‘ Changes RUS Server Sub ChgRUSServer(Organization,RUStype) Dim objBase, strRUS set objBase=GetObject(“LDAP://CN=“ & RUStype &_ “,CN=Recipient Update Services,CN=Address Lists Container” &_ “,CN=“ & Organization & “,CN=Microsoft Exchange,CN=Services” &_ “,CN=Configuration” & “,” & strDNSDomain) strRUS = objBase.msExchAddressListServiceLink If flagFailOver Then strRUS = Replace(strRUS, strPrimary, strBackup, 1, -1, vbTextCompare) Else strRUS = Replace(strRUS, strBackup, strPrimary, 1, -1, vbTextCompare) End If objBase.msExchAddressListServiceLink = strRUS objBase.SetInfo WScript.echo RUStype & “ set to: “ & objBase.msExchAddressListServiceLink End Sub ‘ Changes Offline Address List Server Sub OfflineAddress(Organization,OfflineAddressList) Dim objBase, strOABServer set objBase=GetObject(“LDAP://CN=“ & OfflineAddressList &_ “,CN=Offline Address Lists,CN=Address Lists Container” &_ “,CN=“ & Organization & “,CN=Microsoft Exchange,CN=Services” &_ “,CN=Configuration” & “,” & strDNSDomain) strOABServer = objBase.offLineABServer If flagFailOver Then strOABServer = Replace(strOABServer, strPrimary, strBackup, 1, -1, vbTextCompare) Else strOABServer = Replace(strOABServer, strBackup, strPrimary, 1, -1, vbTextCompare) End If objBase.offLineABServer = strOABServer objBase.SetInfo WScript.echo “Offline Address List Server set to: “ & objBase.offLineABServer ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 50 End Sub ‘ Changes User Attributes Sub ChangeUsers(PrimaryName,BackupName,Container) Dim objUsers, objUser Dim intCounter Dim strHomeMDB, strHomeMTA, strMsExchHomeServerName Dim strAttribute ‘ Binding to Active Directory Set objUsers = GetObject(“LDAP://” & Container & strDNSDomain) Call ErrorCheck(“Error while binding to Users container in AD.”) ‘ For each user with a “mail” address, change mailbox attributes back intCounter = 0 For each objUser in objUsers Select Case objUser.Class Case “user” If objUser.mail <> ““ Then ‘Count mailboxes strHomeMDB = objUser.homeMDB strAttribute = strHomeMDB If flagFailOver Then strHomeMDB = Replace(strAttribute, PrimaryName, BackupName, 1, -1, vbTextCompare) Else strHomeMDB = Replace(strAttribute, BackupName, PrimaryName, 1, -1, vbTextCompare) End If objUser.homeMDB = strHomeMDB objUser.SetInfo strHomeMTA = objUser.homeMTA strAttribute = strHomeMTA If flagFailOver Then strHomeMTA = Replace(strAttribute, PrimaryName, BackupName, 1, -1, vbTextCompare) Else strHomeMTA = Replace(strAttribute, BackupName, PrimaryName, 1, -1, vbTextCompare) End If objUser.homeMTA = strHomeMTA objUser.SetInfo strMsExchHomeServerName = objUser.msExchHomeServerName strAttribute = strMsExchHomeServerName If flagFailOver Then strMsExchHomeServerName = Replace(strAttribute, PrimaryName, BackupName, 1, -1, vbTextCompare) Else strMsExchHomeServerName = Replace(strAttribute, BackupName, PrimaryName, 1, -1, vbTextCompare) End If objUser.msExchHomeServerName = strMsExchHomeServerName objUser.SetInfo If flagFailOver Then WScript.echo “Changed mailbox attributes to “ & BackupName & “ for “ & objUser.cn 51 Else WScript.echo “Changed mailbox attributes to “ & PrimaryName & “ for “ & objUser.cn End If End If End Select intCounter = intCounter + 1 Call ErrorCheck(“Error while editing mailbox attributes.”) Next End Sub ‘=============================================================== ‘ Create ldf file ‘=============================================================== Sub CreateLdfFile Dim objFSO Dim objFile Set objFSO = CreateObject(“Scripting.FileSystemObject”) If objFSO.FileExists(strLdfFileName) Then WScript.echo strLdfFileName & “ already exists.” Else WScript.echo strLdfFileName & “ does not exist. Create.” Dim strLines(13) strLines(1) = “dn: “ & strPrimaryCN & strComputerCN & strDNSDomain strLines(2) = “changetype: modify” strLines(3) = “add: servicePrincipalName” strLines(4) = “servicePrincipalName: HOST/” & strPrimaryDNSHostName strLines(5) = “servicePrincipalName: HOST/” & strPrimary strLines(6) = “-” strLines(7) = ““ strLines(8) = “dn: “ & strBackupCN & strComputerCN & strDNSDomain strLines(9) = “changetype: modify” strLines(10) = “delete: servicePrincipalName” strLines(11) = “servicePrincipalName: HOST/” & strPrimaryDNSHostName strLines(12) = “servicePrincipalName: HOST/” & strPrimary strLines(13) = “-” ‘ For DEBUG ‘ WScript.echo strLines(1) ‘ WScript.echo strLines(2) ‘ WScript.echo strLines(3) ‘ WScript.echo strLines(4) ‘ WScript.echo strLines(5) ‘ WScript.echo strLines(6) ‘ WScript.echo strLines(7) ‘ WScript.echo strLines(8) ‘ WScript.echo strLines(9) ‘ WScript.echo strLines(10) ‘ WScript.echo strLines(11) ‘ WScript.echo strLines(12) ‘ WScript.echo strLines(13) ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ set objFile = objFSO.CreateTextFile(strLdfFileName, ForWriting) objFile.WriteLine strLines(1) objFile.WriteLine strLines(2) objFile.WriteLine strLines(3) objFile.WriteLine strLines(4) objFile.WriteLine strLines(5) objFile.WriteLine strLines(6) ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 52 objFile.WriteLine objFile.WriteLine objFile.WriteLine objFile.WriteLine objFile.WriteLine objFile.WriteLine objFile.WriteLine objFile.Close End If End Sub strLines(7) strLines(8) strLines(9) strLines(10) strLines(11) strLines(12) strLines(13) ‘=============================================================== ‘ Binding to Active Directory ‘=============================================================== Set objRootDSE = GetObject(“LDAP://RootDSE”) strDNSDomain = objRootDSE.Get(“DefaultNamingContext”) Call ErrorCheck(“Error while binding to AD.”) ‘=============================================================== ‘ ADODB Connect ‘=============================================================== Set conn = CreateObject(“ADODB.Connection”) conn.Provider = “ADSDSOObject” conn.Open “ADs Provider” Call ErrorCheck(“Error while connecting to ADODB.”) ‘=============================================================== ‘ Set variables ‘=============================================================== strOrg = GetObjectName(strDNSDomain,strOrgClass) WScript.echo “Organization Name: “ & strOrg strAdminGrp = GetObjectName(strDNSDomain,strAdminGrpClass) WScript.echo “Administration Group: “ & strAdminGrp strStrgGrp = GetObjectName(strDNSDomain,strStorageGrpClass) WScript.echo “Storage Group: “ & strStrgGrp strMBStore = GetObjectName(strDNSDomain,strMBStorePrivClass) WScript.echo “Private MB Store: “ & strMBStore ‘ strMBStorePub = GetObjectName(strDNSDomain,strMBStorePubClass) ‘ WScript.echo “Public MB Store: “ & strMBStorePub strRoutingGrp = GetObjectName(strDNSDomain,strRoutingGrpClass) WScript.echo “Routing Group: “ & strRoutingGrp strOfflineAddress = GetObjectName(strDNSDomain,strOfflineAddressClass) WScript.echo “Routing Group: “ & strOfflineAddress Call ErrorCheck(“Error while setting variables.”) ‘=============================================================== ‘ Mount mailbox and public stores ‘=============================================================== ‘changing store settings on Primary for a failback If flagFailOver Then Call MountStores(strOrg, strAdminGrp, strBackup, strStrgGrp, strMBStore) ‘ Comment out 53 ‘ Call MountStores(strOrg, strAdminGrp, strBackup, strStrgGrp, strMBStorePub) Else Call MountStores(strOrg, strAdminGrp, strPrimary, strStrgGrp, strMBStore) ‘ Comment out ‘ Call MountStores(strOrg, strAdminGrp, strPrimary, strStrgGrp, strMBStorePub) End If Call ErrorCheck(“Error while mounting stores.”) WScript.Echo “Mounting of stores completed.” ‘=============================================================== ‘ Move ServicePrincipalName attributes in Active Directory to Primary machine ‘=============================================================== ‘ Binding to Primary in Active Directory Set objPrimary = GetObject(“LDAP://” & strPrimaryCN & strComputerCN & strDNSDomain) Call ErrorCheck(“Error while binding to Primary in AD”) ‘ Binding to Backup in Active Directory Set objBackup = GetObject(“LDAP://” & strBackupCN & strComputerCN & strDNSDomain) Call ErrorCheck(“Error while binding to Backup in AD”) Dim doBackup,doPrimary If flagFailOver Then doBackup = ADS_PROPERTY_APPEND doPrimary = ADS_PROPERTY_DELETE Else doBackup = ADS_PROPERTY_DELETE doPrimary = ADS_PROPERTY_APPEND End If ‘ Removing Primary SPN values from Backup strPrimaryDNSHostName = objPrimary.DNSHostName objBackup.PutEx doBackup, strPrimaryDNSHostName) objBackup.SetInfo objBackup.PutEx doBackup, objBackup.SetInfo objBackup.PutEx doBackup, strPrimaryDNSHostName) objBackup.SetInfo objBackup.PutEx doBackup, strPrimary) objBackup.SetInfo objBackup.PutEx doBackup, strPrimaryDNSHostName) objBackup.SetInfo objBackup.PutEx doBackup, strPrimary) objBackup.SetInfo “servicePrincipalName”, Array(“HOST/” & “servicePrincipalName”, Array(“HOST/” & strPrimary) “servicePrincipalName”, Array(“exchangeMDB/” & “servicePrincipalName”, Array(“exchangeMDB/” & “servicePrincipalName”, Array(“exchangeRFR/” & “servicePrincipalName”, Array(“exchangeRFR/” & If flagFailOver Then Call ErrorCheck(“Error while adding SPNs to Backup.”) Else Call ErrorCheck(“Error while deleting SPNs from Backup.”) ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 54 End If ‘ Re-adding Primary SPN values from Backup to Primary objPrimary.PutEx doPrimary, strPrimaryDNSHostName) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimary) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimaryDNSHostName) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimary) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimaryDNSHostName) objPrimary.SetInfo objPrimary.PutEx doPrimary, strPrimary) objPrimary.SetInfo “servicePrincipalName”, Array(“HOST/” & “servicePrincipalName”, Array(“HOST/” & “servicePrincipalName”, Array(“exchangeMDB/” & “servicePrincipalName”, Array(“exchangeMDB/” & “servicePrincipalName”, Array(“exchangeRFR/” & “servicePrincipalName”, Array(“exchangeRFR/” & If flagFailOver Then Call ErrorCheck(“Error while deleting SPNs from Primary.”) Else Call ErrorCheck(“Error while adding SPNs to Primary.”) End If ‘FOR TESTING’’’’’’ Dim strAttributes Dim strAttr Dim strSet strAttributes = objBackup.GetEx(“servicePrincipalName”) For each strAttr in strAttributes strSet = strSet & strAttr & vbCRLF Next Wscript.echo “SPNs now in Backup:” & vbCrLf & strSet ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ ‘FOR TESTING’’’’’’’’’’ ‘strAttributes = ““ strSet = ““ strAttributes = objPrimary.GetEx(“servicePrincipalName”) For each strAttr in strAttributes strSet = strSet & strAttr & vbCRLF Next Wscript.echo “SPNs now in Primary:” & vbCrLf & strSet ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ ‘=============================================================== ‘ Changing User Attributes ‘=============================================================== Call ChangeUsers(strPrimary,strBackup,strUsersCN) ‘‘======================= For LoadSim Users ========================== ‘Call ChangeUsers(strPrimary,strBackup,”OU=MACHINE1,OU=LOADSIM USERS,”) ‘=============================================================== ‘ Change Routing Master ‘=============================================================== 55 Call RoutingMaster(strOrg,strAdminGrp,strRoutingGrp) Call ErrorCheck(“Error while changing routing master.”) ‘=============================================================== ‘ Change Recipient Update Service Server ‘=============================================================== Call SetMultipleRUSEntries (strDNSDomain,strRUSClass) Call ErrorCheck(“Error while changing RUS Server.”) ‘=============================================================== ‘ Change Offline Address List Server ‘=============================================================== Call OfflineAddress(strOrg, strOfflineAddress) Call ErrorCheck(“Error while changing Offline Address List Server.”) ‘=============================================================== ‘ Create Ldf File ‘=============================================================== If flagFailOver=0 Then ‘ Activate on Primary Call CreateLdfFile End If ‘FOR TESTING’’’’’’’’’’ WScript.echo “Done!” ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ WScript.Quit ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 56 Installation Procedure for Exchange2007 Service Pack Even if Exchange2007 is not installed, installing an Exchange2007 service pack installs all the Exchange2007 functions. To install a service pack on a server where Exchange2007 has not been installed, see the above installation procedure. To install a service pack on a server where Exchange2007 is already installed, install the service pack to the local partitions on both servers by performing the steps below. th Related information: As of July 18 , 2008, the latest version is Service Pack 1. For details about Exchange2007 service packs, see the following Microsoft Web site. • Exchange Server 2007 Service Pack 1 http://www.microsoft.com/downloads/details.aspx?FamilyId=44C66AD6-F1 85-4A1D-A9AB-473C1188954C&displaylang=ja th (URL as of July 18 , 2008) (1) Make sure that the cluster group is running on the active server. Move to the active server if the cluster group is running on the standby server. (2) Start the installer for the Exchange2007 service pack on the standby server and start the installation. If the following error occurs during the prerequisite confirmation phase, log out of the standby server, log in again, and then restart the installation: Errors that could occur during the prerequisite confirmation phase “You must be a member of the Exchange Organization Administrators group to upgrade the first Hub Transport server role in your organization to Exchange Server 2007 Service Pack 1.” “You must be a member of the Exchange Organization Administrators group to upgrade the first Client Access server role in your organization to Exchange Server 2007 Service Pack 1.” “You must be a member of the Exchange Organization Administrators group to upgrade the first Mailbox server role to Exchange Server 2007 Service Pack 1.” (3) After installing the service pack on the standby server, move the cluster group to the standby server. (4) Start the installer for the Exchange2007 service pack on the active server and start the installation. If one of the above errors occurs during the prerequisite confirmation phase, log out of the active server, log in again, and then restart the installation. (5) After installing the service pack on the active server, move the cluster group to the active server. 57 Notes A line error or other error might be reported to the client or sending or receiving an e-mail might fail depending on the the failover timing. In this case, it is possible to finish sending or receiving the e-mail by sending or receiving it after the failover. System shutdown might take five or more minutes when Exchange2007 is installed. It is recommended to connect an additional battery if a UPS is connected. • Specify a sufficient power disconnection grace period when using ESMPRO/PowerController or ESMPRO/AutomaticRunningController. (For details about this grace period, see the help for ESMPRO/PowerController or ESMPRO/AutomaticRunnningController or another reference.) • Specify a sufficient UPS stop delay period for ESMPRO/UPSController by taking the system shutdown time and UPS battery backup time into consideration. (For details about this delay period, see the help for ESMPRO/UPSController or another reference.) The logs below might be entered in the Windows Server 2003 event log when the ESMPRO/ServerAgent service is started or the Windows Server 2003 performance monitor is started on the standby server (the server where Exchange Server is not running). The cause is that the switching partition where Exchange Server is installed is not connected to the standby server. This is not an error. (In fact, each Exchange service name is displayed for MSExchangeXX in the above dialog box and the path name of the DLL that provides performance data is displayed for DLL file path.) Make sure that the switching partition is not accessed when performing an online failover or failback (migrating the failover group). If an application is started from the switching partition or Windows Explorer or other software opens the switching partition, be sure to exit the application before performing an online failover or failback. (If the switching partition is accessed, the partition cannot be separated and the server is shut down.) Place the Active Directory server and Kerberos authentication server on the same server. Although the following error might be recorded in the event log during a failover, this ExpressCluster X for Windows Configuration Guide (Exchange Server 2003 / 2007) 58 does not affect operation: Microsoft Exchange System Attendant has detected a discrepancy in the published security data for Exchange server 'virtual_computer_name'. This server's encryption keys may have been modified illicitly. Note There are also other error messages that are entered when Exchange is used in a cluster environment but do not affect operation. For details, see the Microsoft Knowledge Base or another resource. The following notes are specific to ExpressCluster X. The Outlook client must be restarted after a failover or failback if the client (such as Outlook 2003) uses an MAPI connection. If an Internet mail client (such as Outlook Express) uses a POP3/SMTP or IMAP4 connection or uses OWA (Outlook Web Access) for access and the destination server is specified using the server name, the Exchange server is no longer accessible after a failover. Specify the floating IP address instead of the server name so the server remains accessible after a failover or failback. The logon session with the Exchange server is disconnected during a failover or failback. Therefore, logon authentication might be requested again when you try to access the system after a failover or failback depending on the authentication settings for an OWA, POP3/SMTP, or IMAP4 connection. When using the Message Tracking Center, run the Message Tracking Center on the operating node and specify the actual server name of the operating node as the server to search. When an Exchange server unit setting is changed after setting up the cluster environment, the change is not automatically applied to the other node. Therefore, it is necessary to make the same changes on both nodes. When settings are changed on an Exchange organization basis, the changes are shared by both nodes. 59 ">
/
广告