Code Page/rgy_switchover
- Worked more on detecting and report invalid ASCII characters in PQA databases
- Working with IBM Rational Support regarding rgy_switchover
Code Page
Managed to get the non ASCII characters in the databases down to a handful of cases and implement a "fix_char" routine. The basic mapping turns out to be:
# Translate from special char -> ASCII my %char_mapping = ( "ffffff85" => "_", "ffffff91" => "\'", "ffffff92" => "\'", "ffffff93" => "\"", "ffffff94" => "\"", "ffffff96" => "-", # "ffffffa2" => # "ffffffae" => "ffffffb7" => "\." # "ffffffbd" => "1/2", # "ffffffe7" => ??? );
The commented out lines represent characters I have not be able to determine the ASCII equivalents, except the 1/2 which is a 1/2 in one character. In order to translate the one character 1/2 to the 3 character 1/2 I would need to expand the array. I have not done this yet.
PMR#59845,999,000 backup rgy switchover not working on Windows clients
Steven Chaves wrote:
Andrew,
During the tech session, other TSEs did say that rgy_switchover does not always work. For DNS resolution, running: ipconfig /release and then afterwards ipconfig /renew usually works, but this would have to be done on each client. Can you give the servers fixed IP addresses.
There still seems to be some confusion here. I will attempt to be explicit here.
I realize that rgy_switchover will not always work 100%. Client machines may be down, etc. However what I'm seeing is that rgy_switchover never works - or at least never works with any of the Windows client machines who has their IP address assigned via DHCP and who's Windows machine name (WINS name) != Unix DNS CNAME.
Here's the situation. There are two Unix Solaris boxes: ccase-sj1-3 (10.16.191.241) and ccase-sj1-4 (10.16.191.243). Both are servers and have statically assigned IP addresses.
There are just a few Windows clients in this test scenario, mostly laptops. All fail. All have DHCP assigned IP addresses and Windows computer names that are not the same as DNS. Let's use my laptop as an example: ltsjca-adefaria (10.16.191.243) is it's name. It's a Windows XP box, is a laptop yet remains docked at my desk.
When the rgy_switchover command was run from ccase-sj1-3 to switch over to ccase-sj1-4 both ccase-sj1-3 and ccase-sj1-4 became aware of the change and switched over. None (i.e. 0) of the other clients (all DHCP assigned Windows boxes) failed, including my laptop (who's IP address, BTW, had not changed).
Investigating I find that I can nslookup and ping ccase-sj1-3 and ccase-sj1-4 from my laptop, ltsjca-adefaria
Local:nslookup ccase-sj1-3 Server: dns-sj1-1b.sj.broadcom.com Address: 10.16.64.11 Name: ccase-sj1-3.sj.broadcom.com Address: 10.16.191.241 Aliases: ccase-sj1-3.broadcom.com Local:nslookup ccase-sj1-4 Server: dns-sj1-1b.sj.broadcom.com Address: 10.16.64.11 Name: ccase-sj1-4.sj.broadcom.com Address: 10.16.191.243 Aliases: ccase-sj1-4.broadcom.com Local:ping ccase-sj1-3 Pinging ccase-sj1-3.sj.broadcom.com [10.16.191.241] with 32 bytes of data: Reply from 10.16.191.241: bytes=32 time<1ms TTL=254 Reply from 10.16.191.241: bytes=32 time<1ms TTL=254 Reply from 10.16.191.241: bytes=32 time<1ms TTL=254 Reply from 10.16.191.241: bytes=32 time<1ms TTL=254 Ping statistics for 10.16.191.241: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms Local:ping ccase-sj1-4 Pinging ccase-sj1-4.sj.broadcom.com [10.16.191.243] with 32 bytes of data: Reply from 10.16.191.243: bytes=32 time<1ms TTL=254 Reply from 10.16.191.243: bytes=32 time<1ms TTL=254 Reply from 10.16.191.243: bytes=32 time<1ms TTL=254 Reply from 10.16.191.243: bytes=32 time<1ms TTL=254 Ping statistics for 10.16.191.243: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
I can ping my laptop by name but I cannot nslookup it:
Local:ping ltsjca-adefaria Pinging LTSJCA-ADEFARIA.corp.ad.broadcom.com [10.16.65.94] with 32 bytes of data: Reply from 10.16.65.94: bytes=32 time<1ms TTL=64 Reply from 10.16.65.94: bytes=32 time<1ms TTL=64 Reply from 10.16.65.94: bytes=32 time<1ms TTL=64 Reply from 10.16.65.94: bytes=32 time<1ms TTL=64 Ping statistics for 10.16.65.94: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms Local:nslookup ltsjca-adefaria *** dns-sj1-1b.sj.broadcom.com can't find ltsjca-adefaria: Non-existent domain Server: dns-sj1-1b.sj.broadcom.com Address: 10.16.64.11
From the Solaris boxes (either ccase-sj1-3 or ccase-sj1-4) I cannot nslookup nor ping ltsjca-adefaria by name:
ccase-sj1-3:nslookup ltsjca-adefaria Server: dns-sj1-1c.sj.broadcom.com Address: 10.16.128.11 *** dns-sj1-1c.sj.broadcom.com can't find ltsjca-adefaria: Non-existent host/domain ccase-sj1-3:ping ltsjca-adefaria ping: unknown host ltsjca-adefaria ccase-sj1-3:
I can ping by IP address:
ccase-sj1-3:ping 10.16.65.94 10.16.65.94 is alive
However the Solaris boxes (nor the laptop it seems) can resolve the name ltsjca-adefaria to an IP address:
ccase-sj1-3:nslookup ltsjca-adefaria Server: dns-sj1-1c.sj.broadcom.com Address: 10.16.128.11 *** dns-sj1-1c.sj.broadcom.com can't find ltsjca-adefaria: Non-existent host/domain
Finally a nslookup by IP address yields the following:
ccase-sj1-3:nslookup 10.16.65.94 Server: dns-sj1-1c.sj.broadcom.com Address: 10.16.128.11 Name: dhcpe1-sj1-094.sj.broadcom.com Address: 10.16.65.94
Thus showing that the DNS CNAME for 10.16.65.94 is dhcpe1-sj1-094.sj.broadcom.com not ltsjca-adefaria.
If I cannot translate ltsjca-adefaria to an IP address for ping then how is rgy_switchover gonna do it?
Now assuming that it's prevalent or common here at my client's site to have Windows clients with DHCP assigned addresses who's Windows machine names do not resolve in DNS and assuming that if the client name does not resolve in DNS then rgy_switchover fails, can it be said that rgy_switchover is relatively useless given this enviornment?