Bug 27807 - fsck moniert rückwärtslaufende Uhr nach KVM Suspend/Resume und Join
fsck moniert rückwärtslaufende Uhr nach KVM Suspend/Resume und Join
Status: CLOSED DUPLICATE of bug 36233
Product: UCS
Classification: Unclassified
Component: Virtualization - UVMM
UCS 3.0
Other Linux
: P5 minor (vote)
: ---
Assigned To: UCS maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-03 19:13 CEST by Dirk Wiesenthal
Modified: 2023-06-28 10:46 CEST (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
fsck geht schief und erfordert manuelles eingreifen (9.84 KB, image/png)
2012-07-03 19:13 CEST, Dirk Wiesenthal
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Wiesenthal univentionstaff 2012-07-03 19:13:28 CEST
Created attachment 4495 [details]
fsck geht schief und erfordert manuelles eingreifen

Das System fährt nach einem Reboot nicht mehr vollständig hoch. Grund: fsck
beschwert sich, dass das Dateisystem um Juli zum letzten Mal eingehangen wurde,
heute aber Mitte Juni ist. Die interne Uhr wurde wohl nicht richtig gesetzt.

Ich weiß nicht, welche Komponente das betrifft. Vielleicht ja einfach nur
ucs-kt-get oder das Image selbst?

Schritte zum Reproduzieren
ssh skepp
ucs-kt-get # 75
ucs-kt-view -H skepp # firefox abbrechen, ip einrichten
ssh 10.200.4.100
univention-upgrade
# im firefox über das system-setup-modul den join als slave durchführen
reboot

Ich weiß nicht, welcher dieser Schritte wirklich notwendig ist. Aber so kann
ich es immer reproduzieren
Comment 1 Florian Best univentionstaff 2012-07-04 08:24:43 CEST
Es gibt ab und zu Probleme mit VM's, die suspendet worden sind.
Ein Workaround wäre eventuell "rdate time.fu-berlin.de" vor dem reboot (bzw. nach dem starten einer suspendet VM). (?)
Comment 2 Philipp Hahn univentionstaff 2012-07-04 09:27:23 CEST
(In reply to comment #0)
> ucs-kt-get # 75
Da die Nummerierung sich ändern kann: (75) [UCS: 3.0-1 amd64 - Generic]

> # im firefox über das system-setup-modul den join als slave durchführen
> reboot

Das Problem ist hier, daß der Slave beim Join die aktuelle Zeit vom Master holt, damit diese die gleiche Zeit haben (was wichtig ist für den gemeinsamen Zugriff auf NFS). Wurde der Master "beendet und gespeichert", bleibt für ihn die Zeit stehen so daß nach dem nächsten Starten des Masters dessen Zeit start der Realzeit hinterherhinkt.

(In reply to comment #1)
> Es gibt ab und zu Probleme mit VM's, die suspendet worden sind.

Siehe Bug #25752 comment 1.

Die dort angegebene Lösung sorgt zumindest dafür, daß die VM sich nach einer gewissen Zeit (*) wieder selber synchronisiert. Ganz befriedigend ist die Lösung allerdings nicht, da daß meiner Beobachtung nach i.d.R. immer noch mehrere Stunden dauern kann.
Ein "invoke-rc.d ntp restart" sorgt augenblicklich für die richtige Zeit, aber hier fehlt noch eine Möglichkeit den KVM Suspend-Resume-Zyklus zu erkennen und das ganze (auf Wunsch) automatisch auszuführen. Ggf. bietet eine neuere Version von qemu/kvm diese Funktionalität, zumindest gibt es dort dann auch einen Guest-Agent (für Linux und Windows)
<http://wiki.qemu.org/Features/QAPI/GuestAgent>
<http://wiki.libvirt.org/page/Qemu_guest_agent>
Comment 3 Alexander Kläser univentionstaff 2012-07-06 10:27:29 CEST
Könnte denn eigentlich die Zeit via libvirt synchronisiert werden?
Comment 4 Philipp Hahn univentionstaff 2012-07-06 12:39:20 CEST
Mit neuere Versionen von QEMU und libvirt gibt es wohl mehr Möglichkeiten, das Verhalten der RTC zu konfigurieren:
<http://libvirt.org/formatdomain.html#elementsTime>
<http://qemu-buch.de/de/index.php/QEMU-KVM-Buch/_Virtuelle_Hardware/_Bus_RAM_ACPI_Clock_Graphic_Keyb_USB_Sound#System-Uhr>

Allerdings ist das nur die RTC, die Linux i.d.R. einmalig beim Starten ausliest und beim herunterfahren schreibt. Wir reden hier allerdings von einem Host-initiierten Suspend&Resume, was für den Gast völlig transparent geschieht, er also keine Chance hat das mitzubekommen. 
Deswegen die Idee mit dem Guest-Agent innerhalb der VM, dem dann libvirt von außen mitteilen kann, daß er was tun muß, z.B. die Uhrzeit des Betriebssystems neu stellen.
Comment 5 Philipp Hahn univentionstaff 2017-05-02 15:29:44 CEST

*** This bug has been marked as a duplicate of bug 36233 ***