Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Loadbalancing zwischen zwei Server

osdgap

Hacker
Registriert
2. November 2009
Beiträge
410
Reaktionspunkte
35
Punkte
88
Hi all,

ich und ein Kumpel teilen uns ein Sly-Abo mit zweitkarte (Billiger). Wir habe je ein Debian-Server mit IPC. und jeder unserer Clients hat eine C-Line zu beiden Server (Backup) Allerdings sind die meisten Clients immer auf den einen oder anderen Server so das es zu Hängern kommt während der andere Server fast keinen bedient. Ist es möglich ein Loadbalancing zwischen den beiden Server zu erstellen?

Ich denke an das einbinden der remote karte als Reader und dann irgendwie die Server dazu zu bringen die Last zu verteilen. Bitte um Konfig-Hilfe
 
AW: Loadbalancing zwischen zwei Server

Ich habe dir im CW schon genatwortet
Reicht das nicht ?
 
AW: Loadbalancing zwischen zwei Server

in dem Fall müsste der Client das Balancieren übernehmen
am Server geht es nur wenn zwei Karten auch vorhanden sind
 
AW: Loadbalancing zwischen zwei Server

@dodo
das ist so net richtig.
der loadbalancer wirkt auf ALLE Reader mit derselben CAID, egal ob lokal oder remote.

@osdgap
lies dich mal in die loadbalancer parameter der ocam.conf ein.
grundsätzlich muß für diesen fall jeder server zwei reader haben, eben einen für die lokale und einen für die entfernte karte.
Das problem dürfte allerdings eher woanders liegen, nämlich an den Clients.
Deinem Post glaube ich zu entnehmen, daß jeder von Euch auch noch CCCam-Clients hat, oder ?
Und ich glaube mich düster zu erinnern, daß CCCam die C-Lines in der Reihenfolge der CCcam.cfg abarbeitet.
Und wenn dann die CCcam.cfg der Clients einfach kopiert wurden, dann greift jeder Client primär auf denselben Server zu.
Erst wenn der net antwortet (oder zu spät), wird der zweite probiert.
Um das zu balancen muß bei Deinen Clients die C.Line für Deinen Server an erster Stelle stehen, bei den Clients des Kumpels die C-line für seinen Server die erste sein.
Und da Du ja die beiden Server als Backup für einander benutzen willst, bleibt dir eh nur dieser Weg.....
 
AW: Loadbalancing zwischen zwei Server

@ Bubbl, dafür bin ich dir auch dankbar, aber grade weil ich das gelesen habe was razorback schreibt, nämlich das der balancer sich sowohl auf die internen als auch auf die externen Reader auswirkt habe ich gedacht ich poste meine Anfrage in verschiedenen Foren. Nicht böse gemeint.

@ Razorback, das ist teilweise korrekt....allerdings ist die Reihenfolge tatsächlich fifty fifty meine Server und dessen Server als erster drin, trotzdem ist es oft so das 80-90% auf einen laufen und nur manchmal sag ich mal mehr oder weniger balannciert ist

Noch zwei Fragen:
- in beiden Server ist eine v14 und eine HD+, jeweile gleiche CAID, wirkt sich das balancing automatisch auf alle gleichen caid's in den Servern aus oder ist das pro Reader/caid einzustellen?

- muss das loadbalancing auf beiden Server eingestellt werden und eine Steuerung zwischen lokalen und remote karten eingerichtet werden
 
Zuletzt bearbeitet:
AW: Loadbalancing zwischen zwei Server

nun, ein CCCam Client kann nicht loadbalancen - jedenfalls nicht konfigurierbar.

Wenn Du auf den Clients OSCam installierst kannst ja auch mit dem CCC protokoll verbinden, aber der CLIENT kann dann mit entsprechenden parametern ein Loadbalancing machen.
statt 2 C-Lines hat er dann 2 [reader] Abschnitte, einen für Dich, einen für Deinen Kumpel.
mit dem LB-Mode (siehe Wiki) stellt er ein welcher server gewählt werden soll (der am schnellsten antwortende, der am wenigsten beschäftigte, alternierend etc.)

Wenn Du das nicht tust, kannst natürlich den Balancer auf den beiden Servern verwenden - nur solange Du CCCam Clients hast kannst ja offenbar nicht festlegen, auf welchen Server der Client zuerst losgeht.
Und der ausgewählte Server macht halt dann das Balancing mit dem anderen Server.
Sollte dieser Server nicht antworten wird der zweite angesprungen.

und ja, sobald der LB in der oscam.conf eingeschaltet ist, wirkt er auf ALLE gleichen CAIDs
und ja, der LB muß für Deinen angestrebten Zweck auf beiden Servern aktiv sein.
Du mußt dich halt wirklich in alle LB-Parameter (oscam.conf, oscam.server) einlesen.
Es macht keinen Sinn eine bestens dokumentierte Funktion hier nochmal im Detail aufzuwärmen.....
 
AW: Loadbalancing zwischen zwei Server

Hi,
folgendes Szenario wäre u.a. denkbar:

