Forum Replies Created
-
AuthorPosts
-
in reply to: Do you support Debian Linux? #6668
As of Dec 11th 2016 we now officially support Debian 8 LTS. Look for the Debian option on the download page.
Please note that we will create custom builds of our products for any major distribution / architecture for users of the commercial editions. Custom builds are created at no charge (for major platforms) and for-fee (for rare/unusual platforms).
Yes! HAAst would start without any problem.
A lot of people don’t realize that all other PBX HA solutions in the marketplace are based on DRBD, an open source product which creates a mirrored logical disk between peers. As a result, any corruption to files on one system are immediately mirrored to the other system! This is why critical call centers like 911/PSAP’s, hospitals, etc. will not allow DRBD based PBX solutions – each peer must be fully independent of the other.
HAAst is the only product which does not mirror the hard disk. HAAst synchronizes individual files/directories/databases that you specify, and, it only synchronizes if the peer is healthy! So a failing peer will never corrupt files on the other peer.
You’ll find that many configuration generators now offer an ‘HA’ module, and they are all based on DRBD. Some organizations like Elastix are very honest about this – and show you how to install the open source product for free. Some organizations are less forthcoming, and actually charge you $3000 for a free open source product (DRBD).
Vendors of other PBX HA solutions are not telling you the whole picture. Many HAAst clients start with HA modules built into configuration generators, and switch to HAAst after their ‘cluster’ couldn’t withstand any failure other than the most simplistic scenario of unplugging one box.
There are lots of other differences too. DRBD solutions don’t allow for configuration differences between peers. HAAst allows peers to have different trunks, users, dialplans, etc. (yet still share a common base that is synchronized), all things you can’t do if you simply mirror a disk.
Telium is a big supporter of free and open source software, and DRBD is a wonderful product. But adding DRBD to a PBX and calling it ‘HA’ is naive; just like adding RAID to a PBX and declaring it ‘HA’ is naive.
in reply to: How hard is it to install? #6666If you’ve never used Linux before, then installing any third party product onto Linux can be a challenge. Creating a Linux system from a CD/ISO is easy: click next>next>finish. So unfortunately that might artificially raise your confidence. Linux is not the most friendly system (compared to Windows).
Although our products target large commercial installations, we realize that a some of these organizations experiment with Asterisk using one of the free configuration generators (like Issabel(TM), FreePBX(TM), Elastix(TM), PIAF(TM), etc). For the convenience of these users we can create a virtual machine with Linux & FreePBX & Asterisk & HAAst & SecAst preinstalled. This should help Windows admins get up and running quickly.
If you want to install our products on an existing Linux PBX, then we’re here to help. We include support with all product sales – but I suspect you will exhaust the included support incidents quickly. I would recommend you purchase support assistance along with your software purchase. For a straight forward setup Telium can perform the entire installation and configuration with/for you in 4 hours, assuming this is a very simple cluster design. (But not setup your users/devices/dialplan etc in Asterisk).
We have also helped customers create prebuilt software images to their specifications. (This is useful if you plan to deploy PBX’s to numerous sites.) We can create bare metal images in Ghost, dd, and G4L formats to suit your needs, which you can use to deploy new systems at your convenience.
in reply to: Rasberry PI version of HAAst #6665HAAst is a commercial tool, targeted at large and commercial call centers. These environments don’t use Rasberry PI’s, so we haven’t compiled for the PI yet.
FreePBX targets home and small office installations (large commercial call centers don’t generally use FreePBX). However, as some of our developers are PI enthusiasts at home, we may chose to offer a free version of HAAst for the PI some day. But this would be a hobby version only!
If you are using a PI and want HAAst, please post to tell us the Linux distro & version you are using on the Pi (so we can figure out what to compile for).
in reply to: No phone support #6664We get hundreds of product downloads per week, many from people wanting to use the free edition. If we were to try to support these people by phone then we would have to add 10 people to our call center (which we can’t afford).
We created the support forums so that users could help solve each other’s problems, with input from the Telium support group to ensure the answers are accurate and complete.
Phone support is reserved for customers who have purchased 24/7 support agreements, while e-mail support is reserved for customers who have active maintenance agreements. But everyone is welcome to use the forums for self-service and occasional help from our support team.
in reply to: Downloading the unstable version #6663The ‘generic/unstable’ package is usually compiled on a leading edge Linux distro; e.g. Fedora 25 (i.e. the latest). We call this unstable because Linux distros like Fedora change so fast that even differences in point releases can break other software. We offer this as a package of last resort if nothing else works, and is only necessary if your hardware requires leading edge drivers (and we assume you therefore did not pick a mainstream LTS Linux Distro).
The good news for you is that Scientific Linux is actually based on Red Hat Linux. So for SL7 download the RH/CentOS7 package.
in reply to: Dual standby contention message #6662This message is normal; i.e. nothing to fix.
Dual standby contention means that one (or both) PBX’s discovered that it is in standby mode and the remote peer is as well. Once this condition is detected the PBX’s begin negotiation to determine who should promote.
After a manual failover, or following the failure of one peer, the other peer will detect that no one is in active mode and record the event.
This is a normal condition (so long as it is followed by a promotion by one peer).
in reply to: Failover during CPU spike #6661No! Don’t do that.
First of all, if you are running another program that consumes 100% CPU every 5 minutes, then you are likely introducing jitter/audio gaps into your open audio channels. This is not acceptable for any commercial PBX installation.
Next, although increasing the process priority of HAAst will allow it to better survive these CPU spikes, HAAst will still detect that Asterisk is unresponsive, Linux/driver services are unresponsive, etc. And HAAst will still (correctly) initiate a failover.
You need to fix the root of your problem: the graphing software. If this is started by cron, then I suggest you create a script that is launched by cron. In that script call your graphing software with nice/ionice values that makes it behave better. It’s never ok to have a program consume 100% CPU on your PBX!
Depending on the combination of Linux, Qt library version, and local timezone (> UTC) this problem might appear. We have modified HAAst to detect the combination of libraries+Linux issue to avoid the problem. Please upgrade to HAAst version 2.3.1.16 or later and the problem should be resolved.
in reply to: Problem starting Asterisk on SystemD+Initd system #6659Given the growing popularity of SystemD (most new Linux distros use it), as of version 2.3.1.15 HAAst changed how it interacts with system services. HAAst now uses SystemD as the default.
More specifically, if HAAst detects that a PBX’s Linux uses SystemD, then it will start and stop services using systemctl. If the PBX’s Linux does not uses SystemD, then HAAst will start and stop services using initd scripts.
If you find that this change broke your system, then the simplest solution is to create a SystemD service file for Asterisk on your system, and remove/rename the initd script for Asterisk (after disabling the Asterisk initd service). Have a look at this topic https://telium.io/search/Can%5C%27t+start+Asterisk+exit+code+158/ for an example asterisk.service file.
- This reply was modified 4 years, 11 months ago by WebMaster.
Dual active contention means that both peers in the cluster are active, and one or both peers discover that the other is active as well (they are contending). Upon discovering this situation the peers automatically negotiate which should remain active, and which should demote itself.
At a high level the cause of this problem is that the (previously) standby peer thought that the other peer was dead/unresponsive and needed to take over, so it promoted itself to active. However, the real question that needs answering is why did that peer think the other was dead/unresponsive?
The most common causes are:
- HAAst Misconfiguration: If one of the peers continually cycles back and forth between active and standby then the most likely cause is peerlink misconfiguration in haast.conf (peer A can talk to peer B, but peer B can’t talk to peer A). To resolve this carefully check the settings in the peerlink stanza of haast.conf. If they look correct perform telnet connectivity tests to the HAAst port from each peer to the other, and continual ping tests (using only management IP’s) between peers and watch what happens before/after a contention.
- Network Misconfiguration: If one of the peers occasionally cycles back and forth between active and standby then the most likely cause is network misconfiguration. Again, peer A can talk to peer B, but peer B can’t talk to peer A. To resolve this ensure the network settings at the OS level are correct, and the network settings are correct in HAAst.conf (voipnic stanza). This includes checking default routes (which may change if using a shared IP), accidentally reusing an IP address already in use, etc. If they look correct perform continual ping tests (using only management IP’s) between peers and watch what happens before/after a contention.
- Peer Load/Responsiveness: If one of the peers suffers from periodic extreme load then HAAst will correctly assess its health as failing and allow the other peer to take over. To resolve this problem examine both hosts for CPU load, runaway process, high IO processes, etc. For example, the backup script included in FreePBX is poorly written and will cause very high CPU and/or IO load when it runs (causing the PBX to become unresponsive briefly). To resolve this problem identify the process(es) or device(s) causing the high load and correct their behavior (e.g.: switch to a real backup program).
- LAN/WAN Latency: In cases where peers are separated by large geographic distances the maximum latency setting in haast.conf may be set too low. On rare occasions, an overloaded or problematic LAN can cause the same problem. Although the root cause of the problem can be accommodated by increasing HAAst’s maximum latency setting, this is not always desirable. Be sure to understand the implications on detection and fail-over time (for legitimate peer failure situations). As well, if you are running the Commercial Unlimited edition of HAAst then latency is already being compensated for dynamically – so the maximum latency setting will reflect how severe the problem really is, and may warrant a general network diagnostic.
- Network Interruption: This is actually not a problem. It means there was a network outage (one node could not reach the other), and the standby node correctly promoted itself. Once network connectivity was restored, it demoted itself. If this problem occurs rarely then there is nothing you need to do – HAast is doing it’s job! If this problem occurs frequently, then you should investigate a network outage/intermittency.
This type of problem can be one of the most challenging to resolve. You will need to enable full debugging in the HAAst logs, as well as system logs, to capture the data needed to diagnose. You may need to involve your network admin, and possibly your WAN carrier. Telium will often work with clients through SSH to help identify the root cause, and suggest a resolution.
The Free Edition of HAAst will synchronize Asterisk configuration files, but not information held in SQL databases. So your Asterisk configuration files (in /etc/asterisk) will synchronize and the peers will work properly, but if you edit the configuration through FreePBX on one peer you will not see these changes appear in the GUI of the other peer.
To synchronize the SQL database you will need a commercial edition of HAAst.
The Free Edition of PBXSync will synchronize Asterisk configuration files, but not information held in SQL databases. So your Asterisk configuration files (in /etc/asterisk) will synchronize and the nodes will work properly, but if you edit the configuration through FreePBX on one peer you will not see these changes appear in the GUI of the other peer.
To synchronize the SQL database you will need a commercial unlimited edition of PBXSync.
in reply to: FreePBX cluster fail over at the same time everyday #6658FreePBX includes a backup script that can consume 100% of CPU and DISK resources. HAAst will accurately detect that Asterisk has become unresponsive (during this backup window) and will correctly initiate a failover. We recommend that you disable the automatic launch of the backup script from within FreePBX. Then you can either launch the FreePBX backup script from cron using ionice and nice to make it behave properly (better), or switch to a professional backup program (eg: Backup Exec Linux Agent).
Assuming this is not a switch issue (which you confirmed by the arp packet missing in the packet capture), we can diagnose the problem as follows:
- In one shell set a simple packet capture as follows:
tcpdump -i ethX -vvv -x arp
- ethX is the ‘physicaldevice’ setting in haast.conf which should match the ethernet adapter you are using for VoIP traffic.
[*]In another shell issue an arping from the command line (exactly as follows):
arping -U -I ethX -c 5 sharedIP
[*]ethX is the ‘physicaldevice’ key set in haast.conf which should match the ethernet adapter you are using for VoIP traffic.
[*]If ‘vlanid’ is set in haast.conf the “.haast” is appended to the ethX adapter name
[*]sharedIP is the IP address moving between peers, set in the ‘address’ key of the ‘voipnic’ stanza of haast.conf
[*]Stop the tcpdump and show the interface details using ifconfigifconfig
[*]Post the full output of command and response from all 3 steps above. If any of the information above is security sensitive (eg: a public IP is in the output) email the above to support@telium.io , do not obfuscate the data.If traffic did not start to flow with the above command (and assuming there were no errors reported above), can you try a variation of the arping syntax that consistently works for you? Please post what worked for you.
If the above arping command generated any errors then we can offer a workaround. Although rare, we have seen the above command syntax fail on a Linux distro that customized its arping command. What distro and arping (from what package) are you using? And what exact syntax would allow the arping command to be successful? If we see enough need for that particular arping syntax we’ll add support directly to HAAst. As well, we can offer a workaround if that’s the only arping package available for your distro.
-
AuthorPosts