Reinstall Microsoft HPC Pack Preserving the Data in the HPC Databases

 

Applies To: Microsoft HPC Pack 2012, Microsoft HPC Pack 2012 R2

Follow the procedures in this topic to reinstall Microsoft® HPC Pack on the head node of your cluster without having all the data in the HPC databases erased. To do this, you must run setup.exe with the -keepdata parameter. Without this parameter, all the existing data in the HPC databases is erased during reinstallation, and all the cluster configuration information is lost.

Important

The procedures in this topic can also be used to reinstall a version of HPC Pack that is updated with a service pack, provided that you have integrated setup files for HPC Pack with the service pack (also called a slipstream installation). For more information, see the download details and release notes for the service pack.

Warning

  • To run setup.exe with the -keepdata parameter, you must use unattended installation from the command prompt. You cannot reinstall HPC Pack by using the installation wizard, without deleting all the data in the HPC databases.

  • Even if you installed the HPC databases on remote database servers, you have to reinstall HPC Pack on the same head node computer. The reinstallation procedures in this topic are not intended for performing a migration of the head node to a different computer.

  • Before reinstalling HPC Pack, you should back up any valued data on the head node and on the cluster nodes.

In this topic:

  • Steps for reinstalling HPC Pack preserving the data in the HPC databases

  • Troubleshooting the reinstallation of HPC Pack

Steps for reinstalling HPC Pack preserving the data in the HPC databases

There are six steps for reinstalling HPC Pack on the head node of your cluster. Depending on the configuration of your HPC cluster, not all steps might be necessary. The following checklist describes these steps.

Checklist: Reinstalling HPC Pack preserving the data in the HPC databases

Task

Description

Step 1: Copy or specify the SQL connection strings for remote HPC databases (optional)

If you installed the HPC databases on one or more remote SQL servers, copy or specify the SQL connection strings for the remote databases.

Step 2: Uninstall HPC Pack

Uninstall HPC Pack by using Programs in Control Panel.

Step 3: Reinstall HPC Pack

Reinstall HPC Pack by running setup.exe with the -keepdata parameter.

Step 4: Reset the network topology

If your cluster is not configured in topology 5 (all nodes on an enterprise network), reset the network topology so that Windows Deployment Services is reconfigured.

Step 5: Reset the installation credentials

After reinstalling HPC Pack, reset the installation credentials.

Step 6: Delete any session data left in the broker nodes

If your HPC cluster includes Windows Communication Foundation (WCF) broker nodes, you must delete any session data that is still available in those broker nodes.

Step 1: Copy or specify the SQL connection strings for remote HPC databases (optional)

If you installed the HPC databases on one or more remote SQL servers, copy or specify the SQL connection strings for the remote databases, so that you can use those same connection strings during reinstallation. You can copy the SQL connection strings only if you have not uninstalled HPC Pack on the head node of your HPC cluster.

Important

If you are reviewing this topic after you have already uninstalled HPC Pack, you will not be able to copy the SQL connection strings because that information is removed from your system during uninstallation. Having the original SQL connection strings is not a requirement for reinstallation, but can help make the process faster and less prone to errors. If you already uninstalled HPC Pack, you will need to manually specify new SQL connection strings.

Copy the SQL connection strings

If you have not already uninstalled HPC Pack, you can determine the original connection strings by reviewing the information in the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HPC.

Depending on the number of databases that you installed remotely, the connection string for each database is stored in the following registry values of the HPC registry key:

  • Cluster management database: ManagementDbConnectionString

  • Job scheduling database: SchedulerDbConnectionString

  • Diagnostics database: DiagnosticsDbConnectionString

  • Reporting database: ReportingDbConnectionString

  • Monitoring database (starting with HPC Pack 2012): MonitoringDbConnectionString

To list all the registry values for the connection strings, run the following command at a command prompt:

reg query HKLM\SOFTWARE\Microsoft\HPC /f ConnectionString

If you want to save the results of the previous command to a text file, run the following command:

reg query HKLM\SOFTWARE\Microsoft\HPC /f ConnectionString >strings.txt

Specify new SQL connection strings

If you are not able to determine the original connection strings, a SQL connection string to an HPC database can be specified according to the following syntax:

  • For Windows authentication:

    Data Source=<computer_name>\<instance_name>;Initial Catalog=<database_name>;Integrated Security=True
    
  • For SQL Server authentication:

    Data Source=<computer_name>\<instance_name>;Initial Catalog=<database_name>;User ID=<user_name>;Password=<password>
    

