Synchronisation von OFFLINE-Clients (Notebooks)

Moin,

seit einiger Zeit werden bei uns durch ein Linbo-Update (ich weiß nicht genau welches, aber auf jeden Fall 2.3.XX) Clients, die OFFLINE gebootet werden, also z.B. Notebooks nach dem Synchronisieren nicht mehr gestartet.

Das heißt, sie bleiben dann einfach im Linbo stehen, als ob man linbo-remote ... -c sync:1 abgesetzt hätte, aber ohne start:1.
Stelle ich nun die start.conf auf Default Action = Start um, booten die Clients in das Betriebssystem.

Zur Zeit müssen wir also alle Notebooks unsynchronisiert starten lassen, was natürlich dazu führt, dass sie über die Zeit zugemüllt werden oder wir einen erhöhten Wartungsaufwand haben (40-50 Geräte).

Hat auch jemand von euch das Problem, soll das so sein und kann man das irgendwie umgehen?

Grüße
Valentin

Hallo Valentin,

welche linbo Version hast du jetzt?

dpkg -l | grep linbo

Was steht in der start.conf.
Was steht in der /var/linbo/boot/grub/.cfg

LG

Holger

1 „Gefällt mir“

Hallo Holger,

z.Z. ist Linbo 2.3.31-0 installiert.

Eine der start.confs:

# LINBO start.conf Beispiel mit
# Windows 7 auf Partition 1 (NTFS)
# Daten auf Partition 2
# Cache auf Partition 3
# Festplatte 500G

[LINBO]                  # globale Konfiguration
SystemType = bios
KernelOptions = acpi=off
Cache = /dev/sda3        # lokale Cache Partition
Server = 10.16.1.1       # IP des TFTP-Servers, der Images vorhaelt
Group = notebooks_tmp253
RootTimeout = 600        # automatischer Rootlogout nach 600 Sek.
AutoPartition = no       # automatische Partitionsreparatur beim LINBO-Start
AutoFormat = no          # kein automatisches Formatieren aller Partitionen beim LINBO-Star
AutoInitCache = no       # kein automatisches Befüllen des Caches beim LINBO-Start
DownloadType = multicast   # Image-Download per torrent|multicast|rsync, default ist rsync
BackgroundFontColor = white         # Bildschirmschriftfarbe (default: white)
ConsoleFontColorStdout = lightgreen # Konsolenschriftfarbe (default: white)
ConsoleFontColorStderr = orange     # Konsolenschriftfarbe für Fehler-/Warnmeldungen (default: red)

[Partition]              # Start einer Partitionsdefinition, Windows XP auf NTFS
Dev = /dev/sda1          # Device-Name der Partition (sda1 = erste Partition auf erster Platte)
Size = 85899346          # Partitionsgroesse in kB (Bsp.: ca. 40G)
Id = 7                   # Partitionstyp (83 = Linux, 82 = swap, c = FAT32, 7 = NTFS, ...)
FSType = ntfs            # Dateisystem auf der Partition (NTFS)
Bootable = no            # Bootable-Flag

[Partition]              # Start einer Partitionsdefinition, Windows 7 auf NTFS
Dev = /dev/sda2          # Device-Name der Partition (sda2 = zweite Partition auf erster Platte)
Size = 10485760          # Partitionsgroesse in kB (Bsp.: ca. 10G)
Id = 7                   # Partitionstyp (83 = Linux, 82 = swap, c = FAT32, 7 = NTFS, ...)
FSType = ntfs            # Dateisystem auf der Partition (NTFS)
Bootable = no            # Bootable-Flag

[Partition]              # Definition der Cache-Partition
Dev = /dev/sda3          # Device-Name der Partition (sda3 = dritte Partition auf erster Platte)
Size =                   # Partitionsgroesse in kB (Bsp.: keine Angabe = Rest der Platte, ca. 30G)
Id = 83                  # Partitionstyp (83 = Linux, 82 = swap, c = FAT32, ...)
FSType = ext4            # Dateisystem fuer Cache-Partition (ext4)
Bootable = no            # Bootable-Flag