Ihr setzt beide Oscam auf den Servern ein.
Jeder gibt dem anderen Partner eine Line zu den lokalen Karten, die balanciert werden sollen. Ich würde hierbei das cs378x-Protokoll pro Karte bevorzugen.
Beide Server aktivieren den Loadbalancer. Ich verwende meist LB-Mode 1
Die Clienten bekommen nur eine C-line zum jeweiligen Server.

Die Server balancieren nun jeweils selber -je nach Gewichtung- zwischen der eigenen lokalen Karte und der dazu passenden "virtuellen" Karte vom Partner.

An das Thema Loadbalancing würde ich mich langsam herantasten und weitestgehend erst einmal Standardparameter nutzen.

Gruß
janni1
 
Zuletzt bearbeitet:
AW: Loadbalancing zwischen zwei Server

Das Problem ist ja das wir uns ja die jeweils die c-line gegenseitig auf den Clients gemacht haben um ein backup zu haben falls ein Server down ist oder ein dsl-Problem auftritt als redundanz
 
AW: Loadbalancing zwischen zwei Server

Hi,
dann versuch es mit den beiden C-lines bei den Clienten.
Wenn mich nicht alles täuscht, nimmt CCcam immer den Proxy, der am schnellsten antwortet.
Balanciert wird ja dann trotzdem am jeweiligen Server zwischen den beiden Karten.
Kann halt passieren, dass dann alle User auf einem Server hängen, wegen besserem Ping o.ä..
Diesem stehen aber wiederum beide Karten zum Balancieren zur Verfügung.

Gruß
janni1
 
AW: Loadbalancing zwischen zwei Server

@osdgap
wie ich schon ausführte kannst natürlich auch bei Server-LB die beiden C-Lines bei den Clients beibehalten.
geht die erste versuchte nicht, nimmt der Client die andere und damit hast Dein Backup.
Nur, wenn der erste versuchte Server down ist bzw. dessen DSL net geht, dann hat natürlich auch der zweite nichts mehr zum balancen und ALLE Clients landen natürlich dann dort.

Aber wie auch bereits gesagt - am effizientesten wäre es, die Clients mit OSCam auszurüsten und das balancing dort zu machen.
 
AW: Loadbalancing zwischen zwei Server

@ Janni1 & Razorback, das wäre für mich die perfekte Lösung.
A ist ein Backup gewährleistet. B wäre eine loadbalance ja gegeen ...egal von welchem sever aus wenn die last verteilt ist.
Werde mich mal die Tage an die config wagen und berichte :D
 
AW: Loadbalancing zwischen zwei Server

Hallo Leute, habe endlich beide Server auf reine oscam umgestellt mit aktivem cccam Protokoll damit die Clients sich über ihre c-lines verbinden können.

nun wollte ich endlich das loadbalancing zwischen den Servern einrichten, das dann von mir aus viele Clients an einem hängen wenn die last jedoch im Hintergrund verteil wird ist ok.

Ich hab e aber ein paar Fragen was wie wo einzurichten ist, hier meine konfs wie ich denke das die sein sollten mit Fragen in den verschiedenen Sektionen, weiterhin, wie ist das lb wo einzutragen, wie die ports in cs387x einzutragen, wie das LB zu konfigurieren und aktivieren??? (ich behandle das hier mal am bsp der v14)

oscam.conf:

[global]
WaitForCards = 1
ClientTimeout = 5
logfile = /var/log/ipc/OScam.log
nice = -1
maxlogsize = 1500
preferlocalcards = 1

[newcamd]
key = 9102030405060708091011121319
port = 14800@1843:003411; 34100@098c:000000 (so funktioniert es mit newcamd)

[cs378x]
port = port eingeben (wie ports pro karte definieren, da zwi karten Sly-Ger und HD+??)
suppresscmd08 = 1 (was ist das ??)

[cccam]
port = 12000
reshare = 0
version = 2.3.0
keepconnected = 1
stealth = 0
reshare_mode = 0

######### Web IF #########

[monitor]
hideclient_to = 10

[webif]
httpport = 123455
httpuser = o*****
httppwd = f******
httpallowed = 0.0.0.0-255.255.255.0
httprefresh = 10
httpdyndns = *****.dyndns.***



oscam.server:

[reader]
label = cs378xRemote
enable = 1
protocol = cs378x
device = ip,port
key = 0102030405060708091011121314
user = client1
password = root
group = 1
caid = 09C8
ident = 09C8:000000

oscam.user:

[account]
user = sky
pwd = ger
caid = 098C
uniq = 1
umaxidle = 0
keepalive = 1
au = 1
group = 1
cccmaxhops = 1
cccignorereshare = 1
 
Zuletzt bearbeitet:
AW: Loadbalancing zwischen zwei Server

Um den LB (Loadbalancer) einzuschalten, muß auf jedem Server, der LB ausführen soll folgender Parameter gesetzt sein:

