PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehrere Samba Instanzen



craano
20.08.07, 22:03
Hallo,

kennt jemand eine gute Anleitung mehrere Samba Instanzen aufzusetzen?
Ich möchte nicht die Möglichkeit der virtuellen Server der smb.conf nutzen, sondern zwei von einander getrennte Samba Server auf einem System laufen lassen.

Nutze zur Zeit Ubuntu 6.10

Grüße.
craano.

bla!zilla
20.08.07, 22:41
Die würden schon allein wegen der Ports behindern. Du wist wohl die virtuellen Server nutzen müssen.

emba
20.08.07, 22:44
am besten mit virtuellen interfaces (aliases) arbeiten und jeden smbd mittels interfaces parameter auf den alias festbinden

greez

bla!zilla
20.08.07, 22:45
Jo, das wäre auch noch eine Option.

emba
20.08.07, 22:47
so machen wir das zumindest in einem projekt mit GPFS und linux-ha

@blazilla
schoen dich mal wieder zu lesen ;)
jo ich weiss, lag nich an dir...

greez

craano
21.08.07, 18:45
am besten mit virtuellen interfaces (aliases) arbeiten und jeden smbd mittels interfaces parameter auf den alias festbinden

greez

Ok, das ist mir auch klar, dass ich entweder mit mehreren Interfaces odes virtuellen Interfaces arbeiten muss.
Jeden smbd mittels interfaces Parameter an nur ein bestimmtes Interface zu binden ist dann logisch.
Wie kann ich denn jetzt mehrere smbd starten?
Oder meinst Du ich soll
netbios aliases = und
include = /etc/samba/smb.conf.%L verwenden?

Ich würde gerne mehrere Samba Instanzen starten, jedem Samba Server dann seine eigene smbd.conf mitgegeben und so die Server vollständig voneinander trennen.

Grüße.
craano.

emba
24.08.07, 14:45
jeder smbd muss mit seiner eigenen config gestartet werden (-s)

greez

craano
03.09.07, 19:45
jeder smbd muss mit seiner eigenen config gestartet werden (-s)

greez

Ok, genauso stelle ich mir das vor. Aber wie starte ich denn zwei smbd?

So gehe ich vor, doch leider wird nur die erste Config gestartet:

root@dhcppc3:/etc/init.d# ./samba stop
* Stopping Samba daemons... [ ok ]
root@dhcppc3:/etc/init.d# nmbd start
root@dhcppc3:/etc/init.d# smbd -s /etc/samba/smb.conf
root@dhcppc3:/etc/init.d# ps aux | grep smbd
root 4419 0.2 0.8 9760 2100 ? Ss 20:43 0:00 smbd -s /etc/samba/smb.conf
root 4420 0.0 0.3 9760 920 ? S 20:43 0:00 smbd -s /etc/samba/smb.conf
root@dhcppc3:/etc/init.d# smbd -s /etc/samba/smb.conf2
root@dhcppc3:/etc/init.d# ps aux | grep smbd
root 4419 0.0 0.8 9760 2100 ? Ss 20:43 0:00 smbd -s /etc/samba/smb.conf
root 4420 0.0 0.3 9760 920 ? S 20:43 0:00 smbd -s /etc/samba/smb.conf
root 4426 0.0 0.2 2840 764 pts/0 R+ 20:43 0:00 grep smbd
root@dhcppc3:/etc/init.d#

Wieso wird denn kein zweiter Server gestartet?

In beiden Samba Konfigurationen sind die Optionen interfaces (eth0 bzw eth0:1) und bind interfaces only = yes gesetzt?

Grüße.
craano.

craano
03.09.07, 21:04
[2007/09/03 22:01:51, 0] lib/pidfile.c:pidfile_create(91)
ERROR: smbd is already running. File /var/run/samba/smbd.pid exists and proces
s id 4519 is running.
Taucht im Log auf, kann ich eine andere pid file erstellen?

Grüße.
craano.

EDIT:
Ok, habe die Lösung soeben gefunden:
pid directory = VERZEICHNIS
in der smb.conf erstellt eine neue pid file für jeden Daemon.

pucki
03.09.07, 22:55
man smb.conf

pid directory (G)
This option specifies the directory where pid files will be
placed.

Default: pid directory = ${prefix}/var/locks

Example: pid directory = pid directory = /var/run/



und

debug pid (G)
When using only one log file for more then one forked smbd(8)-pro-
cess there may be hard to follow which process outputs which mes-
sage. This boolean parameter is adds the process-id to the timestamp
message headers in the logfile when turned on.

Note that the parameter debug timestamp must be on for this to have
an effect.

Default: debug pid = no

emba
05.09.07, 19:56
locking, log und private dir sollten auch noch pro instanz gesetzt werden
dann hast du eine sehr feine und saubere trennung zw. den instanzen

greez

craano
06.09.07, 21:55
OK, habe die Tipps zum logging und locking befolgt.
Jetzt hat jeder Server sein eigenes private dir und loggt auch dort. Wirklich schön sauber.

Eine letzte Frage hätte ich noch.
Wie beende ich die so gestarteten Samba Server:
nmbd -s /etc/samba/server1.smb.conf
smbd -s /etc/samba/server1.smb.conf
...?

Einfach die entsprechenden Prozesse killen oder geht dabei etwas verloren?
Führt Samba normalerweise beim beenden noch Befehle oder Datei Operationen aus?

Grüße.
craano.

mamue
07.09.07, 12:03
Ein SIGHUP sollte dafür sorgen, dass der smbd die Konfigurationsdatei neu einliest. SIGTERM sollte den Prozess beenden, aber ich wette nicht darauf, dass noch irgendwelche Operationen zu ende geführt werden. SIGKILL - naja, das kann halt nicht von Prozessen abgefangen werden.

mamue

craano
07.09.07, 22:43
Ein SIGHUP sollte dafür sorgen, dass der smbd die Konfigurationsdatei neu einliest. SIGTERM sollte den Prozess beenden, aber ich wette nicht darauf, dass noch irgendwelche Operationen zu ende geführt werden. SIGKILL - naja, das kann halt nicht von Prozessen abgefangen werden.

mamue

Also ist ein:

kill -15 PID
oder

killall nmbd smbd
gefahrlos und es können keine Daten verloren gehen?

Wie beendet denn eigentlich eine Init Script den Samba Server, wenn ich zB

/etc/init.d/samba stop
ausführe?

Grüße.
craano.

pucki
07.09.07, 23:50
Also ist ein:

kill -15 PID
oder

killall nmbd smbd
gefahrlos und es können keine Daten verloren gehen?

Wie beendet denn eigentlich eine Init Script den Samba Server, wenn ich zB

/etc/init.d/samba stop
ausführe?

Grüße.
craano.

was spricht eigentlich dagegen, wenn du dir einfach mal das startscript vornimmst und dir das mal genauer anschaust? :)

gruesse