Requirements for a Scale-Out Deployment


As you have seen earlier in this chapter, SSRS can be deployed in a scale-out fashion on a web farm. Each machine in the web farm runs both the correct web server or website to host the report server and the SQL Server Reporting Services. As anyone who has managed a web farm knows , in theory any machine on the farm should be easily replaceable with another in the same configuration, and state cannot be stored on any box on the farm. SSRS accomplishes this task by using data source configuration information and reports inside the Report Server database. The application servers just need to register themselves with the database server. This might sound simple, but it is not trivial. Luckily, SSRS 2005 has given administrators much better tools to aid in this configuration process.

Overview of Report Server Initialization

Because SSRS uses potentially sensitive information, it is important to secure it appropriately. This is compounded by the fact that in a scale-out situation multiple Report Servers need to encrypt and unencrypt the data stored in the database. To understand how SSRS accomplishes this, you need a bit of knowledge about encryption and encryption techniques.

In general, there are two kinds of encryptionsymmetric and asymmetric. Symmetric is very fast because it uses only one possible key to encrypt and unencrypt the data. However, this form of encryption has its drawbacks. How can you share information that has been encrypted with the symmetric key without compromising the key? The answer is to use asymmetric encryption. Asymmetric encryption uses a combination of keys, one public and one private. The public key can be shared with another host and can be used to decrypt messages encrypted with the private key. The same can be said for the private key. Asymmetric encryption is relatively very slow, so it should not be used to encrypt/unencrypt frequently.

SSRS uses both types of encryption in a simple, yet intelligent way. For every Report Server database, SSRS generates a unique symmetric key that can then be used to encrypt the data. At this point, every Report Server that needs access to the data must publish its public asymmetric key along with its unique installation ID and client ID to the Report Server database. The Report Server database then uses the public asymmetric key to encrypt the internal symmetric key and share it with the client. After being encrypted with the client's public asymmetric key, the symmetric key cannot be decrypted by anyone else without the private key. Administrators can actually watch this process unfold by watching the changes in the Keys table during the activation process. The process of exchanging public keys and symmetric keys is called activation.

Activation is a two-phase process. The first phase is the Announce Self phase, and the second phase is the Activated phase. The Announce Self phase covers the reading of the keys from the Keys tables and, if needed, the writing of the client's public key to the Keys table. The Activated phase is the time the Report Server gets the symmetric key in encrypted form.

Note

Because the private keys are stored under the user's profile in SSRS, changing the user the service runs under could force a reactivation.


The process of adding and removing machines in the scale-out deployment model is simply the process of running activation over again. The same is true for taking an SSRS installation and pointing it to a different database.

Steps to Set Up SSRS in a Scale-Out Configuration

SSRS requires an existing NLB or server cluster. It does not create or set one up for you. The basic steps to set up a scale-out configuration include installing SSRS on the node, configuring the node, and finishing the configuration by editing the configuration files.

The following steps start the install of SSRS on a node of a new server cluster:

1.
Run SSRS setup on the node that will become part of the cluster. The critical step here is to do a file only installation. When using the SQL Server Installation Wizard, this option is labeled Install But Do Not Configure the Server.

2.
Run the SQL Server Surface Area Configuration Tool to configure the Report Server. The Report Server service must be up and running for this to work because it is what registers the installation with the Report Server database.

3.
Open the Reporting Services Configuration Manager.

4.
Configure the virtual directories for use by the Report Server and Report Manager. In most scale-out deployments, this should be identical on all machines.

5.
Continue to the Database Setup page and enter or select the name of the SQL Server database instance to connect to. Click Connect to connect to the instance and retrieve the list of running databases. To create a new database, click New. The new database is created with the ID of whoever is running the configuration tool.

6.
Enter the credentials for SSRS to use to log in to the database.

7.
7. Click Apply for SSRS to connect to the database and complete the activation process.

8.
Click the Encryption Keys tab and make a backup of the SymMetric key.

9.
Click the Initialization tab, and make sure the Initialized check box is checked. If it is not, click the Initialize button.

10.
Continue to enter the email settings and unattended execution account. At this point, you can verify that the Report Server is operational by requesting a page from the Report Server virtual directory ( / ReportServer ). Repeat steps 1-10 for every server in a web farm.

11.
Open the rsreportsserver.config file and change the <UrlRoot> tag to use the cluster name instead of the machine's physical name.

12.
Open the rswebapplication.config file and change the <ReportServerUrl> tag to use the cluster name instead of the machine's physical name.

To add nodes to an existing cluster, follow these steps:

1.
Run SSRS setup on the node that will become part of the cluster. The critical step here is to do a file only installation. When using the SQL Server Installation Wizard, this option is labeled Install But Do Not Configure the Server.

2.
Run the SQL Server Surface Area Configuration Tool to configure the Report Server. The Report Server service must be up and running for this to work because it is what registers the installation with the Report Server database.

3.
Open the Reporting Services Configuration Manager.

4.
Configure the virtual directories for use by the Report Server and Report Manager. In most scale-out deployments, this should be identical on all machines.

5.
Continue to the Database Setup page and enter the name of the SQL Server database instance to connect to. Click Connect to connect to the instance and retrieve the list of running databases. To connect to an existing database, click Upgrade. All nodes on the same scale-out deployment must point to the same database.

6.
Enter the credentials for SSRS to use to log in to the database.

7.
On the Initialization tab, the entry for the new node should exist, but the Initialized check box should not be checked.

8.
Launch the Report Server Configuration Tool on a machine that has already been initialized.

9.
On the Initialization tab, select the machine that is to be added to the scale-out configuration and select Join. At this point, the Initialized check box should appear for both machines in the configuration.

10.
10. Open the rswebapplication.config and the rsreportserver.config files and change the <ReportServerUrl> and the <UrlRoot> tags, respectively, to state the cluster name instead of the network name.

Note

To use ASP.NET with a web farm, the validationKey and decryptionKey should be the same on every machine in the web farm. Details of how to accomplish this can be found in the following Microsoft Knowledge Base Article: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312906.


To remove a server, simply uninitialize it by opening the Reporting Services Configuration Tool from any node on the cluster, selecting the node to be removed, and clicking the Remove button. To move a node, remove the node from its existing setup and follow the steps to add it to the new cluster.



Microsoft SQL Server 2005 Reporting Services
Microsoft SQL Server 2005 Reporting Services
ISBN: 0672327996
EAN: 2147483647
Year: 2004
Pages: 254

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net