This guide will walk you through the process of setting up a warm spare server.
You will need 2 PBX servers of the same model with identical hardware including analog and digital cards.
Each server must have its own set of licenses for any commercial modules used.
This article assumes the following
You have an existing a PBX system that will be your primary server.
- You have an identical PBX system equally licensed that will act as the warm spare.
- Both servers have identical Analog/PRI/BRI hardware (if used).
- The two servers can communicate on an IP level with each other on port 22.
First we will set up share keys between the two servers so they can communicate across SSH on port 22.
Begin by creating a user and an SSH key on your warm standby server so that it can log in to the primary production server and transfer backups to itself.
At the prompt type: sudo -u asterisk ssh-keygen
You will be asked 3 questions. Simply press "Enter" to accept the defaults.
Next we will copy the key to the primary server so that the backup server can SSH to the primary server without needing a password. Issue the command.
At the prompt type: sudo -u asterisk ssh-copy-id -i /home/asterisk/.ssh/id_rsa.pub root@PrimaryServerIP and enter the password when prompted.
Make sure you replace the PrimaryServerIP with the IP Address of your primary PBX.
If this command completes without error, you are ready to test:
At the prompt type: ssh -i /home/asterisk/.ssh/id_rsa root@PrimaryServerIP
If all went well, you should now be logged in to the Primary server.
Creating Backup Job
Now we will log into the warm spare's administration GUI.
- From your browser, go to and then click on PBX Administration.
- In the pop up, enter your username and password, then click continue.
Replace IPADDRESS with the actual IP address of your warm spare. This assumes you are on standard port 80. If you are using a different port or https, please adjust accordingly.
Once Logged in:
- Click Admin
- In the drop down click Backup & Restore
You should now see the following:
We will now define the primary PBX as a new server for this warm spare server to reach into and perform the backup on.
Click on the “Servers” option on the right side. It will bring up a page like this:
Click on the "New SSH Server" option so we can set up the information on where and how to connect to the primary PBX to get the backup data from.
We are going to define the following fields for this server and press the “Save” button.
- Server Name- We will call it “Primary PBX”.
- Hostname- Define the IP address or FQDN of the primary server.
- Port- By default we use port 22 for SSH.
- User Name- root is the username we setup for our share keys.
- Key- This is the path to the SSH Key that we created earlier of /home/asterisk/.ssh/id_rsa
- Click the “Save” button.
Now that we have set up the primary server location information in the backup module, we will create an actual backup job by clicking on the “Backups” option on the right side of the screen. This brings us back to the landing screen:
Click on "New Backup"
- The Name should be something representative of the task. We will call it "Nightly Warm Backup"
- Next, drag the template(s) from "Templates" to "Backup Items." For this task we will drag "Full Backup" and "Exclude Backup Settings" to the backup items on the left.
- For "Backup Server," select your primary PBX in the drop-down.
- A "Restore Here" checkbox will appear. Check the box.
- 2 additional boxes will appear:
- "Disable registered trunks" - This option is only needed if SIP trunks are registered with your carrier, or if the two systems will compete for the trunk registration.
- "Apply Configs" - Check this box
- If you want to also store a copy of the backup file on this server, you can pick the “Local Storage” option under the “Storage” location by dragging it over.
- Set "Run Automatically" to "Daily." This will cause the script to run each day at midnight.
- Press "Save" when done.
- After saving, a new button will appear that says "and Run." You can now click this button to run the backup job and test all the settings. This may take a while.
Failing over to backup server
In the event that you would like to make your backup server become the production server, you would need to perform a few tasks.
You need to update the IP Address of the backup box to be the (current) Primary PBX's IP Address so the phones and trunks know how to register to it.
Log into the web UI of the warm spare and go to Admin → System Admin.
You should see the page below:
On the right, click "Network Settings." You will then see the following:
From here, you can change the IP address of the backup server to be the same IP that your production server was.
Don't forget to remove the production server from the network before changing the IP address here, or you will have an IP address conflict.