I recently troubleshot an issue where cookie persistency was not working properly when failing over from the active node to the passive node in a Citrix Netscaler HA cluster (high availability cluster). I found the issue was that if the date and time on your appliances are not the same, the cookie will be invalid causing persistency to fail when failing over to the passive node. That’s a big issue because all your users will lose their sessions during a failover.
To quickly check your appliances:
1. SSH using Putty into your NSIPs of your Netscalers.
2. Type “shell” to enter the FreeBSD shell
3. Type “date” to see the current date, time, and time zone. Both your Netscalers should be identical.
4. If they are not identical, set the time by typing the current date and time in the following format:
date yymmddhhmm.ss
For example, to set the date to June 28, 2010 12:13 PM with 15 seconds left in the minute:
date 1006281213.45
You will get this result if you are successful:
Mon Jun 28 12:13:45 CST 2010
5. Now if your timezone says GMT or something instead of your correct time zone, then you need to navigate to timezone file directories by typing:
cd /usr/share/zoneinfo
6. Type this to list all the different zone folders:
ls -l
7. To set the timezone, copy your timezone file to the localtime folder. Below, I am setting the timezone to CST (Central Standard Time):
cp /usr/share/zoneinfo/America/Chicago /etc/localtime
8. Now just type “date” again and it should be the correct time, date, and timezone. That’s it, you’re done! Let me know if you run into any trouble. 🙂
Jason Samuel is a visionary product leader and trusted advisor with a proven track record of shaping strategy and driving technology innovation. With extensive expertise in enterprise end-user computing, security, cloud, automation, and virtualization technologies, Jason has become a globally recognized authority in the IT industry. His career spans consulting for hundreds of Fortune 500 enterprises across diverse business sectors worldwide, delivering cutting-edge digital solutions from Citrix, Microsoft, VMware, Amazon, Google, and NVIDIA that seamlessly balance security with exceptional user experiences.
Jason’s leadership is amplified by his dedication to knowledge-sharing as an author, speaker, podcaster, and mentor within the global IT and technology community. Recognized with numerous prestigious awards, Jason’s contributions underscore his commitment to advancing technology and empowering organizations to achieve transformative results. Follow him on LinkedIn.
Rob Jensen
July 3, 2010 at 12:27 PM
Thank you!!! I was struggling with this because I kept missing the period before you type the seconds.
Jason
July 3, 2010 at 12:29 PM
@Rob Jensen
You are very welcome Rob. 🙂
ileaneb
July 3, 2010 at 12:50 PM
Thank you for this great post!
betshopboy
July 3, 2010 at 12:55 PM
Thank you very much!!!
tellyworth
July 3, 2010 at 1:15 PM
This is a great post!
Christoph Wegener
August 22, 2011 at 5:18 AM
Hi there.
Just plowing through your blog posts. 🙂
Time and date on the netscaler can be controlled (almost) completely from the CLI. No need to drop into the BSD shell.
Look at the current time and timezone: show ns info
Set the timezone: set ns config -timezone
Set the time (using NTP server): add ntp server
Enable NTP sync: enable ntp sync
Cheers
Christoph
Christoph Wegener
August 22, 2011 at 5:20 AM
Let me reformat my comment and try again.
Look at the current time and timezone:
show ns info
Set the timezone:
set ns config -timezone \
Set the time (using NTP server):
add ntp server \
Enable NTP sync:
enable ntp sync
Jason Samuel
August 30, 2011 at 5:59 AM
@Christoph Wegener
Thanks Christoph!