ARCHICAD 13 BIM Server Backup

Description

  • A complete backup of a BIM Server that runs only AC 13 projects.

Advantages

  • Backups all projects and libraries maintained by the BIM Server
  • Backups all configuration files necessary to re-establish a working BIM Server
  • Can be set to backup external files also used by the projects
  • Can be scheduled by the operating system
  • Restore time is relatively short and mainly dependent on transfer time from backup media to hard drive

Disadvantages

  • BIM Server must be stopped while the backup is in progress
  • At the time the BIM Server is freshly installed with this backup data the client data will need to be reloaded. Whatever was added by client after the backup will be out of synchronization with the server data. This data will need to be manually added or copy/pasted from local caches.

Overview of backup process

  • A cold database backup will recover from the worst of crashes. It is appropriate for safe guarding data off site. Target computer hardware for the recovery is irrelevant to what the original BIM Server computer was, but some settings must be the same:
  • The recovery computer must have the same qualified domain name as the original BIM Server. (For instance, if originally the BIM Server was installed on macbim.graphisoft.hu, the recovery on bim.graphisoft.hu will not have a single library or hotlink matched properly.)
  • The recovery computer directory hierarchy from the root of the volume must mimic the original hierarchy for every folder present in the BIM Server projects. The outline of the backup process is:
  • Stop server
  • Write files to different media
  • Start server

Required backup folders

The below folders must be stored on the backup for BIM Server data to be recoverable. Other files and folders in the BIM Server installation cannot be used in a recovery process. Reloading an old installation will not work.

  • Applications/Graphisoft/BIM Server/TeamworkMessagingServer/conf
  • Applications/Graphisoft/BIM Server/TeamworkServer/Config
  • Applications/Graphisoft/BIM Server/TeamworkServer/Attachments
    • This is the Library folder. As part of the installation configuration this folder may have been redirected to a different location. Most likely a volume on the same machine with faster/larger disks
  • Applications/Graphisoft/BIM Server/TeamworkServer/Projects
    • As part of the installation configuration this folder may have been redirected to a different location. Most likely a volume on the same machine with faster/larger disks

These folders should be considered in a cold database backup (provided these folders reside on the BIM Server computer).

  • Folders containing projects that were hotlinked into BIM Server projects
  • Folders containing external drawings
  • DWGS, PDF, JPEGS, etc.

Operating system specific steps

AFTER HOTFIX 6

  • The names of the services change
    • TeamworkServerManager becomes TeamworkServerManager -v13.0
    • TeamworkMessagingServer becomes TeamworkMessagingServer -v13.0
    • TeamworkServerMonitorService becomes TeamworkServerMonitorService -v13.0

OSX

The below commands must be executed with administrative authority, possibly in a cron script.

Script to stop the BIM Server

  • TWStop.sh
      #! /bin/bash

      id=`ps -ax | awk '/BIM Server Control Center/ && !/awk/ {print $1}'` 

      if (( $id ))
      then
         kill -9 $id
      else
          echo "BIM Server Control Center not running"
      fi

      launchctl unload /System/Library/LaunchDaemons/com.graphisoft.TeamworkServerManager.plist 2>/dev/null
      launchctl unload /System/Library/LaunchDaemons/com.graphisoft.TeamworkMessagingServer.plist 2>/dev/null
      launchctl unload /System/Library/LaunchDaemons/com.graphisoft.TeamworkServerMonitorService.plist 2>/dev/null

Commands that backup folders

This starts the BIM Server. Users can go on-line after the BIM Server starts. Within a few minutes the client machines without user intervention will recognize that they are on-line again.

  • TWStarter.sh
      #! /bin/bash

      launchctl load /System/Library/LaunchDaemons/com.graphisoft.TeamworkServerMonitorService.plist
      launchctl load /System/Library/LaunchDaemons/com.graphisoft.TeamworkMessagingServer.plist
      launchctl load /System/Library/LaunchDaemons/com.graphisoft.TeamworkServerManager.plist
      launchctl start com.graphisoft.TeamworkMessagingServer
      launchctl start com.graphisoft.TeamworkServerManager
      launchctl start com.graphisoft.TeamworkServerMonitorService

Windows

The below commands must be executed with administrative authority preferably in a scheduled task.

  • sc stop TeamworkMessagingServer
  • sc stop TeamworkServerManager
  • sc stop TeamworkServerMonitorService
    • This stops the BIM Server. Users will be put into off-line mode.
  • commands that backup folders
  • sc start TeamworkMessagingServer
  • sc start TeamworkServerManager
  • sc start TeamworkServerMonitorService
    • This starts the BIM Server. Users can go on-line after the BIM Server starts. Within a few minutes the client machines without user intervention will recognize that they are on-line again.

{i} Note about SC

  • The default time that SC gives the BIM Server before forceably shuting it down is 30 seconds. If the BIM Server is in the midst of an especially long transaction (initial join, sharing a project, uploading library) SC may terminate the BIM Server process before it has time to close its databases properly. This could result in an inconsistent database. An error would be issued by SC similar to the below:[SC] ControlService FAILED 1053: The service did not respond to the start or control request in a timely fashion.
    • This type of closing the database could compromise your data integrity and it should be avoided. To prevent this problem, set the timeout to something higher than 30 seconds. I chose 20 minutes. This should be fine if your backup is running late at night and it is unlikely that anybody is sharing a project, uploading large libraries from especially slow network connections, or has done a very large update of layouts and followed it with a send.The below instructions are from http://technet.microsoft.com/en-us/library/cc756319(WS.10).aspx To change the service timeout period:
  1. Click the Start button, then click Run, type regedit, and click OK.
  2. In the Registry Editor, click the registry subkey HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl.
  3. In the details pane, locate the ServicesPipeTimeout entry, right-click that entry and then select Modify.
  4. Note: If the ServicesPipeTimeout entry does not exist, you must create it by selecting New on the Edit menu, followed by the DWORD Value, then typing ServicesPipeTimeout, and clicking Enter.
  5. Click Decimal, enter the new timeout value in milliseconds, (20 minutes = 1200000 and then click OK.
  6. Restart the computer.

Steps to recovering from the backup

  1. The hierarchy of the recovery machine for all of the backup folders is the same as the original machine. (For instance, if the previous installation's projects and attachments folders were not located in their default place make sure the hierarchy to where the folders were exists. )
  2. The qualified domain name of the recovery machine is the same as that of the original installation.
  3. If users have used only the qualified domain name to access the BIM Server, never used its IP Address or a custom name that references an IP address then the recovery machine will not need the same IP address as the original BIM Server computer.
  4. Install the BIM Server
  5. Stop the BIM Server
  6. Delete the Projects folder, if it was created by the install
  7. Delete the Attachments folder, if it was created by the install
  8. Delete the TeamworkMessagingServer/conf folder
  9. Delete the TeamworkServer/Config folder
  10. Copy the Backup Projects to where the installation Project folder was
  11. Copy the Backup Attachments to where the installation Attachments folder was
  12. Copy the Backup conf to where the installation TeamworkMessagingServer/conf folder was
  13. Copy the Backup Config to where the installation TeamworkServer/Config folder was
  14. Reboot the system (BIM Server authentication will fail until this is done!)
  15. All of the client ARCHICAD's will have been forced out of the project. These clients most likely will have newer information on them than what was backup-ed from the server. The clients should save their data to a pln and then compare against the BIM Server version and re-add lost data.