Leoclient-Partition wird bei linbo-remote nicht gesyncht obwohl angegeben

Hallo,

ich lasse morgens alle PCs per linbo-remote aufwachen, das Ubuntu synchronisieren und starten. Das klappt seit langem prima.

Nun habe ich den linbo-remote Befehl errgänzt, dass nach dem Sync des Ubuntus auch die Partition mit dem Leoclient gesynct werden soll, bevor Ubuntu gestartet wird. Für diese Partition ist ein zweites “Betriebssystem” in der start.conf definiert.

Das syncen der Leoclient-Partition passiert aber offensichtlich nicht, denn nach erstellen eines neuen Images der Partition (und Anpassung der vdi-Größe auf dem Server) lässt sich der Leoclient nicht mehr starten.

Nach einem manuellen Sync der Partition über die Linbo-Oberfläche jedoch schon.

Der linbo-remote-Befehl lautet:

/usr/bin/ist-heute-schultag/ist-heute-schultag.sh && linbo-remote -g magic_amd_fx4_leoclient -w 120 -c sync:1,sync:2,start:1

Entweder ich bin betriebsblind und sehe den Fehler im Befehl nicht, oder ich habe keine Ahnung, warum der PC zwar syncronisiert (sync:1) startet (start:1), aber vor dem Start das zweite “Betriebsssystem” nicht synchronisiert (sync:2) wird.

Das es manuell aus der Linbo-Oberfläche geht, kann es ja nicht an der start.conf liegen.

Edit:
Ich glaube das Posten hier sorgt mal wieder dafür, dass ich den (Denk-)Fehler jetzt doch sehe:

Die Partition mit dem Leoclient ist /dev/sda3, da dev/sda1 Ubuntu und /dev/sda2 swap ist. Also muss es sync:1,sync:3,start:1 heißen, richtig?

Viele Grüße
Steffen

Hallo Steffen,

welche Linbo-Version hast Du? Bei einer älteren Version habe ich das auch beobachten können. Die aktuelle Version macht das nicht.

Gruß

Alois

Hallo Alois,

welche Linbo-Version hast Du? Bei einer älteren Version habe ich das
auch beobachten können. Die aktuelle Version macht das nicht.

aktuelle LMN 6.2, also Linbo 2.3.26-0

Aber nochmal zu meiner eigenen Überlegung:
Muss das nicht sync:1, sync:3,start:1 heißen, wenn die zu synchenden
Partitionen /dev/sda1 und /dev/sda3 sind?

Viele Grüße
Steffen

Hallo Alois,

man linbo-remote lieferte leider nichts, daher die Nachfrage. Aber linbo-remote --help bestätigt imho meine Vermutung:

format:<#> : Writes the partition table and formats only
partition nr <#>.
[…]
sync:<#> : Syncs the operating system on position nr <#>

Das dürfte wohl heißen, dass die Zahl hinter dem Doppelpunkt die Partitionsnummer ist und nicht die Nummer des definierten Betriebssystems in der start.conf, wie ich mich habe fälschlicherweise in die Irre leiten lassen.

Eigentlich ist das ja auch logisch. Also ändere ich die Befehle auf sync:1,sync:3,start:1 ab.

Viele Grüße
Steffen

Hallo Steffen,

das sync der virtual-Partition (für den alten leoclient) sollte vom
universellen postsync-Skript für Linux erledigt werden.
http://www.linuxmuster.net/wiki/anwenderwiki:linbo:postsync_scripte:linux_universalscript
Dies hat bei uns jedoch ebenso wenig funktioniert wie so ein
linbo-remote-Auftrag, mit dem Du es jetzt versuchst. Bei uns ist sda1
swap, sda2 linux, sda3 virtual und sda4 cache.

Gruß Jürgen

Hallo Jürgen.

Postsync klappt hier eigentlich sehr gut. Aber das auch für den Leoclient 1 zu machen hielt ich für zu umständlich, da ich das (neue) vdi ja auf dem Server an anderer Stelle schon ablegen muss.

Mein Workflow bei (bislang 2 mal ) neuem VDI ist:

  1. die VM daheim in VB ändern (z.B: neue Software)
  2. das vdi-File mit in die Schule nehmen
  3. das vdi File an einem Schul-Client in die lokale Leoclient-Partition und auf den Server kopieren
  4. Serverskripte laufen lassen und Filegröße anpassen
  5. Image der Leoclient-Partition erstellen und bei den (wenigen) Leoclient-PCs die wir bis vor kurzem hatten ausrollen (1 Raum mit 12 PCs, in dem die Technik-Kollegen wussten, was sie tun müssen)

Jetzt sind es deutlich mehr PCs mit Leoclient und ich wollte das ausrollen daher morgens beim linbo-remote Rechnerstart miterledigen, dann kann ich’s nicht vergessen - und auch andere Problem, die ggf. mal auftreten können, sind eher unwahrscheinlich, wenn die Partition jeden morgen gesynct wird.

Aber ich glaube inzwischen, dass ich beim linbo-remote einfach nur einen Denkfehler hatte.

Viele Grüße
Steffen

Hallo Steffen,

nein, das hast Du schon richtig gemacht. Die Nummer des Betriebssystems in der start.conf (ist bei Dir offensichtlich 2).

hier mein postsync-teil für die leo-partition:

##### -----------------------------------------------
#####      Virtualbox-Partition aktuell halten
##### -----------------------------------------------

# Name des Rsyncimages, ggf. eintragen
myrsyncimage=""
# Zielpartition auf die gesynct werden werden soll, muss angepasst werden
myrootpartition=/dev/sda3 