[OS]                           # Beginn einer Betriebssystemdefinition
Name = Win7                    # Name des Betriebssystems
Version =                      # Version (optional, frei waehlbar)
Description = Windows 7 SP1    # Beschreibung
IconName = winxp.png           # Icon für die Startseite, muss unter /var/linbo/icons abgelegt sein
Image =                        # kein differentielles Image definiert
BaseImage = notebooks_tmp253.cloop    # Dateiname des Basisimages (Erweiterung .cloop)
Boot = /dev/sda1               # Partition, die Kernel & Initrd enthaelt
Root = /dev/sda1               # Rootpartition, in die das BS installiert ist
Kernel = grub.exe              # Relativer Pfad zum Kernel, bei Windows grub.exe
Initrd =                       # Relativer Pfad zur Initrd, bei Windows immer leer
Append =                       # bleibt bei Windows leer
StartEnabled = yes             # "Start"-Button deaktiviert
SyncEnabled = yes              # "Sync+Start"-Button anzeigen
NewEnabled = yes               # "Neu+Start"-Button anzeigen
Hidden = yes                    # zeige OS-Reiter an
Autostart = yes          # automatischer synchronisierter Start dieses Betriebssystems: yes|no
DefaultAction = start         # DefaultAction bei Autostart: start|sync|new
AutostartTimeout = 0           # Timeout in Sekunden für Benutzerabbruch bei Autostart

Eine der grub.cfgs:

# global part of group specific grub.cfg template for linbo net boot
# thomas@linuxmuster.net
# 20171107
#

# if you don't want this file being overwritten by import_workstations remove the following line:
# ### managed by linuxmuster.net ###

# edit to your needs
set default=0
set timeout=0
set fallback=1

set gfxpayload=800x600x16

# 32bit pae, non pae or 64bit kernel
if cpuid -l; then
 set linbo_kernel=/linbo64
 set linbo_initrd=/linbofs64.lz
elif cpuid -p; then
 set linbo_kernel=/linbo
 set linbo_initrd=/linbofs.lz
else
 set linbo_kernel=/linbo-np
 set linbo_initrd=/linbofs-np.lz
fi

# theme settings (modify for custom theme)
set theme=/boot/grub/themes/linbo/theme.txt
#set font=/boot/grub/themes/linbo/unifont-regular-16.pf2

# load theme
#if [ -e "$theme" -a -e "$font" ]; then
# loadfont "$font"
 export theme
#fi

clear

# find linbo cache partition
set cachelabel=""
if [ -n "$cachelabel" ]; then
  search --label "$cachelabel" --set cacheroot
fi
if [ -z "$cacheroot" ]; then
  search --file /start.conf --set cacheroot
fi
if [ -z "$cacheroot" ]; then
  search --file "$linbo_initrd" --set cacheroot
fi
if [ -n "$cacheroot" ]; then
  set root="$cacheroot"
else
  set root="(hd0,3)"
fi

# linbo part, boot local or net (default #0)
menuentry 'LINBO' --class linux {

 echo LINBO $bootflag for group notebooks_tmp253
 echo

 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel acpi=off $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 else
  if [ "$grub_platform" = "pc" ]; then
   set ipxe="/ipxe.lkrn"
  fi
  if [ -e "$ipxe" ]; then
   echo -n "Initiating pxe boot ..."
   linux16 $ipxe dhcp
   boot
  fi
 fi

}
# group specific grub.cfg template for linbo net boot, should work with linux and windows operating systems
# thomas@linuxmuster.net
# 20171107
#

