Linbo: Sync führt manchmal zu leerer Partition

Hallo,

mal wieder ein komischer Fehler:

Ich habe ein virtuelles WinXP unter VBox erstellt, alle zugehörigen Dateien liegen im Verzeichnis /virtual, die in der fstab von der Partition sda5 gemountet wird.
df -h meldet, dass 8 von 10 GB belegt sind, sieben komma irgendwas davon durch die winxp.vdi.

Ich habe auf dem Musterrechner die Ubuntu-Partition sda1 sowie die „WinXP-Partition“ (eigentlich natürlich eine ext4 mit den VBox-Dateien) sda5 jeweils in ein cloop gepackt. Beide sind jeweils ca. 4.2 GB groß.

Dann habe ich die beiden Cloops auf einem weiteren Rechner gesynct, dauert normal lang.
Ubuntu startet, aber df -h meldet für das Verzeichnis /virtual alias sda5 eine Belegung von nur 35MB, meine Dateien fehlen darin (nur lost+found).

Dann habe ich auf dem Musterrechner das winXP-Cloop nochmal erstellt und hochgeladen, den anderen Client wieder gesynct, diesmal sind die Dateien unter /virtual da und die Partition ist mit 8GB gefüllt. Alles gut.

Nächster Client, syncen, Ubuntu läuft aber /virtual leer, nochmal syncen, /virtual leer.
Nächster Client, syncen, Ubuntu läuft aber /virtual leer, Zeit in der Schule abgelaufen, Sohn wartet in der Kita.

Was ist denn das jetzt wieder für ein merkwürdiger Fehler?

Grüße,
Stefan

Hallo Stefan

die /virtual wird nur gesynct wenn du entweder für diese Partition ein
Betriebsystem in linbo definierst und dieses syncst, oder du einen
postsync sync erstellst: das kann linbo auch.
Also ein: wenn ubuntu gesynct wird (sda2), dann synce auch sda5 mit
blabla.cloop

Wie das genau geht, weiß ich nciht: hab es nie benutzt…

LG

Holger

Hallo Holger,

Schon klar, so mache ich das ja seit Jahren. Sonst hätte es ja auch beim Client 2 (im 2. Versuch?) nicht funktioniert. Aber warum funktioniert es beim Client 3 beim 3. Versuch und beim Client 4 beim 1. trotzdem nicht?

Grüße,
Stefan

Hallo Stefan,

Schon klar, so mache ich das ja seit Jahren. Sonst hätte es ja auch beim
Client 2 (im 2. Versuch?) nicht funktioniert. Aber warum funktioniert es
beim Client 3 beim 3. Versuch und beim Client 4 beim 1. trotzdem nicht?

was sagen den die Logfiles?

LG

Holger

Hallo Holger,

Habe ich nichts Interessantes drin gefunden.
Nach mehrmaligem Neupartitionieren und Syncen (ohne jede Änderung am Cloop oder der start.conf oder so…) laufen jetzt alle 4 Smartboard-Rechner mit diesem Image, was auch immer das Problem war.

Hätte jetzt auf Probleme mit dem Switch oder so getippt, aber warum nur beim WinXP-Cloop und nie beim Ubuntu-Cloop? Jedenfalls: Wenn ich die Rechner hier in meinen Raum hochgeschleppt habe, liefen sie nach dem syncen alle, in anderen Räumen z.T. nicht. Vielleicht aber auch nur ein Zufall.

Grüße,
Stefan

Hallo Stefan,

Hätte jetzt auf Probleme mit dem Switch oder so getippt, aber warum nur
beim WinXP-Cloop und nie beim Ubuntu-Cloop? Jedenfalls: Wenn ich die
Rechner hier in meinen Raum hochgeschleppt habe, liefen sie nach dem
syncen alle, in anderen Räumen z.T. nicht. Vielleicht aber auch nur ein
Zufall.

das klingt schon nach Netzwerkproblemen.
Es kann, wenn du Glück hast, am Patchkabel von der Dose aus sein (das
hast du ja nicht mitgenommen, oder?), oder es liegt an der Dose … oder
an den Kabeln in der Wand … oder am Switch.

Am Besten mal den Switch wechseln und nochmal probieren.
Geht es dann, dann war es der Switch :slight_smile:

LG

Holger

Hallo,

das Chaos beim Partitionieren und Syncen geht weiter:

Folgendes Szenario:
Ich habe in den Sommerferien eine Rechnergruppe ubuntu20 erstellt. Wegen diverser Softwareprobleme bin ich nicht mehr dazu gekommen (trotz Ferienverkürzung auf 2 Wochen…), unser alten virtuelles WinXP auf dem neuen Client einzurichten, ich bin mit folgender, funtionierender ubuntu20.start.conf gestartet:

[LINBO]
Server = 10.0.0.1
Group = ubuntu20
Cache = /dev/sda2
RootTimeout = 600
AutoPartition = no
AutoFormat = no
AutoInitCache = no
DownloadType = torrent
BackgroundFontColor = white
ConsoleFontColorStdout = lightgreen
ConsoleFontColorStderr = orange
SystemType = bios64
KernelOptions = quiet splash dhcpretry=9

