Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 24 von 24
  1. #21
    Anfänger
    Registriert seit
    25.06.2015
    Beiträge
    23
    Thanks (gegeben)
    2
    Thanks (bekommen)
    0
    Themenstarter
    Total Downloaded
    1,32 MB
    Total Downloaded
    1,32 MB
    ReceiverDanke
    Box 1:
    xTrend ET 10000
     
     
    Hallo, ich bin's wieder.

    Da ich jetzt OpenATV 6.4 drauf habe, habe ich mich gestern wieder mit diesem "Samba Boot Problem" befasst.
    Ich poste hier mal, was ich rausgefunden habe, vielleicht hilft es jemandem oder vielleicht kennt hier jemand doch die Abhilfe bei den Problemwurzeln.

    Wie das anhand Beiträgen in verschiedenen Linux-Foren aussieht, kann es verschiedene Ursachen geben, warum der Samba-Dienst beim Bootvorgang nicht startet bzw. abstürzt/sich aufhängt.
    Die meisten Ursachen hängen entweder mit Netzwerkadapter(n) oder mit Festplatten/Speichermedien zusammen (ist ja klar).
    Es scheint z.B. Probleme geben, wenn Samba früher startet, als der Netzwerkadapter initialisiert ist, z.B. wenn er seine IP-Adresse über DHCP noch nicht bezogen hat.
    Diese Problematik kann man sich im Internet raus suchen. Man kann z.B. den Eintrag "WAIT_ONLINE_IFACE" in der Samba-Konfigurationsdatei dafür nutzen bzw. eine feste IP-Adresse konfigurieren.

    Ich hab leider ein anderes Problem. Die Samba-Log-Einträge in OpenATV 6.4 sind etwas anders formuliert als in OpenATV 6.1, aber das Problem ist der gleiche:
    "messaging_dgm_lockfile_create: write failed: Invalid argument"
    "exit_daemon: daemon failed to start: Samba cannot init the cleanupd, error code 13"
    Samba kann anscheinend im Zusammenhang mit Initialisierung von "cleanupd" manchmal keine Lock-Datei (zur Synchronisierung?) anlegen - wenn die parallele Ausführung sich so trifft bzw. etwas anderes länger dauert?
    Dazu habe ich im Internet nichts vernünftiges gefunden. Vielleicht poste ich irgendwann mal dieses Problem in welche Linux-Foren.

    Also meine Lösung sieht momentan so aus:

    Mit folgendem Befehl (z.B. übers Telnet):
    crontab -e

    diesen Cron-Boot-Eintrag einfügen:
    @reboot sleep 10 && /usr/sbin/smbd start

    Danach die crontab-Datei mit Ctrl+O speichern und den Editor mit Ctrl+X verlassen.
    Evtl. kann anstatt von "start" auch "restart" verwendet werden, wenn sich bei jemandem Samba aufhängen mag (bei mir ist das nicht der Fall).

    Um zu testen, ob das mit dem @reboot Eintrag funktioniert, kann testweise etwas in eine Datei geschrieben werden (das Verzeichnis "home" muss es geben, sonst wird die Datei nicht angelegt):
    @reboot sleep 10 && /usr/sbin/smbd start && echo "hi samba start" > /home/reboot.txt

    Diese Lösung funkttioniert bei mir besser als ein regelmäßiger Cron-Timer, weil dieser zwar den Samba-Dienst nach der Ablauf der Zeit gestartet hat, aber ich hatte sofort nach dem Booten eben doch noch keinen Netzwerkzugriff.

    Hier noch vollständiger weise der Inhalt meiner Samba-Log-Datei:

    [2019/10/26 18:41:33.376516, 1] ../../source3/profile/profile_dummy.c:30(set_profile_level)
    INFO: Profiling support unavailable in this build.
    [2019/10/26 18:41:33.480685, 1] ../../source3/lib/messages_dgm.c:948(messaging_dgm_lockfile_create)
    messaging_dgm_lockfile_create: write failed: Invalid argument
    [2019/10/26 18:41:33.481474, 1] ../../source3/lib/messages_dgm.c:1031(messaging_dgm_init)
    messaging_dgm_init: messaging_dgm_create_lockfile failed: Invalid argument
    [2019/10/26 18:41:33.483466, 0] ../../source3/lib/util.c:500(reinit_after_fork)
    messaging_reinit() failed: NT_STATUS_INVALID_PARAMETER
    [2019/10/26 18:41:33.486071, 1] ../../source3/smbd/server.c:643(cleanupd_init)
    cleanupd_init: reinit_after_fork failed: NT_STATUS_INVALID_PARAMETER
    [2019/10/26 18:41:33.486367, 1] ../../source3/smbd/server.c:625(cleanupd_init)
    cleanupd_init: cleanupd returned 1
    [2019/10/26 18:41:33.486623, 0] ../../lib/util/become_daemon.c:121(exit_daemon)
    exit_daemon: daemon failed to start: Samba cannot init the cleanupd, error code 13

    ***** jetzt habe ich Samba manuell gestartet *****
    [2019/10/26 18:43:53.487249, 1] ../../source3/profile/profile_dummy.c:30(set_profile_level)
    INFO: Profiling support unavailable in this build.
    [2019/10/26 18:43:53.785187, 0] ../../lib/util/become_daemon.c:135(daemon_ready)
    daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
    Geändert von stevom (27.10.2019 um 21:32 Uhr)

    •   Alt Advertising

       

  2. #22
    Avatar von Pike_Bishop
    Registriert seit
    11.02.2020
    Ort
    here and there
    Beiträge
    2.424
    Thanks (gegeben)
    642
    Thanks (bekommen)
    1648
    Total Downloaded
    0
    Total Downloaded
    0
    ReceiverDanke
    Box 1:
    Mutant HD2400
     
     
    Box 2:
    VU Ultimo 4K
     
     
    Box 3:
    Octagon SF8008
     
     
    Box 4:
    Gigablue Quad 4K
     
     
    Box 5:
    VDR
     
     
    Hi,

    Hatte ja auch immer dieses Problem das der samba an der Mutant HD 2400 nach dem Booten (sogar sehr oft) nicht automatisch starten wollte, und so die samba (cifs) Freigabe der Platte von der Mutant HD 2400 an der Zweitbox ( VU Ultimo 4k) eigentlich nur sehrr selten erreichbar war.

    Habe zuerst nur ein einfaches Script als Lösung gebastelt welches an der Mutant HD 2400 den samba mittels nem Cronjob bei Bedarf automatisch nach dem Booten startet, das hat nahezu immer geklappt, aber ich habe auch feststellen müssen das (war aber sehr selten) ein einfacher Start des samba auch da unter Umständen nicht reichte.

    Deshalb hab ich mir dann ein anderes Script geschrieben welches (nur bei Bedarf - also wenn der samba nicht bereits automatisch gestartet wurde) den samba startet allerdings
    nicht mit nur einem einzigen Versuch sondern es wird versucht den samba bis zu dreimal zu starten, denn wie gesagt ab und an kam es hier vor das der erste Versuch den samba zu starten nicht klappte.
    Bei wie nun mit bis zu drei Versuchen hatte ich seit langem nie mehr ein Problem mit dem samba Start per Script.


    ACHTUNG ! Die folgende Version vom Script ist für OpenATV-6.3 oder älter wegen Wegfall vom nmbd seit Neuestem, eine Version ohne nmbd also für OpenATV-6.4 is gleich darunter
    Das Script nennt sich samba_emergency_restart.sh und sieht so aus;
    Code:
    #!/bin/sh
    
    STARTDATE="$(date +%a.%d.%b.%Y-%H:%M:%S)"
    BINARYPATH=/usr/sbin
    SMBD=smbd # Samba Server-Daemon
    NMBD=nmbd # NetBIOS Server-Daemon
    WSDD=wsdd # Webservice_Discovery Host-Daemon
    WAIT=3
    TMP=/tmp
    LOGFILE=$TMP/samba_deamon_start.log
    
    
    # Generelles Logging
    exec 3>&1 4>&2
    trap 'exec 2>&4 1>&3' 0 1 2 3
    exec 1>$LOGFILE 2>&1
    
    sleep 12
    
    check_samba_run() {
    if ! pgrep -fl "$BINARYPATH/$SMBD" ; then
    	error=1
    elif ! pgrep -fl "$BINARYPATH/$NMBD" ; then
    	error=1
    elif ! pgrep -fl "$BINARYPATH/$WSDD" ; then
    	error=1
    else
    	error=0
    fi
    }
    
    try_samba_start() {
    			$BINARYPATH/$SMBD && $BINARYPATH/$NMBD && $BINARYPATH/$WSDD
    
    			if [ "$?" != "0" ] ; then
    				echo -e "\nSamba starten fehlgeschlagen,\nnaechster Versuch in $WAIT Minuten ...\n"
    				z=$((z+1))
    			else
    				check_samba_run
    
    				if [ "$error" = "0" ] ; then
    					echo -e "\nSamba erfogreich gestartet.\n" && exit 0
    				else
    					z=$((z+1))
    				fi
    			fi
    }
    
    echo -e "\n$STARTDATE\n"
    # Mit der folgenden Zeile (auskommentiert) kann man nur checken welche Dienste laufen.
    #pgrep -fl "$BINARYPATH/$SMBD|$BINARYPATH/$NMBD|$BINARYPATH/$WSDD"
    check_samba_run
    
    z=1
    while [ "$error" = "1" ]
    do
    	if [ "$z" = "1" ] ; then
    		echo -e "Samba-Daemon laeuft nicht.\nVersuch $z - Starte Samba ...\n"
    		try_samba_start
    
    	elif [ "$z" -gt "1" ] ; then
    
    		if [ "$z" -gt "3" ] ; then
    			echo -e "\nABBRUCH ! Samba starten fehlgeschlagen !\n" && exit 1
    		fi
    
    		sleep ${WAIT}m
    		NEWDATE="$(date +%a.%d.%b.%Y-%H:%M:%S)"
    		echo -e "\n$NEWDATE\n"
    		echo -e "Samba-Daemon laeuft nicht.\nVersuch $z - Starte Samba ...\n"
    		try_samba_start
    	fi
    done
    
    echo -e "\nSamba-Daemon laeuft bereits.\n"
    
    exit
    Version ohne nmbd für ab OpenATV-6.4 wie folgt;
    Code:
    #!/bin/sh
    
    STARTDATE="$(date +%a.%d.%b.%Y-%H:%M:%S)"
    BINARYPATH=/usr/sbin
    SMBD=smbd # Samba Server-Daemon
    WSDD=wsdd # Webservice_Discovery Host-Daemon
    WAIT=3
    TMP=/tmp
    LOGFILE=$TMP/samba_deamon_start.log
    
    
    # Generelles Logging
    exec 3>&1 4>&2
    trap 'exec 2>&4 1>&3' 0 1 2 3
    exec 1>$LOGFILE 2>&1
    
    sleep 12
    
    check_samba_run() {
    if ! pgrep -fl "$BINARYPATH/$SMBD" ; then
    	error=1
    elif ! pgrep -fl "$BINARYPATH/$WSDD" ; then
    	error=1
    else
    	error=0
    fi
    }
    
    try_samba_start() {
    			$BINARYPATH/$SMBD && $BINARYPATH/$WSDD
    
    			if [ "$?" != "0" ] ; then
    				echo -e "\nSamba starten fehlgeschlagen,\nnaechster Versuch in $WAIT Minuten ...\n"
    				z=$((z+1))
    			else
    				check_samba_run
    
    				if [ "$error" = "0" ] ; then
    					echo -e "\nSamba erfogreich gestartet.\n" && exit 0
    				else
    					z=$((z+1))
    				fi
    			fi
    }
    
    echo -e "\n$STARTDATE\n"
    # Mit der folgenden Zeile (auskommentiert) kann man nur checken welche Dienste laufen.
    #pgrep -fl "$BINARYPATH/$SMBD|$BINARYPATH/$WSDD"
    check_samba_run
    
    z=1
    while [ "$error" = "1" ]
    do
    	if [ "$z" = "1" ] ; then
    		echo -e "Samba-Daemon laeuft nicht.\nVersuch $z - Starte Samba ...\n"
    		try_samba_start
    
    	elif [ "$z" -gt "1" ] ; then
    
    		if [ "$z" -gt "3" ] ; then
    			echo -e "\nABBRUCH ! Samba starten fehlgeschlagen !\n" && exit 1
    		fi
    
    		sleep ${WAIT}m
    		NEWDATE="$(date +%a.%d.%b.%Y-%H:%M:%S)"
    		echo -e "\n$NEWDATE\n"
    		echo -e "Samba-Daemon laeuft nicht.\nVersuch $z - Starte Samba ...\n"
    		try_samba_start
    	fi
    done
    
    echo -e "\nSamba-Daemon laeuft bereits.\n"
    
    exit

    Es muss an der Box nach /usr/script kopiert werden und dann per telnet mit folgendem Befehl ausführbar gemacht werden;
    Code:
    chmod 755 /usr/script/samba_emergency_restart.sh
    und wenn man eh schon mit telnet zur Box verbunden ist, kann man auch gleich mit folgendem Befehl den cronjob dazu eintragen;
    Code:
    (crontab -l 2>/dev/null; echo "@reboot sh /usr/script/samba_emergency_restart.sh") | crontab -
    Das Script legt auch ein Logfile ab und zwar in /tmp mit Namen samba_deamon_start.log


    Nun kann man sich noch "wers braucht" an der Zweitbox ein weiteres Script ablegen welches das Logfile mit Namen samba_deamon_start.log von Box 1
    (in dem Fall also von der Mutant HD 2400) holen kann
    um an der Zweitbox nachsehen zu können falls mal was nicht klappt (denn üblicherweise sitzt man ja vor der Zweitbox um auf die freigegebene Platte von Box 1 zuzugreifen)
    , und da hilft das Log an Box 1 ja nicht wirklich (ausser man will sich die Mühe machen und ins Nebenzimmer zur Box 1 zu gehen und zu gucken was los ist).

    So ein weiteres Script also (was ja nur der Kontrolle dient) benötigt aber dann ssh mit authorized_keys also das hier in etwa;
    https://www.opena.tv/skripte/17424-d...tml#post157028

    Aussehen kann so ein quasi Kontrollscript dann so in etwa;
    Code:
    #!/bin/sh
    
    BOX="Mutant HD 2400"
    REMOTEMACHINE="192.168.178.16"
    USER=root
    KEY_FOR_VU=pli_ultimo4kkey
    TMP=/tmp
    HD2400_ORG_LOG=samba_deamon_start.log
    COPIED_LOG_ON_VU=hd2400_samba_deamon_start.log
    
    
    rm -f $TMP/$COPIED_LOG_ON_VU
    
    if ! ping -c 5 $REMOTEMACHINE ; then
    	echo -e "\n$BOX nicht eingeschalten (online),\nLog kopieren daher unmoeglich.\n"
    	exit 1
    else
    	if scp -S dbclient -i ~/.ssh/$KEY_FOR_VU $USER@$REMOTEMACHINE:$TMP/$HD2400_ORG_LOG $TMP/$COPIED_LOG_ON_VU ; then
    		echo -e "\n$HD2400_ORG_LOG der Box;\n\"$BOX\" erfolgreich als;\n$TMP/$COPIED_LOG_ON_VU\nkopiert.\n"
    	else
    		echo -e "\n*** Log kopieren fehlgeschlagen. ***"
    	fi
    fi
    
    exit
    Das muss aber schon abgestimmt sein mit dem Namen des Keys den man bei der Anleitung zu ssh im Link oben gewählt hat usw..


    Na ja - wird auch völlig ohne Kontrollscript gut laufen (muss man nicht unbedingt haben) wollte nur erwähnen was halt so möglich ist.



    Grüsse
    Pike
    Geändert von Pike_Bishop (11.03.2020 um 19:54 Uhr)

  3. #23
    Avatar von Papi2000
    Registriert seit
    20.04.2013
    Beiträge
    24.824
    Thanks (gegeben)
    4679
    Thanks (bekommen)
    9077
    Total Downloaded
    596,61 MB
    Total Downloaded
    596,61 MB
    ReceiverDanke
    Box 1:
    GB Q4K-SC / UE4K-SC / UE4K-C
     
     
    Box 2:
    GigaBlue Q-SSC / Q+-SSC
     
     
    Box 3:
    DM900uhd-SS / Vu+Duo
     
     
    Box 4:
    ZGemma H7/H9 SF8008
     
     
    Box 5:
    diverse andere . . .
     
     
    Dann bin ich aber gespannt, was dein Script mit dem nun fehlenden / weggefallenen nmbd macht.
    Grüßle
    Ralf
    ---------------------------------------------
    Gigablue Quad4K-mixed, UE4K, Trio4K, Quad_Plus-SSC, UE_Plus-SC, X2/X3-SC, UltraUE-SC, ...
    Astra 19.2E UniCable & KabelBW, oATV/teamBlue
    (u.a.: DM900uhd,Vu+Duo,ZGemma H9Twin & H7S), PC-DVB-S/C/T, Xtreamer, BDP5200, Philips 24PFS4022/12, 65OLED855/12,UE32C5700, RPi3+
    ---- Einen Receiver kann sich jeder kaufen - Eine stabile E²-Box muß man sich verdienen! ----



  4. #24
    Avatar von Pike_Bishop
    Registriert seit
    11.02.2020
    Ort
    here and there
    Beiträge
    2.424
    Thanks (gegeben)
    642
    Thanks (bekommen)
    1648
    Total Downloaded
    0
    Total Downloaded
    0
    ReceiverDanke
    Box 1:
    Mutant HD2400
     
     
    Box 2:
    VU Ultimo 4K
     
     
    Box 3:
    Octagon SF8008
     
     
    Box 4:
    Gigablue Quad 4K
     
     
    Box 5:
    VDR
     
     
    Nun ja man kann nicht immer up to date sein, aber das Script dahingehend anzupassen is doch kein Problem.

    EDIT !
    Habs angerpasst im letzten Post - gibt jetzt eine Version für OpenATV-6.3 und älter (oder is der nmbd auch im OpenATV-6.3 rausgeflogen ?)
    und ne zweite Version ohne nmbd für ab OpenATV-6.4.


    Grüsse
    Pike
    Geändert von Pike_Bishop (11.03.2020 um 19:19 Uhr)

  5. Thanks faximan bedankten sich

Seite 3 von 3 ErsteErste 123

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr.
Powered by vBulletin® Version 4.2.5 (Deutsch)
Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.
Resources saved on this page: MySQL 5,00%
Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)
vBulletin Skin By: PurevB.com