# start "Win7" directly
menuentry 'Win7 (Start)' --class unknown_start {

 set oslabel=""
 if [ -n "$oslabel" ]; then
  search --label "$oslabel" --set osroot
 fi
 if [ -n "$osroot" ]; then
  set root="$osroot"
 else
  set root="(hd0,1)"
 fi
 set win_efiloader="/EFI/Microsoft/Boot/bootmgfw.efi"

 if [ -e /vmlinuz -a -e /initrd.img ]; then
  linux /vmlinuz root=/dev/sda1 
  initrd /initrd.img
 elif [ -e /vmlinuz -a -e /initrd ]; then
  linux /vmlinuz root=/dev/sda1 
  initrd /initrd
 elif [ -e /grub.exe -a -e /noinitrd_placeholder ]; then
  linux /grub.exe root=/dev/sda1 
  initrd /noinitrd_placeholder
 elif [ -e /grub.exe ]; then
  linux /grub.exe root=/dev/sda1 
 elif [ -s /boot/grub/grub.cfg ] ; then
  configfile /boot/grub/grub.cfg
 elif [ "$grub_platform" = "pc" ]; then
  if [ -s /bootmgr ] ; then
   ntldr /bootmgr
  elif [ -s /ntldr ] ; then
   ntldr /ntldr
  elif [ -s /grldr ] ; then
   ntldr /grldr
  else
   chainloader +1
  fi
 elif [ -e "$win_efiloader" ]; then
  chainloader $win_efiloader
  boot
 fi

}

