Samba Server 3.4.8 im JAIL

BoS

Well-Known Member
Hallo alle,

ich habe eine Frage zu o.g. Thema.
Nach einrichten des Jail und installieren des samba ports mit Eintrag samba_enable="YES" im rc.conf wird samba nach starten des Jail nicht mit gestartet - keine Fehlermeldung in den Log Files.

Was könnte die Ursache sein - ein manueller Start in der Jail funktioniert ohne Probleme, nur der Autostart geht nicht. Was ist eventuell zusätzlivch zu beachten?

Danke,
BoS
 
Zuletzt bearbeitet:
Hallo BoS,

Hallo alle,

ich habe eine Frage zu o.g. Thema.
Nach einrichten des Jail und installieren des samba ports mit Eintrag samba_enable="YES" im rc.conf wird samba nach starten des Jail nicht mit gestartet - keine Fehlermeldung in den Log Files.

Was könnte die Ursache sein - ein manueller Start in der Jail funktioniert ohne Probleme, nur der Autostart geht nicht. Was ist eventuell zusätzlivch zu beachten?

Danke,
BoS

Hm. Du hast samba_enable="YES" schon in die rc.conf der Jail eingetragen?:D
Kannst Du innerhalb der Jail den Samba-Daemon mit dem Startskript starten? Schau doch mal mit cat /var/db/pkg/<samba-Pfadname>+DESC nach, welche Optionen in der rc.conf noch gesetzt sein müssen.

JueDan
 
Hallo Juedan,

