cancel
Showing results for 
Search instead for 
Did you mean: 

Building Blocks EV 10 SP 1

AWMorris
Level 4
Partner Accredited Certified

Hello Folks,

 

I had a quick question that I hope that someone could answer.  When USL is run, is it supposed to create the Archiving tasks on the node that is not failed?

1 ACCEPTED SOLUTION

Accepted Solutions

John_Chisari
Level 6
Partner Accredited

The database does not get updated to reflect the index locations.  The Index Service on USEV1 still runs the indexing service, it is just hosted on USEV2.

In your case, just create Index Locations for the Index Service on USEV2, then it should work.  You will also notice that the Index locations on USEV2 will never get used.

What I like to do when I know I will be using building blocks is to setup all EV services on both servers from the very start, that way USL doesn't need to create anything during the first failover.

View solution in original post

20 REPLIES 20

TonySterling
Moderator
Moderator
Partner    VIP    Accredited Certified

Yes, if the services don't exist it should create them. 

Updating service locations after failover

Article: HOWTO56905  |  Created: 2011-08-01  |  Updated: 2012-03-31  |  Article URL http://www.symantec.com/docs/HOWTO56905

 

AWMorris
Level 4
Partner Accredited Certified

Drats!  The tasks aren't being created.  Here is my configuration.

 

Single Site

2 EV Servers

 

HOST - USCHEV01, CNAME - USEV

HOST - USCHEV02, CNAME - USEV2

 

Indexes are on a Netapp as are the Vault Stores.  The Vault Stores are presented as a CIFS share and the indexes are presented as a LUN with a drive letter assigned.  We ran USL before failing over any nodes.  We then do the following sequence.

 

Shut down USEV.

Point the DNS alias for USEV -> USCHEV02.

IPConfig /flushdns on USCHEV02.

Run USL

 

USL appears to run as it should, however we have the following anomalies.

 

1.  None of the Archiving Tasks are created on USCHEV02.

2.  The Indexing service will not start because there are no indexing locations.

 

Ever seen this?

TonySterling
Moderator
Moderator
Partner    VIP    Accredited Certified

Well I would think you would need to present the indexes to USCHEV02 before you run USL.

As for the task not being created, is it just the archive task or are you missing the Provisioning Task as well?

AWMorris
Level 4
Partner Accredited Certified

Thanks Tony.  We tried to present the indexes to the server before running USL.  I can update the IndexRootPathEntry table to leverage the Indexing Service on USCHEV02 and things are smooth sailing....  But USL is reponsible for this.

 

None of the tasks are created either.....  Provisioning, Mailbox and Journal archiving....

WiTSend
Level 6
Partner

Before making any changes to SQL, or creating any tasks I'd verify that the DNS aliases are also resolved on the SQL server.When USL creates the new tasks it identifies they so that you can tell they were previously on a different server.  It appears that there is still some DNS defienecy.  Ensure that your aliases are in the appropriate configuration before making any changes.  I also hope you have a backup of the SQL db(s) 

AWMorris
Level 4
Partner Accredited Certified

Thanks WiT.  We will test flushing the DNS on the SQL server.

John_Chisari
Level 6
Partner Accredited

The tasks do not get created on the second server and they are not needed - USL will only create the EV services if they are missing.

If you check the VAC, you will see the two DNS aliases both pointing to the same servername USCHEV02.

Also check the services for USEV (ESCHEV02) they should all say HOSTED after USL is run.

AWMorris
Level 4
Partner Accredited Certified

So if the USCHEV01 goes down, and the tasks aren't created on USCHEV02, how does archiving continue?

 

The VAC does show both aliases pointing at USCHEV01.

 

The services do not show as hosted.  Additionally, the Indexing service will not start as there aren't any index locations.

AWMorris
Level 4
Partner Accredited Certified

Page 373 of the Admin Guide states the following

 

The failover functionality of building blocks (Update Service Locations) passes
the duties of the failed server to another building blocks server. If a required
service or task does not yet exist on the new active server, then Update Service
Locations creates it.

 

So what I gather is that the tasks are supposed to be created.  Am I missing something?

JesusWept3
Level 6
Partner Accredited Certified

well like john said, the tasks dont actually get created, it just changes the ComputerEntryId in the Task tables, its only Services that physically get created on the failover machine if they dont exist

https://www.linkedin.com/in/alex-allen-turl-07370146

Andrew_G_
Level 5
Employee Accredited

The tasks will only ever be created against one EV computer.

When USL runs, it only looks at services, not tasks.

When a service on an EV server starts up, it uses its machine name to determine which EV computers in the directory it has to do the work for. The tasks will remain visible against the original EV computer.

Not a perfect analogy, but you could think of the EV computer in the VAC as a virtual thing. When using building blocks, you can have more than one EV computer running on a single machine, and the underlying services will query the directory to find out it needs to do the work for both EV computers.

John_Chisari
Level 6
Partner Accredited

The admin guide is incorrect, the tasks will never be created automatically, as they don't need to be created.  I am in the middle of doing some testing with building blocks for a client - will try and get some screenshots together so you can see what it should look like.

AWMorris
Level 4
Partner Accredited Certified

Please do, it would be much appreciated.

John_Chisari
Level 6
Partner Accredited

OK, some screenshots to explain, had to edit it to get rid of servernames I am using, but you can see where i am going. Preusl.jpg and postusl.jpg showing services and tasks pre and post.

We are using drive letters for Indexes and Vault Stores so an extra step is added.  If UNC paths are used it makes it alot easier.

1. Shutdown Server1.

2. Attach F: (Indexes) and G: (Vault Stores) from Server1 to Server2.  Verify that they can be seen and accessed.

3. Change DNS to point CNAME EVSERVER1.test.local to SERVER2.

4. Run IPCONFIG /FLUSHDNS on SERVER2.  Verify that pinging EVSERVER1 resolves to SERVER2.

5. Run Update Service Locations.  Verify that is completes successfully.

6. Restart the EV services if needed.

AWMorris
Level 4
Partner Accredited Certified

Thanks John!  We did the same steps as above.  What I am noticing is that after USL is run, the Indexing Service is not starting on USEV2.  This is because there aren't any open index locations.  It is my understanding that USL is supposed to update the database to reflect these index locations.

John_Chisari
Level 6
Partner Accredited

The database does not get updated to reflect the index locations.  The Index Service on USEV1 still runs the indexing service, it is just hosted on USEV2.

In your case, just create Index Locations for the Index Service on USEV2, then it should work.  You will also notice that the Index locations on USEV2 will never get used.

What I like to do when I know I will be using building blocks is to setup all EV services on both servers from the very start, that way USL doesn't need to create anything during the first failover.

AWMorris
Level 4
Partner Accredited Certified

After running USL, we tried to create the Index locations (using the same indexes) but it is complaining that an empty folder needs to be targeted.  And we did setup all services on both servers initially.  The only difference is that we didn't create any index locations on USEV2.

AWMorris
Level 4
Partner Accredited Certified

Are you saying to create a "dummy" index location on USEV2?

John_Chisari
Level 6
Partner Accredited

Yep thats correct, before USL is run - create Index locations for the Indexing Service on USEV2 - the Indexing Service should then start up.

Make sure the Index Locations on USEV1 are presented to USEV2 before USL is done, if you are using drive F: on USEV1 then it must be the same drive F: on ESEV2.  I hope that makes sense.