# Name des Basisimages das zusaetzlich synchronisert werden soll (muss angepasst werden)

case ${RAUM} in
    "ch")
#        mybaseimage=vbox_dgiss.cloop
        mybaseimage=erstmal_keines
      ;;

    "r009")
        mybaseimage=vbox_mindstorms.cloop
      ;;

    "r010")
        mybaseimage=vbox_mindstorms.cloop
      ;;

    "ph")
        mybaseimage=vbox_mindstorms.cloop
      ;;

   "bio")
        mybaseimage=vbox_dgiss_bio.cloop
      ;;
   "klzi")
        mkdir /test
        mount /dev/sda3 /test
        rm -rf /test/*
        umount /test
      ;;


 *)
        mybaseimage=keines
      ;;
    esac


# Ausgabe der Parameter auf der LINBO-Konsole
echo "cachepartition:  $1" 2>&1 >> postsync.log
echo "myserverip:      $SERVERIP" 2>&1 >> postsync.log
echo "mybaseimage:     $mybaseimage" 2>&1 >> postsync.log
echo "myrsyncimage:    $myrsyncimage" 2>&1 >> postsync.log
echo "myrootpartition: $myrootpartition" 2>&1 >> postsync.log

# Syntax fuer linbo_cmd synconly:
# /usr/bin/linbo_cmd synconly "<LINBO-Server-IP>" "<Cachepartition>" "<Basisimage>" "<Rsyncimage>" "<Bootpartition>" "<Rootpartition>"
/usr/bin/linbo_cmd synconly "$SERVERIP"         "$1"               "$mybaseimage" "$myrsyncimage" ""               "$myrootpartition"  2>&1 >> postsync.log

LG Max

Hallo Max,

hm… ja es sind 2 BS in der start.conf definiert - bzw. alle anderen (Vorlagen / Beispiele) sind mit # auskommentiert.

Und ja, jetzt wo ich nochmal genau lese

war sync:2 wohl doch richtig. Aber warum macht er das dann nicht ?!?

Vielleicht sollte ich es doch mal über den Postsync probieren. Dann muss man halt das vdi noch ein weiteres Mal auf den Server ablegen - wobei … du hast da ja gar kein vdi sondern ein cloop stehen… damit verstehe ich das noch nicht ganz.
Postsync kopiert doch nur Dateien an entsprechende Stellen im Dateisystem ?!?

Allerdings wurmt mich schon auch, warum linbo-remote nicht das macht, was ich ihm vorgebe…

Viele Grüße
Steffen

Hallo Steffen,

ok, ich verstehe nicht, wie Du das ohne .cloop machst…

Ich habe einfach meine virtuellen Maschinen erstellt und dann mit linbo ein .cloop aus der Partition für die virtuellen Maschinen gemacht.
Das wird dann im postsync eben mit linbo_cmd gesynct. Hat den Vorteil, dass das bei jedem Reboot gemacht wird, nicht nur, wenn Du linbo-remote von Hand oder script anstößt.

Da ich kein leoclient2 habe (bzw. damals gabs den noch nicht) syncte ich verschiedene Windoofse je nach Bedarf.

LG
Max

Hallo Max,

ok, ich verstehe nicht, wie Du das ohne .cloop machst…

mache ich ja nicht :wink:

Ich habe einfach meine virtuellen Maschinen erstellt und dann mit linbo
ein .cloop aus der Partition für die virtuellen Maschinen gemacht.

Yep. So mache ich das auch.

Das wird dann im postsync eben mit linbo_cmd gesynct.

Ah, linbo_cmd - das war mir entfallen.
Zugegeben nutze ich viele Funktionen, die Linbo eigentlich kann, nicht.

Hat den Vorteil,
dass das bei jedem Reboot gemacht wird, nicht nur, wenn Du linbo-remote
von Hand oder script anstößt.

Stimmt. Allerdings verlängert sich natürlich die Bootzeit, was beim
morgendlichen linbo-remote nicht stört.

Da ich kein leoclient2 habe (bzw. damals gabs den noch nicht) syncte ich
verschiedene Windoofse je nach Bedarf.

Bislang habe ich auch den Leoclient 1, aber mit einem Umstieg weg von
12.04 am Client wird’s dann Leoclient 2. Das ist eigentlich schon
fertig, nur will das Drucken unter 16.04 nach wie vor nicht wie es soll.

Ich frage mich aber schon, warum linbo-remote bei mir nicht 2
Partitionen / Betriebssysteme synct.

Viele Grüße
Steffen

Das Problem kommt mir bekannt vor. ich hatte auch schon mal mit mehreren Befehlen hintereinander experimentiert und dann festgestellt, dass es zuverlässiger läuft, wenn man die nacheinander absetzt. Also zunächst sync:2 (pause) und dann sync:1, start:1

Hallo Michael,

Das Problem kommt mir bekannt vor. ich hatte auch schon mal mit mehreren
Befehlen hintereinander experimentiert und dann festgestellt, dass es
zuverlässiger läuft, wenn man die nacheinander absetzt. Also zunächst
sync:2 (pause) und dann sync:1, start:1

da ich die Befehle ja nicht von Hand absetze die Frage:
Kann ich einen neun linbo-remote Befehl senden, auch wenn der Client
schon in Linbo steht?

Normalerweise weckt linbo-remote den Client ja erst mal auf und wartet
dann eine vorgegebene Zeit (-w)

Viele Grüße
Steffen

Klar kannst du … lass doch die -w Option für den zweiten Befehl weg?!