where:

  • <computer_name> is the name of the remote database server where you want to install the HPC database.

  • <instance_name> is the name of the instance of SQL Server that you configured for the HPC database.

  • <database_name> is the name of the database that you created in the instance.

  • <user_name>, when using SQL Server authentication, is the login name of the user that you want to use to connect to the HPC database

  • <password>, when using SQL Server authentication, is the password for the user

For example, if you installed the cluster management database in a server named SQLSERVER, in an instance named HPCDB in that server, you named the database HPCManagement, and you are using Windows authentication, the SQL connection string for that database would be specified by adding to setup.exe the following parameter: -mgmtDbConStr:"Data Source=SQLSERVER\HPCDB;Initial Catalog=HPCManagement;Integrated Security=True;".

Step 2: Uninstall HPC Pack

The following procedure explains how to uninstall HPC Pack by using Programs in Control Panel.

Important

  • Ensure that no cluster jobs are running or waiting to run. If necessary, stop all running and waiting jobs, and notify cluster users that the HPC cluster will be unavailable during the reinstallation process.

  • Do not shut down the nodes in your HPC cluster. It is recommended that they stay powered on while the reinstallation of the head node takes place.

  • Take offline all nodes in your HPC cluster before uninstalling HPC Pack on the head node.

To uninstall HPC Pack

  1. On the head node, close HPC Cluster Manager, if it is currently open.

  2. In Control Panel, under Programs, click Uninstall a program.

  3. To uninstall an HPC Pack feature, on the list of installed programs, right-click the feature, and then click Uninstall.

    You must uninstall the HPC Pack features in the following order:

    1. Microsoft HPC Pack Web Components (if they are installed

    2. Microsoft HPC Pack Key Storage Provider (if it is installed)

    3. Microsoft HPC Pack Services for Excel

    4. Microsoft HPC Pack Server Components

    5. Microsoft HPC Pack Client Components

    6. Microsoft HPC Pack MS-MPI Redistributable Pack

    Important

    • With HPC Pack 2008 R2, Microsoft HPC Pack 2008 R2 Services for Excel 2010 is only installed on the head node when the HPC Pack 2008 R2 Enterprise and HPC Pack 2008 R2 for Workstation edition is installed.

    • Do not uninstall any of the Microsoft SQL Server programs or features, if they are installed on the head node computer.

    • Make sure that you uninstall all HPC Pack features, or reinstallation will fail.

    Note

    If you are prompted if you want to close the Windows Deployment Services Server, click OK.

  4. After all HPC Pack features have been uninstalled, restart the head node computer.

Step 3: Reinstall HPC Pack

The following procedure explains how to reinstall HPC Pack by running setup.exe with the -keepdata parameter.

To reinstall HPC Pack

  1. After you have uninstalled HPC Pack and the head node computer has been restarted, log on to the head node computer by using a domain account that has administrative privileges on that computer.

    Note

    If you are reinstalling HPC Pack on a clustered head node, log on to the active head node in the failover cluster.

  2. Open an elevated Command Prompt window.

  3. If needed, insert the HPC Pack installation media in the head node computer.

  4. Use the command prompt to change folders to where the setup.exe installation program for HPC Pack is stored.

  5. To start the unattended reinstallation process of a single head node, type the following command (this syntax assumes an HPC Pack 2008 R2) head node:

    setup.exe -keepdata -unattend -headnode [-express] [-installDir:<path>] [-dataDir:<path>] [-dbInstName:<SQL_Instance>] [-mgmtDbConStr:"<SQL_String>"] [-schdDbConStr:"<SQL_String>"] [-diagDbConStr:"<SQL_String>"] [-rptDbConStr:"<SQL_String>"] [-enableMicrosoftUpdate] [-enableSqm]
    
    System_CAPS_warningWarning
  6. To start the unattended reinstallation process of a head node configured for high availability in a failover cluster, type the following command on the active head node in the failover cluster(this syntax assumes an HPC Pack 2008 R2 head node):

    setup.exe -keepdata -unattend –headnode -clusteredinstance:<instance_name> [-express] [-installDir:<path>] [-dataDir:<path>] [-dbInstName:<SQL_Instance>] [-mgmtDbConStr:"<SQL_String>"] [-schdDbConStr:"<SQL_String>"] [-diagDbConStr:"<SQL_String>"] [-rptDbConStr:"<SQL_String>"] [-enableMicrosoftUpdate] [-enableSqm]
    

The following table describes the parameters that must be included with setup.exe depending on the type of installation that you originally had (listed in square brackets —“[ ]”):

  • Some of these parameters might be required. For example, if you installed one or more of the HPC databases on remote SQL servers, you must specify the SQL connection string for those remote databases.

  • To see a list of all parameters that are available for setup.exe for your version of HPC Pack , in a Command Prompt window, type the following command: setup.exe -?.

Parameter

Description

-express

  • This parameter is removed starting in HPC Pack 2012.

  • Installs the Express edition of HPC Pack 2008 R2.

  • If you do not specify this parameter, the HPC Pack 2008 R2 Enterprise and HPC Pack 2008 R2for Workstation edition is installed by default.

clusteredinstance:<instance_name>

  • Specifies that the head node is configured for high availability in a failover cluster, and the clustered instance is named instance_name.

  • This parameter can only be used if the headnode parameter is also specified

-installDir:<path>

  • Specifies the installation folder for the HPC Pack program files.

  • Required if the last time that you installed HPC Pack you specified an installation folder different than the default folder. Make sure that you specify the correct folder path or some configuration files will not be available in the new installation.

-dataDir:<path>

  • Specifies the installation folder for the HPC Pack data files.

  • Required if the last time that you installed HPC Pack you specified an installation folder different than the default folder. Make sure that you specify the correct folder path or some configuration files will not be available in the new installation.

-dbInstName:<SQL_Instance>

  • Specifies the name of the SQL database instance on the local computer.

  • If you do not specify this parameter, the installation program searches the local computer for a default instance named COMPUTECLUSTER.

  • The –mgmtDbConStr, -schdDbConStr, -diagDbConStr, –rptDbConStr, and –monDbConStr parameters override this parameter for the individual database that they specify.

-mgmtDbConStr:"<SQL_String>"

  • Specifies the SQL connection string for the cluster management database.

  • Required if you installed the cluster management database on a remote SQL server.

  • Required if you installed the cluster management database on the head node, but on an instance different than the default COMPUTECLUSTER instance, or on a database that is not named HPCManagement.

  • If you copied or specified the SQL connection string for the cluster management database, use it here.

  • If you do not specify this parameter, the installation program searches the local computer for a default instance named COMPUTECLUSTER, and a default cluster management database named HPCManagement.

  • If you specify this parameter and also specify the –dbInstName parameter, this parameter overrides the –dbInstName parameter, but only for the cluster management database.

-schdDbConStr:"<SQL_String>"

  • Specifies the SQL connection string for the job scheduling database.

  • Required if you installed the job scheduling database on a remote SQL server.

  • Required if you installed the job scheduling database on the head node, but on an instance different than the default COMPUTECLUSTER instance, or on a database that is not named HPCScheduler.

  • If you copied or specified the SQL connection string for the job scheduling database, use it here.

  • If you do not specify this parameter, the installation program searches the local computer for a default instance named COMPUTECLUSTER, and a default job scheduling database named HPCScheduler.

  • If you specify this parameter and also specify the –dbInstName parameter, this parameter overrides the –dbInstName parameter, but only for the job scheduling database.

-diagDbConStr:"<SQL_String>"

  • Specifies the SQL connection string for the diagnostics database.

  • Required if you installed the diagnostics database on a remote SQL server.

  • Required if you installed the diagnostics database on the head node, but on an instance different than the default COMPUTECLUSTER instance, or on a database that is not named HPCDiagnostics.

  • If you copied or specified the SQL connection string for the diagnostics database, use it here.

  • If you do not specify this parameter, the installation program searches the local computer for a default instance named COMPUTECLUSTER, and a default diagnostics database named HPCDiagnostics.

  • If you specify this parameter and also specify the –dbInstName parameter, this parameter overrides the –dbInstName parameter, but only for the diagnostics database.

-rptDbConStr:"<SQL_String>"

  • Specifies the SQL connection string for the reporting database.

  • Required if you installed the reporting database on a remote SQL server.

  • Required if you installed the reporting database on the head node, but on an instance different than the default COMPUTECLUSTER instance, or on a database that is not named HPCReporting.

  • If you copied or specified the SQL connection string for the reporting database, use it here.

  • If you do not specify this parameter, the installation program searches the local computer for a default instance named COMPUTECLUSTER, and a default reporting database named HPCReporting.

  • If you specify this parameter and also specify the –dbInstName parameter, this parameter overrides the –dbInstName parameter, but only for the reporting database.

-monDbConStr:"<SQL_String>"

  • Specifies the SQL connection string for the monitoring database (starting in HPC Pack 2012).

  • Required if you installed the reporting database on a remote SQL server.

  • Required if you installed the monitoring database on the head node, but on an instance different than the default COMPUTECLUSTER instance, or on a database that is not named HPCMonitoring.

  • If you copied or specified the SQL connection string for the monitoring database, use it here.

  • If you do not specify this parameter, the installation program searches the local computer for a default instance named COMPUTECLUSTER, and a default monitoring database named HPCMonitoring.

  • If you specify this parameter and also specify the –dbInstName parameter, this parameter overrides the –dbInstName parameter, but only for the monitoring database.

-enableMicrosoftUpdate

  • Specifies that you want to use Microsoft® Update when checking for updates (recommended).

-enableSqm

Step 4: Reset the network topology

If your cluster is not configured in topology 5 (all nodes on an enterprise network), after reinstalling HPC Pack, you need to reset the network topology so that Windows Deployment Services is reconfigured. This step is necessary for the deployment of nodes from bare metal to work properly.

To reset the network topology, you have to temporarily configure your cluster in topology 5, and then configure your cluster back to its original topology.

Important

You do not need to perform this step if your cluster is already configured in topology 5.

To reset the network topology

  1. On the head node, open HPC Cluster Manager.

  2. In Configuration, in the Deployment To-do List, click Configure your network. The Network Configuration Wizard appears.

  3. In the Network Topology Selection page, click 5. All nodes only on an enterprise network, and then click Next.

  4. Continue to follow the Network Configuration Wizard to configure the network in topology 5.

  5. After the Network Configuration Wizard has finished configuring the network in topology 5, start the Network Configuration Wizard again.

  6. In the Network Topology Selection page, click the network topology in which your cluster was configured before reinstalling HPC Pack, and then click Next.

  7. Continue to follow the Network Configuration Wizard to finish configuring the cluster network as it was originally configured.

Step 5: Reset the installation credentials

After reinstalling HPC Pack, you need to reset the installation credentials. These credentials are used to deploy on-premises compute nodes in the cluster.

To reset the installation credentials

  1. On the head node, open HPC Cluster Manager.

  2. In Configuration, in the Deployment To-do List, click Provide installation credentials. The Installation Credentials dialog box appears.

  3. Type the user name, including the domain (DOMAIN\User), and then the password for the domain user account you will use to deploy nodes.

    Important

    • The account must be a domain account with enough privileges to create Active Directory computer accounts for the nodes and to join the nodes to the domain. If the policies of your organization restrict you from using a domain account that can add new computers to the domain, you will need to ask your domain administrator to pre-create the computer objects for you in Active Directory Domain Services before you deploy your nodes. For more information, see Deploy Nodes with Pre-created Computer Objects in Active Directory (https://go.microsoft.com/fwlink/?LinkId=194363).

    • If part of your deployment requires access to resources on the enterprise network, the account should have the necessary permissions to access those resources.

    • If you want to restart nodes remotely by using HPC Cluster Manager, the account must be a member of the local Administrators group on the head node. This requirement is only necessary if you do not have scripted power control tools that you can use to remotely restart the nodes.

  4. To save the specified credentials, click OK.

Step 6: Delete any session data left in the broker nodes

If your HPC cluster includes WCF broker nodes, after reinstalling HPC Pack, you need to delete any session data that is still available in the broker nodes.

To delete the session data in a broker node, log on to the broker node, and then in a HPC PowerShell session with elevated user rights, type:

[System.Reflection.Assembly]::LoadWithPartialName("System.Messaging")[System.Messaging.MessageQueue]::GetPrivateQueuesByMachine("localhost") | ? {"$($_.FormatName)" -like "*hpc*re*"} | % {[System.Messaging.MessageQueue]::Delete($_.Path)}

Note

The process of deleting the session data can take a long time.

Troubleshooting the reinstallation of HPC Pack

Because the reinstallation process is an unattended installation, if the reinstallation fails for some reason, no errors will be reported at the command prompt and no error dialog boxes will appear.

If you need to troubleshoot the reinstallation process, you can find log files in the following folder: %windir%\Temp\HPCSetupLogs. Look for log files that have the date and time of the last reinstallation attempt.

See also