[Partition]
Dev = /dev/sda1
Label = ubuntu
Size = 30G
Id = 83
FSType = ext4
Bootable = yes

[Partition]
Dev = /dev/sda2
Label = cache
Size = 30G
Id = 83
FSType = ext4
Bootable = yes

[Partition]
Dev = /dev/sda3
Label = swap
Size = 8G
Id = 82
FSType = swap
Bootable = no

[Partition]
Label = data
Dev = /dev/sda4
Size =
Id = 83
FSType = ext4
Bootable = no

[OS]
Name = Ubuntu
Version = 20.04
Description = Ubuntu 18.04
IconName = ubuntu.png
Image =
BaseImage = ubuntu.cloop
Boot = /dev/sda1
Root = /dev/sda1
Kernel = /boot/vmlinuz
Initrd = /boot/initrd.img
Append = ro splash
StartEnabled = yes
SyncEnabled = yes
NewEnabled = yes
Autostart = no
AutostartTimeout = 5
DefaultAction = start
RestoreOpsiState = no
ForceOpsiSetup =
Hidden = yes

Jetzt habe ich den virtuellen WinXP-Client für VBox am Laufen. Die Einstellungsdateien für WinXP und die .vdi-Datei residieren auf sda5 (ext4-formatiert), das als /virtual in Ubuntu gemounted wird.
Folgendermaßen sieht die ubuntu20a.cloop.conf aus:

[LINBO]
Server = 10.0.0.1
Group = ubuntu20a
Cache = /dev/sda2
RootTimeout = 600
AutoPartition = no
AutoFormat = no
AutoInitCache = no
DownloadType = torrent
BackgroundFontColor = white
ConsoleFontColorStdout = lightgreen
ConsoleFontColorStderr = orange
SystemType = bios64
KernelOptions = quiet splash dhcpretry=9

[Partition]
Dev = /dev/sda1
Label = ubuntu
Size = 30G
Id = 83
FSType = ext4
Bootable = yes

[Partition]
Dev = /dev/sda2
Label = cache
Size = 30G
Id = 83
FSType = ext4
Bootable = yes

[Partition]
Dev = /dev/sda3
Label = swap
Size = 8G
Id = 82
FSType = swap
Bootable = no

[Partition]
Bootable = no
FSType =
Id = 5
Size =
Label =
Dev = /dev/sda4

[Partition]
Bootable = no
FSType = ext4
Id = 83
Size = 10G
Label = virtwinxp
Dev = /dev/sda5

[Partition]
Label = data
Dev = /dev/sda6
Size =
Id = 83
FSType = ext4
Bootable = no

[OS]
Name = Ubuntu
Version = 20.04
Description = Ubuntu 20.04
IconName = ubuntu.png
Image =
BaseImage = ubuntu20.cloop
Boot = /dev/sda1
Root = /dev/sda1
Kernel = /boot/vmlinuz
Initrd = /boot/initrd.img
Append = ro splash
StartEnabled = yes
SyncEnabled = yes
NewEnabled = yes
Autostart = no
AutostartTimeout = 5
DefaultAction = start
RestoreOpsiState = no
ForceOpsiSetup =
Hidden = yes

[OS]
Name = virt. Windows
Version = XP
Description = Windows XP
IconName = win7.png
Image =
BaseImage = winxp.cloop
Root = /dev/sda5
Boot = /dev/sda5
Kernel = auto
Initrd =
Append =
StartEnabled = no
SyncEnabled = yes
NewEnabled = yes
Hidden = yes
Autostart = no
AutostartTimeout = 5
DefaultAction = sync

Auf dem Musterclient in dieser Gruppe ubuntu20a läuft alles. Die vdi-Datei von VBox im Verzeichnis /virtual ist über 5GB groß, ist OK so.

Jetzt habe ich die beiden neuen cloops ubuntu20.cloop und winxp.cloop auf dem Musterclient erstellt. Die ubuntu20.cloop ist normal groß und funktioniert auf anderen Clients problemlos.

Die winxp.cloop ist nach dem Erstellen (2x ausprobiert) nur 178MB groß. Nach dem Syncen auf einem anderen Client ist unter /virtual nur das Verzeichnis lost-found zu finden, sonst sind da keine Dateien. Bei der Image-Größe ja auch kein Wunder (wobei für 0 Dateien 178MB wiederum etwas viel sind…).

Als weiteres Problem kommt immernoch hinzu:
Wenn ich die ehemals zur Gruppe ubuntu20 gehörenden Clients als ubuntu20a-Client partitionieren will, gibt es eine Fehlermeldung beim Erstellen der Partition sda5 („nicht bereit“ oder so). Wenn ich in der Linbo-Konsole

dd if=/dev/zero of=/dev/sda bs=512 count=1

ausführe, neu starte, wieder partitioniere, dann läuft es ohne Fehler durch…

Wie komme ich zu einem funktionierenden winxp.cloop?

Grüße, Stefan

Hallo Stefan,