in der Oscam.conf, Abschnitt [global]
lb_mode = x, wobei x die folgenden werte haben kann:
lb_mode = 0 (deaktiviert) (default)
lb_mode = 1 (schnellster Reader zuerst)
lb_mode = 2 (Reader der am längsten nicht geantwortet hat wird genommen)
lb_mode = 3 (Reader mit der geringsten Auslastung wird verwendet)
lb_mode = 10(LB ist ausgeschaltet, Senderstatistik wird trotzdem erstellt)

Und damit der Server remote vom anderen Server über cs378x zu erreichen ist, braucht man natürlich auch noch den Listener (= hereinkommende) in der oscam.conf, also
[cs378x]
port = xxxxx (ein freier Port, der auch auf dem router an den server weitergeleitet ist).
man braucht dort KEINE Definitionen pro CAID, wie beim newcamd !!!!

Da ja in jedem Server 2 Karten stecken, sind die in der oscam.server mal als lokale Karten zu definieren
also je einen [reader] Abschnitt für die 098C bzw. die 1843
ACHTUNG: Unbedingt den Parameter "ident = " löschen, da dieser den LB unwirksam macht !!!

Und dazu natprlich einen [reader] für den anderen Server, mit dem man LB betreiben will, also:
[reader]
device = ip_adresse_des_entfernen_servers,port (jener port, der beim anderen server in der oscam.conf beim cs378x eingetragen ist)
protocol = cs378x
"user =" und "password =" die mit dem Partner vereinbarte identifikation
und natürlich eine "group ="
KEINE CAIDs, KEINE ident !!!!

und natürlich in der oscam.user einen [account] mit dem sich der andere Server identifiziert und dem als gruppen die beiden lokalen Karten zugeteilt sind. Auch hier KEINE CAID !!!!

Wennst das mal hast und die beiden OSCams neu gestartet sind, so solltest im OpenWebif eines jeden servers dessen lokale Karten und auch den jeweiligen anderen server sehen.

Auf gehts...... :-)
 
AW: Loadbalancing zwischen zwei Server

Da ja in jedem Server 2 Karten stecken, sind die in der oscam.server mal als lokale Karten zu definieren
also je einen [reader] Abschnitt für die 098C bzw. die 1843
ACHTUNG: Unbedingt den Parameter "ident = " löschen, da dieser den LB unwirksam macht !!!

Und dazu natprlich einen [reader] für den anderen Server, mit dem man LB betreiben will, also:
[reader]
device = ip_adresse_des_entfernen_servers,port (jener port, der beim anderen server in der oscam.conf beim cs378x eingetragen ist)
protocol = cs378x
"user =" und "password =" die mit dem Partner vereinbarte identifikation
und natürlich eine "group ="
KEINE CAIDs, KEINE ident !!!!

Zunächst mal tausend Dank für die Info, zu den Reader: Die Reader sind ja schon definiert, auf diese greifen die user im Moment zu, soll ich jetzt pro Karte einen zusätzlichen Reader mit dem Protokoll cs387x erstellen als device die remote ip und port?



Bsp:

[reader]
label = V14
description = V14
protocol = smartreader
device = 001:006
autospeed = 0
caid = 098C
boxid = 12345678
ins7e11 = 15
detect = cd
mhz = 436
cardmhz = 369
ident = 098C:000000
group = 1
emmcache = 1,3,10,0
blockemm-unknown = 1
blockemm-u = 1
blockemm-s = 1
blockemm-g = 1
saveemm-unknown = 1
saveemm-u = 1
ndsversion = 2

Das ist mein bestehender Reader, soll ich hier die Ident und die CAID löschen oder nur Ident? Oder meinst du die Ident und CAID in dem zusätzlichen Reader löschen?

Oder meinstg du zu meinem "lokalen Reader" (den so stehen lassen) und einen neuen "remote Reader erstellen:

[reader]
label = V14-remote
description = V14-remote
protocol = cs387x
device = ip-dns,port
autospeed = 0
# caid = 098C
boxid = 12345678
ins7e11 = 15
detect = cd
mhz = 436
cardmhz = 369
# ident = 098C:000000
group = 1
emmcache = 1,3,10,0
blockemm-unknown = 1
blockemm-u = 1
blockemm-s = 1
blockemm-g = 1
saveemm-unknown = 1
saveemm-u = 1
ndsversion = 2
So? Oder was kann / soll noch weg, geändert werden?
 
Zuletzt bearbeitet:
AW: Loadbalancing zwischen zwei Server

Hi,
die Remote-Reader würde ich etwa so anlegen
Code:
[reader]
label                         = V14-remote
protocol                      = cs378x
device                        = dyndns.com,port
user                          = user
password                      = pass
keepalive                     = 1
caid                          = 098C
localcards                    = 098C
group                         = 2
audisabled                    = 1
Für die HDplus-Karten genauso, aber mit der entsprechenden Caid und evtl. separater Gruppe.
Der passende User dazu sollte nur die Gruppe der entsprechenden lokalen Karte bekommen.
Die normalen User bekommen alle Gruppen.

Nachdem das erstmal so läuft, käme dann der Feinschliff des Loadbalancers an die Reihe (lb_weight,lb_whitelist_services,lb_retrylimits usw.).

Gruß
janni1
 
Zurück
Oben