.titleBar { margin-bottom: 5px!important; }

Asterisk & Hochverfügbarkeit

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von baschdieh, 21 Feb. 2006.

  1. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Muss unseren Asterisk redundanz beibringen. Hat da jemand ein Lösungsvorschlag?

    Würde gerne z.B. 2 Asterisk-Server aufsetzen. Davon ist einer der Master und der andere sollte auf Standby geschaltet sein. Sobald der Master nicht antwortet, soll der Asterisk2 (im Standby) die Rolle des Masters aufnehmen. Gibt das dafür auch einen Hardware-Failover Switch? Oder sollte eine Software-Cluster-Lösung verwenden?

    Erfahrungen erwünscht! :)

    Vielen Dank!
     
  2. moett

    moett Neuer User

    Registriert seit:
    12 Feb. 2006
    Beiträge:
    12
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich würde das mit einem kleinen Script machen. Ein kurzer Ausfall müsste jedoch in Kauf genommen werden. Man könnte ja entweder per Cronjob oder Daemon die Verfügbarkeit des anderen Asteriskservers prüfen und bei einem Ausfall auf dem anderen Rechner laufen lassen. Müssen halt noch einige Feinheiten eingebaut werden. Zum Beispiel sollte verhindert werden, dass nach dem Start von Asterisk auf Server B, aufgrund des Ausfalls auf Server A, der Asterisk bei dem Neustart oder beim Reconnect von Server A erneut gestartet wird.

    Vielleicht bietet aber sogar Asterisk die Funktion - ich wette das geht einfacher?
     
  3. TrinityOne

    TrinityOne Neuer User

    Registriert seit:
    29 Okt. 2005
    Beiträge:
    130
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Man könnte die beiden Maschinen mit einem Heartbeat überwachen. Stichwort ha-daemon. Das Problem hierbei wird sein, dass Du ja nicht die Maschine an sich überwachen willst, sondern die Funktionalität von Asterisk. Evtl könnte man mit dem ha checken, ob der Asterisk aus sip antwortet...
     
  4. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die SIP-Funktion lässt sich relativ gut mit sipsak überprüfen. Man sollte allerdings beachten dass beim Umschalten Server A evtl. noch nicht ganz tot ist. Man sollte ihn daher auch von Server B aus ganz ausschalten können (z.B. per IPMI).
     
  5. Guard-X

    Guard-X Aktives Mitglied

    Registriert seit:
    14 Mai 2005
    Beiträge:
    2,497
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Aurich
    Gar nicht so einfach, da beide Server die gleiche IP-Adresse und DNS Namen haben müssen (Registrierungen Teilnehmer usw.)

    Du kannst den beiden eth Schnittstellen zwei verschiedene IP Adressen zum konfigurieren geben und eine gemeinsame, auf den der DNS Name zeigt (bei einem Server nur aktiv). Dann per Script im Fehlerfall von Hand umschalten.

    Hier gibts auch Infos: http://www.voip-info.org/wiki/view/Asterisk+High+Availability+Solutions
     
  6. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Genau hierfür gibt es heartbeat ;) (s. www.linux-ha.org)
     
  7. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Vielen Dank fuer eure Antworten, habe mir nun folgendes ueberlegt:

    -> 2x Switche
    -> 2x Loadbalancer (Active und Standby)
    -> 2x LDAP (Active und Standby)
    -> 2x Asterisk Server (Active & Active)

    Die 2 Switche haben jeweils einen Port fuer den Internet-Uplink, die 2 Loadbalancer sowie 2 LDAP Server haben untereinander einen Heartbeat (=Active&Standby). Die Asterisk Server haben keinen Heartbeat und laufen auf Active & Active.

    Ich denke die Idee sollte ausbaufaehig sein, hat dazu jemand noch Anmerkungen bzw. Verbesserungsvorschlaege? Asterisk hat doch fuer die Configurations-Dateien LDAP support, oder etwa nicht? Von daher ist eine Realisierung auf 2 Redundante LDAP-Server garnicht mal so uebel?

    Vielen Dank!

    Greets
    basty
     
  8. pbx-stefan

    pbx-stefan Neuer User

    Registriert seit:
    26 Jan. 2006
    Beiträge:
    128
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi, warum 2 Loadbalancer?

    Du willst doch kein Loadbalancing, sondern Failover.
    Dazu reicht HSRP.

    Einen Abbruch der aktuellen Session wirst Du aber hinnehmen müssen.

    Gruß Stefan
     
  9. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Eine Lastenverteilung moechte ich garnicht machen. Die Ueberlegung zum Einsatz eines Loadbalancers war diese, dass ich anhand des LB eine externe IP habe, die ich auf 2 Interne (Asterisk) legen kann. Der LB wuerde den Failover machen.

    Wie sollte ich das mit HSRP realisieren? Dieses Protocol wird doch ausschliesslich auf Cisco-Router eingesetzt um ein Failover innerhalb der Router zu haben?
     
  10. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Unter Linux kannst du einer Netzwerkkarte mehrere IPs zuweisen. Dazu brauchst du also keinen teuren Loadbalancer.
     
  11. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ??? verstehe ich nicht so ganz. Das man unter Linux/Unix mehrere IP-Aliases vergeben kann ist klar - aber wie soll das automatisch realisiert werden? Wenn der Master Asterisk mit der Ip 212.XXX.XXX.101 ausfaellt - musste der Asterisk, der auf Standby laeuft (212.XXX.XXX.102) diese des Masters uebernehmen.
     
  12. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Und wo soll da jetzt das Problem sein? Der 2. Server merkt ja sowieso wegen Heatbeat, dass der 1. ausgefallen ist. Zur Sicherheit schaltet dreht er ihm noch den Saft ab und konfiguriert dann die 2. IP auf seinem Interface. Ist doch eigentlich ganz einfach :)
     
  13. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hrm - naja gut..stimmt...wobei dann wirklich zu ueberlegen waere, ob man nicht aufgrund von Performance die Sache soweit aufsplittet das man Tatsaechlich die Last noch verteilt...

    Was fuer eine Cluster-Loesung ist empfehlenswert?
    -> Ultramonkey ?
    -> Linux HA ?

    Danke nochmal!

    Gruesse,
    basty
     
  14. pbx-stefan

    pbx-stefan Neuer User

    Registriert seit:
    26 Jan. 2006
    Beiträge:
    128
    Zustimmungen:
    0
    Punkte für Erfolge:
    0

    Recht hast Du, sorry. Dann setze ich halt noch eins drauf...


    HSRP like deamon on Linux

    Auszug:
    ...Take two linux router, configure and install VGP on linux router A and B. Then when A goes down, B will go up in a few seconds configuring its interface with the same IP and MAC(!) used by router A, and avoiding your users to lost their connections. ...

    Have fun.

    Stefan
     
  15. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das ist zwar ganz nett aber es bringt eigentlich nicht mehr als eine "normale" HA-Lösung mit Heartbeat. Die bestehenden Telefonie-Verbindungen werden auf jeden Fall unterbrochen.
     
  16. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nungut - den Failover mache ich mit HA - wie bekomme ich nun noch einen vernuempftigen Datenabgleich zwischen Master und Slave Asterisk hin? Ein SCP via Crontab alle 5 Minuten waere nicht die sinnvollste Variante. Nachdem ich nun auf LB sowie LDAP Server verzichte - wird es wohl etwas schwierig ohne scp zu arbeiten?
    Clusterfilesystem ist ja auch nicht gerade das gelbe vom Ei...wenn ich nur an die Konfiguration denke....sonst irgendwelche Vorschlaege ?
     
  17. speedy1980

    speedy1980 Mitglied

    Registriert seit:
    13 Okt. 2004
    Beiträge:
    592
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #17 speedy1980, 22 Feb. 2006
    Zuletzt bearbeitet: 22 Feb. 2006
    Die Config-Dateien kann man ja ab und an abgleichen. SIP/IAX-Accounts und Wählplan sind wohl am besten in MySQL aufgehoben. Dann noch MySQL 2-Wege Replikation und die Sache steht. Oder hab ich jetzt was an Anforderungen überlesen?
     
  18. pbx-stefan

    pbx-stefan Neuer User

    Registriert seit:
    26 Jan. 2006
    Beiträge:
    128
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    wie das?

    Gruß Stefan
     
  19. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Realtime heisst hier das Zauberwort. Damit kann man die Sip-User und die extensions.conf in eine sql-db packen. Einfach mal (hier im Forum oder auf voip-info.org) nach Asterisk realtime suchen.
     
  20. pbx-stefan

    pbx-stefan Neuer User

    Registriert seit:
    26 Jan. 2006
    Beiträge:
    128
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke Dir.
    Gruß Stefan