# boot LINBO, sync and then start "Win7"
menuentry 'Win7 (Sync+Start)' --class unknown_syncstart {

 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo LINBO $bootflag for group notebooks_tmp253
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel acpi=off linbocmd=sync:1,start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

# boot LINBO, format os partition, sync and then start "Win7"
menuentry 'Win7 (Neu+Start)' --class unknown_newstart {

 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo LINBO $bootflag for group notebooks_tmp253
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel acpi=off linbocmd=format:1,sync:1,start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

Grüße
Valentin

Hallo Valentin,

bei meinen offline Geräten steht

edit to your needs

set default=2
set timeout=3
set fallback=0

2 für den synchronisierten Start des 1. Betriebssystems, 3 Sekunden Zeit bevor linbo synchronisiert und 0 für den fallback zu linbo. Die Zeile # ### managed by linuxmuster.net ### habe ich gelöscht oder in # ### not managed by linuxmuster.net ### geändert, da ansonsten diese Einstellungen bei jedem ‘import_workstation’ wieder mit den Werten überschrieben werden, die momentan bei dir stehen.

Viele Grüße

Wilfried

Hallo Wilfried,

stimmt, da habe ich gar nicht dran gedacht. Danke!
So müssten wir zwar immer die grub.cfg umstellen, wenn wir was am Image verändern wollen, aber dann werden wenigstens die Notebooks synchronisiert.
Wundert mich trotzdem immer noch, warum auf einmal die Notebooks nach dem Synchronisieren im Linbo stehen bleiben und nicht wie früher ins Betriebssystem durchbooten.

Grüße
Valentin

Hallo Valentin,

stimmt, da habe ich gar nicht dran gedacht. Danke!
So müssten wir zwar immer die grub.cfg umstellen, wenn wir was am Image
verändern wollen, aber dann werden wenigstens die Notebooks synchronisiert.

… ne müßt ihr nicht: wenn der Timeout ungleich Null ist, dann braucht
ihr nicht umstellen.

… wobei ich bei Windows immer 3 nehmen würde (neu+start) und nicht 2
(sync+start), da sync+start mit manchen Dateisystembesonderheiten
neuerer Windowsversionen Probleme haben kann, aber vor allem, weil
neu+start schneller ist als sync+start (hab ich auch 4 Hardwareklassen
getestet, weil ein Kollege meinte, das sei so)

Wundert mich trotzdem immer noch, warum auf einmal die Notebooks nach
dem Synchronisieren im Linbo stehen bleiben und nicht wie früher ins
Betriebssystem durchbooten.
mich auch, da du in der start.conf

Autostart = yes
DefaultAction = start

drin stehen hast… das sollte also funktionieren.

Kannst du mal alles so lassen und einen Client komplett neu
partitionieren mit linbo und dann syncen?
Geht der dann so wie er soll?

Wurde nach Änderungen an der start.conf ein import-workstations gemacht?

LG

Holger

Hallo Holger,

bei mir dauert ‘neu + start’ ca. dreimal so lange wie ‘sync + start’. Es handelt sich allerdings um Win 7 und nicht um 10. Was mich noch interessieren würde: Wie lange dauert es durchschnittlich bei einer Win 10 Installation vom Einschalten des Rechners bis zum Login?

Viele Grüße
Wilfried

Hallo Wilfried,

bei mir dauert ‘neu + start’ ca. dreimal so lange wie ‘sync + start’. Es
handelt sich allerdings um Win 7 und nicht um 10. Was mich noch
interessieren würde: Wie lange dauert es durchschnittlich bei einer Win
10 Installation vom Einschalten des Rechners bis zum Login?

mit SSD 3 Minuten

LG

Holger

Hallo zusammen,
ich bastele immer noch an meiner 1. Laptopklasse. Nachdem ich es mit Win 10 (UEFI) nicht hinbekommen habe, bin ich zurück bei Win 7. Soweit ist alles gut. Nun ist mir aufgefallen: Wenn das Notebook offline ist, dann starten weder Sync noch Neu den Rechner. Man kann zwar syncen, aber danach bleibt er - wie hier beschrieben - einfach ohne Fehlermeldung stehen. Es erfolgt kein Neustart. Ich habe das auf die Schnelle bei einem Lehrerrechner (Normale Rechner, andere Hardwareklasse, Win 7) probiert. Selbes Phänomen. Nur fällt es da nicht auf, weil niemand das Netzwerkkabel abzieht.

Linbo und PaedMl sind aktuell (kein Testing, sondern “normal”)

Die Rechner werden von Linbo verwaltet. Also diese ### Zeile ist drin in der start.conf
Die start.conf wird mit Netzwerkkabel auch genau so auf den Rechner übertragen und liegt in /cache.

Bei mir es so gewollt: Boot von der Platte, dann die Auswahl zwischen Sync, Start und Neu bei den Notebooks.

Ich habe den Tipp von oben mit Autostart befolgt. Auch dann kommt nach dem Sync kein Neustart.

@Holger: Das sind Dell Latitude 6430 mit normaler Festplatte. Sync dauert in einem satt großen Image 4 min. Bei “Neu” habe ich nach 10 Minuten nicht mehr hin gesehen. Der von Dir erwähnte Geschwindigkeitsvorteil gilt dann vermutlich nur bei SSDs. Also genauso wie bei Wilfried.

Einzig mit “Start” kann man die Rechner ohne Netzwerkkabel starten. Mit Netzwerkkabel funktioniert alles wie gewünscht.

Das sieht mir nach einem ziemlichen Bug aus oder übersehe ich etwas?

Gruß,
Markus

Hallo Markus,

bitte sync mal einen deiner Rechner und versuch ihn zu starten (ohne Kabel).
Wenn das nicht geht (was wir ja erwarten), dann leg eien Windows DVD
rein und mach die Startreparatur, bis das Ding bootet.
Wenn es nun wieder bootet, dann erstell ein neues Image und leg es auf
den Server.
Versuche dann mit einem Cleint der das neue Image hat nochmal den
offline sync.

Hast du den hybriden hibernationsmodus in Windows (7 und 10) abgeschaltet?
Das ist sehr wichtig.

LG

Holger

Hallo Holger,
nur dass wir uns jetzt nicht missverstehen: Wenn ich auf Start drücke dann bootet der Rechner mit und ohne Kabel. Nur nach Sync oder Neu kommt keine Fehlermeldung, aber der reboot bleibt aus.
Soll ich da wirklich ein neues Image erstellen?

Zum Hibernate: Ich kann nochmal schauen, aber ich bin eigentlich nach Anleitung vorgegangen. Darum würde ich sagen: Ist zu 99,9% aus.

Ich denke, es liegt an Linbo. Der müsste doch nach dem sync einen reboot auslösen. Der kommt nicht.

Hallo Markus,

nur dass wir uns jetzt nicht missverstehen: Wenn ich auf Start drücke
dann bootet der Rechner mit und ohne Kabel. Nur nach Sync oder Neu kommt
keine Fehlermeldung, aber der reboot bleibt aus.

Wenn du den Rechner nun neustartest (geht das noch über den Knopf in
linbo?) und dann „start“ drückst: startet er dann?

Zum Hibernate: Ich kann nochmal schauen, aber ich bin eigentlich nach
Anleitung vorgegangen. Darum würde ich sagen: Ist zu 99,9% aus.

reicht dir das?
Führ zur Sicherheit auf dem Cleint vor dem Image erstellen in einem
Terminal der „als Administrator“ getartet wurde diesen Befehl aus:

powercfg /H off

Welche linbo Version hast du den?

Auf dem Server wird dir das bei diesem Befehl angezeigt:

dpkg -l | grep linbo

LG

Holger

Hallo @Rupprecht,

hast mal versucht, Sync bzw. Neu+Sync von der Console aus zu starten? Evtl. bekommst du da noch weitere Hinweise. Was steht denn so in dem kleinen Konsolenfenster, wenn du Sync machst?

Du kannst dich per linbo-ssh am Client anmelden und dann linbo_wrapper sync:1,start:1 aufrufen.

vG Stephan

Hallo,
@Holger
Ich schalte den Rechner ein und drücke auf Sync: Das einzige, was nicht grün ist und auf einen Fehler hindeutet ist:
Restauriere NTFS-ID ntfs.id
tar: short read
Alles andere ist grün und “ok”
Nachdem der Sync vorbei ist und der Rechner aber unter Linbo stehen bleibt, drücke ich Start und der Rechner fährt sofort hoch.
Zum Hypernate:
powercfg /H off
Fehler beim Wechseln in den Ruhezustand: Die Anforderung wird nicht unterstützt.
Auch wenn ich in den Energieoptinen unter “Energie sparen” nachsehe, gibt es dort nur “Zeitgeber zur Aktivierung zulassen”. Der Punkt “Ruhezustand nach” ist nicht zu sehen. Daher gehe ich davon aus, dass Hibernate aus ist.
dpkg -l|grep linbo => 2.3.43-0

@zefanja
Wenn ich das Netzwerkkabel stecken habe, geht ja alles. Also scheidet linbo_ssh aus. Ich habe mich gerade mal ohne Netzwerkkabel unter Linbo unter Imaging an der Konsole anfgemeldet. Dort nimmt er linbo_wapper sync:1,start:1 nicht. Es geht nur ein Befehl. Gerade läuft linbo_wrapper sync:1

Da kommt der selbe ellenlange Text, der immer kommt. Am Ende: Speichere sämtliche logs im cache. Und dann Ende.

Ich war gerade in einem Computerraum und habe die dritte Hardwareklasse getestet. Selbes Ergebnis: Mit abgezogenem Netzwerkkabel gehen Sync und Neu nur bis zu dem Punkt, wo der Rechner starten sollte.

Wie sieht es bei euch aus? Zieht doch einfach mal ein Netzwerkkabel ab. Ich würde den Tisch rund beissen, wenn es bei euch geht.

@Holger: Soll ich jetzt wirklich eine Windowsreparatur durchführen an einem Rechner der einwandfrei geht und dann ein neues Image bauen, wenn sich das Problem an drei verschiedenen Hardwareklassen zeigt (bzw. nicht zeigt, weil dort immer ein Netzwerkkabel steckt).

Gruß,
Markus

Ich habe nun weiter experimentiert: Wenn man unter linbo unter Imaging in der Konsole eingibt:
linbo_wrapper sync:1 start:1
also ohne Komma, dann startet er nach dem Sync (ohne Netzwerkkabel).

Vielleicht liegt hier der Bug. Komma da oder nicht da, den von linbo-remote kenne ich es auch mit Komma.

Gruß,
Markus

Hallo Markus,

@zefanja https://ask.linuxmuster.net/u/zefanja
Wenn ich das Netzwerkkabel stecken habe, geht ja alles. Also scheidet
linbo_ssh aus. Ich habe mich gerade mal ohne Netzwerkkabel unter Linbo
unter Imaging an der Konsole anfgemeldet. Dort nimmt er linbo_wapper
sync:1,start:1 nicht. Es geht nur ein Befehl. Gerade läuft linbo_wrapper
sync:1

Da kommt der selbe ellenlange Text, der immer kommt. Am Ende: Speichere
sämtliche logs im cache. Und dann Ende.

und wenn du dann
linbo_wrapper start:1
machst?

Wobei ich bei „geht nur ein Befehl“ schon hellhörig werde: wie sieht das
den aus, wenn nur ein Befehl geht.
Sagt eer was?
Oder arbeitet er los, nur hört er nach dem ersten auf?
Und das sieht genau so aus wie wenn man nur den ersten macht?

Wie sieht es beu euch aus? Zieht doch einfach mal ein Netzwerkkabel ab.
Ich würde den Tisch rund beissen, wenn es bei euch geht.

… mach ich nächste Woche mal: ich schreib dir dann, ob du einen
weichholztisch suchen mußt :slight_smile:

@Holger https://ask.linuxmuster.net/u/holger: Soll ich jetzt wirklich
eine Windowsreparatur durchführen an einem Rechner der einwandfrei geht
und dann ein neues Image bauen, wenn sich das Problem an drei
verschiedenen Hardwareklassen zeigt (bzw. nicht zeigt, weil dort immer
ein Netzwerkkabel steckt).

… ich würde sagen, du hast deinen Punkt gut herausgearbeitet :slight_smile:
In der Situation jetzt würde ich auch kein neues Image erstellen.

Wir können aber an noch eine Stelle schauen:
Ist auf dem Server eine Datei namens:
.cloop.macct
vorhanden?
Liegt diese Datei auch im Cache?

LG

Holger

Hallo Markus,

Ich habe nun weiter experimentiert: Wenn man unter linbo unter Imagaing
in der Konsole eingibt:
linbo_wrapper sync:1 start:1
also ohne Komma, dann startet er nach dem Sync (ohne Netzwerkkabel).>
Vielleicht liegt hier der Bug. Komma da oder nicht da.

vielleicht, aber ich meine „mit Komma“ war das noch nie getrennt: das
ist in linbo-remote so, aber im wrapper war es schon immer ein Leerzeichen.

LG

Holger

kann ich bestätigen. Genauso war es schon immer (die letzten 5 Jahre) :slight_smile:

Dann fährt der Rechner hoch.

Da steht:
Befehl: sync
Parameter: 1,start
Kommentar:1
1,start is not an Integer

:wink:

Ich komme jetzt gerade nicht an eines der Notebooks heran, aber imho zeigen alle Hardwareklassen das gleiche Verhalten.
Der Lehrerrechner vor dem ich gerade sitze, hat die macct Datein auf dem Server, in /cache liegt sie nicht.
In /cache liegen nur .complete .desc .info .reg. und .torrent

Der Inhalt ist:
dn: uid =@@compname@@ usw
changtype: modify
replace: sambaNTPassword
sambaNTPassword: Lange Hexzeichenkette.
Der Inhalt scheint bei allen macct gleich zu sein.

Gruß,
Markus

Hallo Markus,

Ist auf dem Server eine Datei namens:
.cloop.macct
vorhanden?
Liegt diese Datei auch im Cache?

Ich komme jetzt gerade nicht an eines der Notebooks heran, aber imho
zeigen alle Hardwareklassen das gleiche Verhalten.
Der Lehrerrechner vor dem ich gerade sitze, hat die macct Datein auf dem
Server, in /cache liegt sie nicht.
In /cache liegen nur .complete .desc .info .reg. und .torrent

welche Rechte hat die Datei den auf dem Server?
Bei mir:
ls -al /var/linbo/semwin10-800.cloop.macct
-rw------- 1 root root 154 Jan 4 2018 /var/linbo/semwin10-800.cloop.macct

Ich mach gerade Clients im Seminar an um zu schauen, ob die Datei im
Cache liegt…

… nö, ist bei meinen Clients auch nicht auf dem Client.

LG

Holger