im Jail wird es ohne Fehler gestartet. Dein Tipp extern hat leider auch nix gebracht :(

BoS
 
Funktioniert den die Namensauflösung in der Jail? Was steht in /etc/resolv.conf?
Bei mir reicht einzig
Code:
samba_enable="YES"
in /etc/rc.conf

Du kannst auch versuchen die Dienste (nmbd, smbd, winbindd) einzeln in /etc/rc.conf zu starten.

mousaka
 
Hier der Auszug aus DESC

-------------------------------snip----------------------------------------
[root@samba ~]# cat /var/db/pkg/samba34-3.4.8/+DESC
The Samba suite is a set of programs which run under the FreeBSD
operating system. These programs deliver most of the important
functionality of a Microsoft Lan Manager server. That is, they support
remote access to FreeBSD filespace and FreeBSD printers from Lan Manager
compatible clients. In practical terms, this means that such clients can
connect to and use FreeBSD filespace as if it was a local disk drive, or
FreeBSD printers as if they were local printers.

Some of the most popular Lan Manager compatible clients include Lan
Manager itself, Windows for Workgroups, OS/2 and Windows NT.

WWW: http://www.samba.org/
--------------------------------snip end----------------------------------

cu,
BoS
 
Hallo BoS,

Hallo Juedan,

im Jail wird es ohne Fehler gestartet. Dein Tipp extern hat leider auch nix gebracht :(

BoS

Von "extern" hatte ich nix geschrieben.
Hm.
Schaun wir doch mal:
  • Läuft die Jail (jls)?
  • Wie startest Du die Jail, um Samba zu testen (/etc/rc.d/jail start <jailname> oder jail ...)?
  • Funktioniert die Namensauflösung - siehe Frrage von mousaka?
  • Ist Samba an die Jail-IP gebunden?
  • Schau mal mit pgrep -lfj <jailnummer> nach, ob irgendwelche Prozesse in der Jail bereits laufen
  • Gibt es Einträge in /var/log/messages des Wirtsystems?

Viele Grüße

JueDan
 
jls - hat eigene ID
jail start - /etc/rc.d/jail start name oder /etc/rc.d/jail start für alle
namensauflösung funkioniert ohne einschränkung
samba ist an die jail ip gebunden
in der jail laufen prozesse, e.g. sshd
nein es gibt keine einträge im basis-system

BoS
 
Hier bitteschön :)

rpcbind_enable="NO"
network_interfaces=""
syslogd_enable="YES"
syslogd_program="/usr/sbin/syslogd"
syslogd_flags="-ss"
hostname="samba"
font8x8="iso15-8x8"
font8x14="iso15-8x14"
font8x16="iso15-8x16"
scrnmap="NO"
keymap="german.iso"
sendmail_enable="NO"
#
# ssh daemon
#
sshd_enable="YES"
#
# windows daemon
#
samba_enable="YES"
 
Zuletzt bearbeitet:
Hallo BoS,

ein paar Fragen habe ich noch:
  • Startest Du den Samba-Daemon für den Testlauf in der Jail mit /usr/local/etc/rc.d/samba start?
  • Was gibt dieses Kommando aus?
    Code:
    jail -c path=<Jailpfad> host.hostname=<Hostname Jail> ip4.addr=<IP-Adresse Jail> command=/bin/sh /etc/rc
  • Hat das Skript auch das executable-Bit gesetzt?
Ansonsten wüßte ich da jetzt auch nix mehr...;'(

Viele Grüße

JueDan
 
Yamagi: P4, 2,8 GHz
V6: Nein

Juedan: Ja
[root@halifax /mnt/jail]# jail -c path=/mnt/jail/samba host.hostname=samba ip4.addr=10.1.1.32 command=/bin/sh /etc/rc
ps: empty file: Invalid argument
Setting hostname: samba
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/lib/compat/pkg
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout
Creating and/or trimming log files.
Starting syslogd.
Clearing /tmp (X related).
Removing stale Samba tdb files: done
Updating motd:.
/etc/rc.d/nscd: line 43: setvar: command not found
/etc/rc.d/nscd: line 43: setvar: command not found
/etc/rc.d/nscd: line 43: setvar: command not found
Starting sshd.
PRNG is not seeded
/etc/rc: WARNING: failed to start sshd
Starting cron.
ps: bad namelist

Tue Sep 21 20:35:55 UTC 2010
[root@halifax /mnt/jail]#
-------------------snip end --------------------------

Fehler sind durch nicht vorhandenes devfs aufgetreten - im Orginal wird es durch die Jail gestartet, d.h. ohne Fehler (ich habe es per Hand eingebunden, keine Fehler)

cu,
BoS
 
Ein Pentium 4 ist zu langsam. Ich wollte hier keine unnützen Romane tippen, aber nun mal etwas konkreter: Auf mitteldicken Kisten ist das Problem, dass die RC-Scripte des Jails bereits durchlaufen, bevor das Jail selbst komplett durch den Kernel gesickert ist. Besonders deutlich ist es bei IPv6, oftmals stehen die Adressen erst dann bereit, denn das Jail bereits komplett gestartet ist. Dadurch binden sich Dienste nicht auf die Adressen. Ich helfe mir im Moment damit, dass ich ein "sleep 2" in /etc/rc einfüge, aber toll ist es nicht. Eine echte Lösung bringt aber wahrscheinlich erst die neuen RC-Scripte für Jails, an denen Jamie Gritton im Moment bastelt.
 
Danke Yamagi.
Das war des Rätsel's Lösung.

Erstaunlich ist nur, dass es atm bei samba solche Probleme in der Jail gibt. BIND, Hylafax, DHCP, VSFTPD, Apache ... laufen ohne diesen "Eingriff" fehlerfrei.

Ich muss wohl eien neuen Thread mit der Frage nach einem neuen, stromsparenden Server öffnen. Das ist die logische Schlussfolgerung aus der zu alten HW.

Die HDD steht schon fest - 1 TB WD, es stellt sich nur die Frage 24/7 oder stromsparend ohne dieses *grübel* im RAID

BoS
 
Das wundert mich aber nun. Ein Pentium 4 ist doch recht langsam, ich habe ein solches Verhalten erst ab mindesten 4 Kernen feststellen können... Daher war ich weiter oben auch so ruhig, ich hielt die Race für sehr unwahrscheinlich. Allerdings habe ich noch nie einen Samba im Jail betrieben. Vielleicht ist der ja besonders anfällig oder sowas.
 
Moin Yamagi,

Yamagi schrieb:
Auf mitteldicken Kisten ist das Problem, dass die RC-Scripte des Jails bereits durchlaufen, bevor das Jail selbst komplett durch den Kernel gesickert ist. Besonders deutlich ist es bei IPv6, oftmals stehen die Adressen erst dann bereit, denn das Jail bereits komplett gestartet ist.

Die rc-Skripte werden doch seriell abgearbeitet oder nicht?
Jedes aufgerufene Systemkommando wie ifconfig hält doch ein Skript so lange an, bis das Kommando abgearbeitet ist. Wie kann es dann zu oben genannten Effekt kommen?

Ein interessierter JueDan
 
Das Problem in diesem Fall ist, dass einige Dinge wie das Setzen der IP-Adressen vom Host aus geschehen und die RC-Scripte darauf vertrauen müssen, dass sie geschehen sind. Wenn du ein Jail mit jail(8) erstellst, macht das Tool zwei Dinge:

1. Den jail() Syscall aufrufen. Damit sagt es dem Kernel, dass dieser ein Jail erstellen soll. Dabei werden Dinge wie IP-Adressen und so weiter gleich mir übergeben. Sobald das Jail erstellt wurde, gibt der Syscall die JID des Jails zurück. Zu diesem Zeitpunkt ist im Kernel aber nur das Jail selbst erstellt, Dinge wie das Zuweisen von IP-Adressen laufen ansynchron und beginnen nun erst.

2. jail(8) hängt sich an das Jail und führt das übergebene Kommando - also meist /etc/rc - aus. Die RC-Scripte können zwar erkennen, dass sie im Jail laufen, nutzen das aber nur, um einige Scripte auszuschließen. So werden im Jail keine IP-Adressen konfiguriert und keine Dateisysteme gemountet.

Was nun schief geht ist einfach. Wenn der Rechner zu schnell ist, läuft /etc/rc im Jail bereits durch, bevor der Kernel das Jail vollständig konfiguriert hat. Dann werden bereits Dienste gestartet, wenn einige Voraussetzungen noch nicht gegeben sind. Ganz besonders krass ist es wie gesagt bei IPv6-Adressen. Der Kernel braucht bis zu einer drittel Sekunde sie wirklich zu setzen, innerhalb dieser drittel Sekunde läuft das /etc/rc im Jail aber schon größtenteils durch. Das führt dann dazu, dass sich Dienste nicht auf IPv6-Adressen binden können, da sie noch nicht vorhanden sind. Ich weiß nun nicht genau, woran Samba scheitert, aber wahrscheinlich auch Adressen oder was in die Richtung. Ein "sleep 2" in /etc/rc verzögert den Start der Dienste um 2 Sekunden und gibt dem Kernel damit Zeit seine Arbeit zu beenden. Jamie Gritton beschäftigt sich gerade[1] mit den RC-Scripten zum Starten eines Jails sowohl innerhalb als auch außerhalb. Seine Scripte und das erweiterte jail(8) werden das Problem wohl lösen. Zumindest tritt des mit den aktuellen Patches nicht mehr auf.

1: http://lists.freebsd.org/pipermail/freebsd-jail/2010-June/001308.html
 
Hallo Yamagi,

ein P4 2,8 gilt heute als nicht wirklich schnell :)
Es ist tatsächlich so, dass nur samba nicht startet - alle anderen "eingesperrten" Dienste (auch mit V6) sind wohl resisten oder der P4 hat ungeahnte "Leistungsreserven" :)

Mit einem Core2Quad kann er es wohl nicht aufnehmen - es gibt also nicht wirklich eine Erklärung für das abarbeiten der Scripte mit "hoher" Geschwindigkeit.


cu,
BoS
 
Zurück
Oben