THIS WIKI HAS BEEN UPDATED FOR FREEPBX 13.
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 the 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 Add Server button.
Select the New SSH server option from the drop down menu.
You will be taken to a form where you can enter information on where and how to connect to the primary PBX in order to get the backup data.
We are going to define the following fields for this server:
- Server Name - A name for this server. In our example we could call it “Primary PBX."
- Description - A description or notes to help you identify this server.
- Hostname - The IP address or FQDN of the primary server.
- Port - By default we use port 22 for SSH.
- Username - The SSH username. In our example we would enter "root" because it is the username we set up for our share keys.
- Key - This is the location of the private SSH key that we created earlier. In our example it is /home/asterisk/.ssh/id_rsa
- Path - Path on the remote server where files are stored.
Click the Save button. Note: there is no apply config 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 the New Backup button.
This will take you to a form where you can enter information about a new backup job as described below.
- Backup Name - The Name should be something representative of the task. We will call it "Nightly Warm Backup"
- Description - A description or notes to help you identify this backup.
- Status Email - An e-mail address to send status messages to when this backup is run.
- Items - Drag the desired template(s) from "Templates" to "Items." For this task we will drag "Full Backup" and "Exclude Backup Settings" to the backup items on the left.
- Backup Server - Select your primary PBX in the drop-down.
- A Restore Here option will appear. Select Yes. This will cause 3 additional settings to appear.
- Disable Registered Trunks - Select Yes if SIP trunks are registered with your carrier, or if the two systems will compete for the trunk registration. Otherwise you can leave set to No.
- Exclude NAT settings - Select Yes if you want to exclude any machine-specific IP settings. This allows you to have a warm-spare machine with a different IP address.
- Apply Configs - Select Yes. This is equivalent to clicking the red apply config button, will happen automatically after a restore on a standby system
- Storage Servers and Available Servers - If you want to also store a copy of the backup file on this server, drag the Local Storage item from the Available Servers bin on the right to the Storage Servers bin on the left.
- Run Automatically - Set this to Daily. This will cause the script to run each day at midnight.
Click the Save button when done.
Running the Backup Job Manually
After saving, if not already back on the main page, click Backups in the menu at the right side of the screen. This will take you back to the main page.
To run the backup job and test all the settings, click the run buttonfor the backup. The backup job may take a while.
Failing Over to the 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.