bitte kontrollier mal am Vorlagenclient für das XP cloop die Label der
Partitionen.
Das geht vom ubuntu aus oder von linbo aus mittels
blkid
oder
blkid /dev/sdaX X=Partitionsnummer bei dir 5

LG

Holger

Hallo Holger,

OK, das ist komisch: Ich hatte meinen Musterrechner auch mit den ubuntu20a-Einstellungen partitioniert, aber blkid meldet jetzt als label für sda5 „data“ - genauso wie für sda6! Hat da beim Erstellen die vorherige Partitionierung wieder reingepfuscht? Wobei ich mir eigentlich relativ sicher bin, dass ich die Partitionstabelle zuvor mit gparted gelöscht hatte…

Ich habe also ubuntu gestartet, gparted aufgerufen, sda5 umounted, virtwinxp als neues Label eingegeben, Änderungen gespeichert, neu gestartet, Linbo das Image neu erstellen lassen, cloop auf dem Server ist jetzt 5GB groß - so weit, so gut.
Den Client gesynct, lädt großes Image runter, synct ein ganzes Weilchen, dann Ubuntu starten, Blick in /virtual und siehe da:
Bis auf lost+found ist /virtual leer…

blkid - sda5 heißt auch hier data, umbenannt, gesynct, gestartet, das virtuelle WinXP läuft.

Also die eine Sache ist geklärt.

Aber die andere Sache bleibt:
Warum klappt das Partitionieren nicht so, wie es soll? Warum die Probleme mit sda5? Ich hab ja nicht vor, auf jedem Rechner nach dem Partitionieren noch das falsche Label anzupassen…

Viele Grüße,
Stefan

Hallo!
Das hatte ich auch, erst gestern wieder. Wenn die Partitionen irgendwie zu „ähnlich“ oder so sind (kann jetzt nicht sagen, woran es lag, dass manche Partitionen nicht angelegt wurden, evtl. hat es etwas mit der erweiterten Partition zu tun), dann geht das partitionieren nicht. Ich mach dann von Hand in linbo mit fdisk alle Partitoinen platt, starte neu und dann geht Linbo wieder.
Kontrolliere auch mal die start.conf, die in der cache-partition liegt. Ich hatte auch einmal den Fall, dass dort die Größen der Partitionen verschwunden waren und das Partitioniern deshalb nicht ging. Neustart und die richtige start.conf war dort.

Beim Syncen einer zweiten Partition lasse ich im postsync alle Ausgaben in eine Datei postsync.log pipen, dann kann man später die cache partition mounten und reinschauen, was die Probleme sind. Ggf. hat da auch schon etwas beim partitionieren nicht geklappt?

LG Max

Hallo,

der Fall, dass sich die Partitionierung ändert, ist jetzt nicht der Alltagsfall für linbo, aber auch nicht völlig außergewöhnlich.

Deshalb (ich wiederhole mich da) meine Bitte:
Könnte man nicht eine Funktion in linbo einbauen, die das zuverlässig über die Bühne bringt? Bisher klappt das ja offensichtlich nicht. Jeden PC erst in der Konsole (viel Getippe) oder mit gparted-Live (für Mausschubser wie mich) behandeln zu müssen, ist bei mehr als hundert PCs mehr als lästig!

Viele Grüße,
Stefan

Hallo zusammen,

dazu gab es doch Ticket im Linbo-Repo und einen PR. Thomas hatte entschieden, wie er es umsetzen will und das Ticket geschlossen.
Es scheint aber noch nicht in den aktuellen Linbos eingebaut zu sein. Zumindest bei unserem (6.2) ist der Partitionierungs-Bug immer noch vorhanden.

Viele Grüße
Thomas

Hallo,

wäre nett, wenn das dann auch mal freigegeben würde. Mein Kollege und ich sind echt am verzweifeln, weil inzwischen (warum auch immer) auch das Löschen der Partitionstabelle mit gparted-Live nicht mehr hilft. Trotz korrektem Label der Partition sda5 als virtwinxp in der start.conf heißt die Partition sda5 auf dem Client nach dem Partitionieren data (genauso wie die sda6).

Damit das winxp-cloop korrekt gesynct wird, muss ich jetzt Ubuntu starten, linuxadmin anmelden, gparted starten, die Partition aushängen, umbenennen, ausführen, neustarten, syncen. An jedem einzelnen Rechner. Aaaaaaaaaarghhhhh.

Ach ja, und jetzt hat die Restgruppe ubuntu20 auch noch beschlossen, nachdem ich einen Teil der Rechner in eine neue Gruppe ubuntu20a aufgenommen habe, keine Anmeldung am Client unter Ubuntu mehr zu akzeptieren. Musste sie erst in die neue Gruppe aufnehmen und syncen, damit sich die Kollegen anmelden konnten. War ein netter Start in den Montag morgen. Warum ändert sich etwas bei einer Rechnergruppe, deren Konfigurationsdateien (start.conf und cloop) ich gar nicht angefasst habe, die nicht gesynct wurden oder sonst was? Die liefen am Freitag, am Montag nicht mehr. Systemzeit war korrekt.

Grüße,
Stefan