1 2 Previous Next 15 Replies Latest reply on Dec 5, 2016 10:58 PM by pinki sharma

    Disaster recovery plan

    rohail khan

      if the whole Tableau server is crashed then how i can get the data?

      what you do with backup ?

        • 1. Re: Disaster recovery plan
          Derrick Austin

          Hello Rohail,

           

          You should create a script to create backups to a remote location nightly with tabadmin backup.

           

          In the case of a problem, these can be restored with tabadmin restore.

          They do not need to be restored on the same server(s), but you will need tableau server installed on the new machines prior to restoring the backup.

           

          Derrick Austin

          InterWorks, Inc.

          2 of 2 people found this helpful
          • 2. Re: Disaster recovery plan
            Jeff Strauss

            within our nightly script, we use robocopy to transmit the full backup to a remote location for safe keeping.  the backup includes everything needed to restore somewhere else.

            3 of 3 people found this helpful
            • 3. Re: Disaster recovery plan
              rohail khan

              Thanks Jeffrey,

              can you have tutorial....which is help me out...how this can be perform

              • 4. Re: Disaster recovery plan
                pinki sharma

                Hi Jeff,

                 

                I am trying to make DR setup. I  have 2 machines one will act as active and other is standby.

                I want to take  backup  of active server  nd copy it in shared folder .If active fails this backup will be restored by standby. Now 2nd machine becomes active.

                Now first machine keeps checking that second is up or not. if not it will restore backup and becomes active.

                 

                Could you please help to achieve this using batch script.

                Thanks in Advance ...:-)

                 

                regards,

                Pinki Sharma

                • 5. Re: Disaster recovery plan
                  Jeff Strauss

                  Hi Pinki.  The steps required to do this are in sequence and this is how we have historically done it.

                   

                  1. (midnight) tabadmin backup on the active machine

                   

                  2. (at end of the backup job) xcopy or robocopy to the passive machine

                   

                  3. (5am) tabadmin restore of the backup onto the passive machine

                   

                   

                  The prerequisite to this is to have all your users that access dashboards on server pointed to a DNS entry.  The DNS entry will usually point at the active machine, but if for some reason it fails, then you repoint the DNS entry to the passive machine and it should be up-to-date data as of the last backup that was recently restored.

                  2 of 2 people found this helpful
                  • 6. Re: Disaster recovery plan
                    Mark Wu

                    Create nightly backup scripts and schedules that backup all the Tableau server related data automatically:

                    • Data (workbooks, extracts, users, etc)
                    • Server Configuration (timeout, port, etc)
                    • Logs

                     

                    The backups should have one set of copies at local driver of tableau.corp.xxxx.com and one set of copies at remote machine tableau2.corp.xxxx.com

                     

                    It is hot backup and happens once a day. To achieve maintenance free, Tableau Data & Server Configuration keep last 7 days’ daily backups while Logs keep last 14 days’ daily backups. The script automatically rotating the backups by deleting old backups.

                     

                     

                    All backups files are zipped and compressed to save storage. I am attached my complete documentations and working scripts in attached word.

                    3 of 3 people found this helpful
                    • 7. Re: Disaster recovery plan
                      Madhusudhan Khambham

                      pinki sharma

                       

                      Are you setting up the DR environment or Primary server High Availability??

                       

                      Your requirement looks to me like you want to do High Availability of Primary server.

                      There is a difference in DR process & HA Primary server process.

                       

                      DR Process : Say we have Location A where you have the whole Tableau setup (Primary, backup, workers) installed and due to some issue/natural calamities the location A datacenter goes down..then you need to switch to Location B datacenter Tableau server for business continuity. Here, as part of the DR setup  and you need to setup the whole cluster setup(primary, backup,workers)exactly as what you have at location A.

                       

                      HA of Primary Server: We have Tableau server setup in location A alone and due to some reason Primary is having some issue or it's hard disk got crashed. As part of High Availability of primary server, we can setup a failover primary to its backup machine and minimize the downtime for the users/business.

                       

                      I agree with the experts that we need to have the Backup & restore mechanism in place for both the mechanisms.

                       

                      I have fair understanding of this process and implemented HA of Primary server recently using the batch scripts. Please let me know, if you need any further details.

                       

                      Thanks & Regards

                      Madhu K

                      2 of 2 people found this helpful
                      • 8. Re: Disaster recovery plan
                        pinki sharma

                        Hi Madhusudhan,

                         

                        I am trying to setup  Primary server High Availability with two servers.

                        Algorithm -

                        If (Floating IP is ‘UP’)

                        {

                        \\Create backup using command “tabadmin backup <backupfilename> -d –v” , redirect the logs coming on to a log file <backupfilename-date.log>

                        \\Transfer the created backup file to Server-2 using its Fixed-IP

                        \\If (Transfer successful)

                        \\move previous backup and log to a replicated folder

                        Else

                        \\Do nothing;

                        }

                        Else

                        {

                        If (Backupfile is present)

                        {

                        \\Restore backup using command “tabadmin restore <backupfile>.tsbak”. The script needs to have the user credentials for the tableau administrator.

                        \\Restart Tableau server using command “tabadmin restart”

                        \\move old backups to a restored folder

                        }

                        }

                         

                         

                        Regards,

                        Pinki Sharma

                        • 9. Re: Disaster recovery plan
                          pinki sharma

                          Hi Jeff,

                           

                          Thanks for your reply...:-)

                            It helped me. Robocopy and xcopy didnt worked for me to transfer backup from 1 machine to another So i used shared folder.

                           

                          Attaching Script for others use.

                           

                          @echo OFF

                          set VERSION=9.3

                          set BINPATH="C:\Program Files\Tableau\Tableau Server\%VERSION%\bin"

                          set SHAREDBACKUPPATH="Z:\Backups"

                          set SHAREDOBSOLETEPATH="Z:\Obsolete"

                          set PASSWORDFILEPATH="C:\Program Files\Tableau\Password File"

                          set SAVESTAMP=%DATE:/=-%

                           

                          :start

                            echo %date% %time%: *** Script Execution started ***

                          cd /d %BINPATH%

                          tabadmin.exe status | findstr /i RUNNING

                          if "%errorlevel%"=="0" GOTO TakeBackup

                          if "%errorlevel%"=="1" GOTO RestoreBackup

                           

                          :RestoreBackup

                            :: Prints that text to the DOS prompt

                            echo %date% %time%: *** Backup restore process started ***

                           

                            tabadmin stop

                            ::if backup file doesnot exist exiting with error

                            IF NOT EXIST %SHAREDBACKUPPATH%\*.tsbak GOTO backupRestoreExitWithError

                           

                            ::if backup file exists then  go to restore process

                            IF EXIST %SHAREDBACKUPPATH%\*.tsbak GOTO BACKUPEXISTS

                           

                            :BACKUPEXISTS

                            cd /d %SHAREDBACKUPPATH%

                            :: finding .tsbak  file  in shared and setting file name in variable to use it in restore

                            for /r %SHAREDBACKUPPATH% %%i in (*.tsbak) do set BACKUPFILE=%%~nxi

                            cd /d %BINPATH%

                            tabadmin restore --no-config %SHAREDBACKUPPATH%\%BACKUPFILE% --password-file %PASSWORDFILEPATH%\Password.txt

                            tabadmin start

                            echo %date% %time%: *** Backup restore process completed ***

                            goto exit

                          :TakeBackup

                            :: Prints that text to the DOS prompt to show that the jobs are all done

                            echo %date% %time%: *** Backup Process started ***

                            IF EXIST %SHAREDBACKUPPATH%\*.tsbak GOTO copyBackupInObsolete

                            goto takingBackup

                           

                            :copyBackupInObsolete

                            ECHO "Old backup file exists So Copying it in Obsolete folder"

                            ::moving old backups (logs and ,.tbsk ) in obsolete folder

                            robocopy   %SHAREDBACKUPPATH% %SHAREDOBSOLETEPATH%  /MOV

                           

                            :takingBackup

                            ECHO "No old backup file exists So no need to copy anything  in Obsolete folder"

                            :: Grabs the Tableau Server logfiles and zips them

                            :: Then moves the zip file to the specified directory appending the system date to the filename

                            echo %date% %time%: Backing up log files...

                            tabadmin ziplogs -l -n -f

                            move logs.zip "Z:\Backups\logs-%SAVESTAMP%.zip"

                            tabadmin backup %SHAREDBACKUPPATH%/ts_backup --date

                            tabadmin stop

                            tabadmin cleanup

                            tabadmin start

                            echo %date% %time%: *** Backup Process completed ***

                            goto exit

                           

                          :backupRestoreExitWithError

                            echo %date% %time%: *** Backup File Doesnot Exist So Backup Restore Process Failed ***

                            goto commonexit

                          :exit

                            echo %date% %time%: *** Script Execution completed  Successfully***

                            goto commonexit

                          :commonexit

                            echo %date% %time%: *** Exiting From Script ***

                           

                           

                          Regards,

                          Pinki Sharma

                          • 10. Re: Disaster recovery plan
                            Madhusudhan Khambham

                            Have you thought about this scenario..

                             

                            What your Primary machine hard disk crashed ? Have you automated this process completely? meaning, if something goes wrong to the primary machine, will your script trigger automatically and bring Backup machine active?

                             

                            Thanks

                            Madhu K

                            • 11. Re: Disaster recovery plan
                              Jeff Strauss

                              Madhu.  I don't know of a way to automate the automatic switchover to the backup machine.  But, if there's a way, please let me know.

                              • 12. Re: Disaster recovery plan
                                Madhusudhan Khambham

                                Right Jeff Strauss I am also in the same boat to automate this process 100% and checking pinki sharma if she had think through these scenarios and having any solution. But, this is how we are planning to achieve this..create a cluster that can have Primary & Backup machines, check the heartbeat of the primary machine and trigger the job/script whenever it is having an issue. We need to explore more on this and see we can automate completely with this idea.

                                 

                                Any other solutions or workarounds you can think of Jeff?

                                 

                                Thanks & Regards

                                Madhu K

                                • 13. Re: Disaster recovery plan
                                  Jeff Strauss

                                  Hi Madhu, an alternate path that we have proceeded forward with to ensure a resilient primary is to host the primary on a resilient VM.  And our VM environment is setup in that if the host fails, then a migration occurs to the alternate host.  You have to be careful with this though as I'm pretty sure that Tableau doesn't support vmotion and the following attributes need to stay static.

                                   

                                  +UMN1 = Boot disk serial number

                                  +UMN2 = MAC Address

                                  +UMN3 = Virtual Machine ID (Only used if the machine is a VM)

                                   

                                   

                                  Also, if you are proceeding with a backup primary, then make sure to set the "tabadmin set failoverprimary"  Create a Backup Primary

                                  1 of 1 people found this helpful
                                  • 14. Re: Disaster recovery plan
                                    Madhusudhan Khambham

                                    Jeff Strauss yes , I have implemented the failover completely and is working fine. But, only the disconnect now is the scenario which we are discussing.

                                    if we automate it, then it will become a fully automated process.

                                     

                                    Will post you the update.

                                     

                                    Thanks & Regards

                                    Madhu K

                                    2 of 2 people found this helpful
                                    1 2 Previous Next