Programme von Netzlaufwerken crashen nach Upgrade von Windows 7

Problem

Nach dem (erfolgreichen) Update von Windows 7 auf Windows 10 stürzen auf einigen Arbeitsstationen auf einmal Programme ab, die „jahrelang“ völlig stabil liefen. Betroffen sind Prgoramme, die von Netzlaufwerken gestartet werden oder von Netzlaufwerken und UNC-Pfaden DLLs (nach)laden. Betroffen sind Windows 8/8.1 und hauptsächlich Windows 10.

Lösung

Seit Windows 8 werden offene SMB-Sitzungen zu Netzlaufwerke und UNC-Pfaden nach einer gewisser Leerlaufzeit (standardmäßig 15 Minuten) getrennt (autodisconnect und keepconn) um den Fileserver zu entlasten. Bei „moderner“ Software und Programmen die alle benötigten Bestandteile nur einmal laden ist das kein Problem – schwierig wird es bei klassischen Programmen die davon ausgehen, das eine SMB-Sitzung „ewig“ offen bleibt.

Die entsprechenden Werte kann man per Registry (oder via GPO) anpassen:

HKLM\System\CurrentControlSet\services\LanmanWorkstation\Parameters

ein DWORD-Wert „KeepConn“ mit dem Wert „FFFF“ (HEX) Anlegen und zudem unter

HKLM\System\CurrentControlSet\services\LanmanServer\Parameters

ein DWORD „autodisconnect“ mit dem Wert „FFFFFFFF“ (HEX) Anlegen.

Ergänzend: Bei Netzlaufwerken, welche per GPO verteilt werden, kann auch das Ändern der Richtlinie von „Ersetzen“ auf „Aktualisieren“ helfen. Die Einstellung „Element entfernen, wenn es nicht mehr angewendet wird“ ist dann leider nicht mehr möglich, aber Windows behält dann über die Anwdung einer GPO hinweg die Laufwerksverbindung bei.

VMware vCenter Server – SQL Datenbank voll („An unrecoverable problem has occurred“)

Problem:

Der vCenter Server wird standardmäßig mit einem SQL-Express ausgeliefert, hierbei ist (unter 2008 R2) die Datenbank auf maximal 10GB limitiert.
Wenn diese Größe erreicht wird, gibt es verschiedene Symptome. z.B. ist keine Anmeldung am vCenter Server mehr möglich, (Veeam)-Sicherungen schlagen fehl, der Dienst „VMware VirtualCenter Server“ ist beendet oder in der Ereignisanzeige tauchen folgende einträge auf:

An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) "ODBC error: (42000) - [Microsoft][SQL Server Native Client 10.0][SQL Server]Could not allocate space for object 'dbo.VPX_HOST_VM_CONFIG_OPTION'.'PK_VPX_HOST_VM_CONFIG_OPTION' in database 'VIM_VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup." is returned when executing SQL statement "INSERT INTO VPX_HOST_VM_CONFIG_OPTION WITH (ROWLOCK) (HOST_ID, CONFIG_OPTION_VER, DATA, ARRAY_INDEX, CONFIG_OPTION_DESC, CREATE_SUPPORTED_FLG, DEFAULT_CONFIG_OPTION_FLG, RUN_SUPPORTED_FLG, UPGRADE_SUPPORTED_FLG) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"

(Event-Quelle: MSSQL$SQLINSTANZ; Event-ID: 1827)
Could not allocate space for object 'dbo.VPX_HOST_VM_CONFIG_OPTION'.'PK_VPX_HOST_VM_CONFIG_OPTION' in database 'VIM_VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

(Event-Quelle: VMware VirtualCenter Server; Event-ID: 1000)

Lösung:

  1. Zunächst die Datenbankaufbewahrungsrichtlinie anpassen
    1. Falls eine anmeldung am vCenter Server noch möglich ist mit dem vSphere Client verbinden, unter Verwaltung -> vCenter Server-Einstellungen die Datenbankaufbewahrungsrichtlinie anpassen und danach den VMware VirtualCenter Server-Dienst beenden vcenter_datenbankaufbewahrungsrichtline_client
    2. Ist eine Anmeldung nicht mehr möglich, z.B. weil der Dienst nicht gestartet werden kann, muss die Änderung direkt in der Datenbank vorgenommen werden:
      1. Mit einem SQL Management Studio auf den SQL-Server verbinden
      2. Im Objekt Explorer die Punkte Datenbanken, VIM_VCDB (standardmäßig), Tabellen erweitern
      3. Rechtsklick auf die Tabelle dbo.VPX_PARAMETER -> Oberste 200 Zeilen bearbeiten
      4. event.maxAge und task.maxAge anpassen und event.maxAgeEnabled und task.maxAgeEnabled auf true setzen
  2. Spätestens jetzt wird das SQL Management Studio benötigt: Datenbanken -> VIM_VCDB (standardmäßig) -> Programmierbarkeit -> Gespeicherte Prozeduren erweitern
  3. Rechtsklick auf dbo.cleanup_events_tasks_proc -> Gespeicherte Prozedur ausführen… und das nächste Fenster mit OK bestätigen
  4. Die ausführung kann je nach größe der Datenbank einige Zeit in Anspruch nehmen
  5. Danach Rechtsklick auf die Datenbank VIM_VCDB -> Tasks -> Verkleinern -> Datenbank und nächstes Fenster mit OK bestätigen
  6. Auch dieser Schritt kann einige Zeit in Anspruch nehmen
  7. Die Datenbank sollte nun wieder einiges an Platz haben
  8. Der Dienst kann wieder gestartet werden und die Datenbankaufbewahrungsrichtlinie kann zurück auf den Standard gesetzt werden (180 Tage / deaktiviert für Aufgaben und Ereignisse)

vCenter Anmeldung mit Domänenkonto (DomainNotFoundExceptionE)

Problem

Nach hinzufügen des vCenter zum AD zeigt die Anmeldung mit einem Domänenkonto eine Fehlermeldung (DomainNotFoundExceptionE, Domain Not Found Exception, No Domain found with ID <Domainname>, N3Vpx6common3Sso23DomainNotFoundExceptionE)

Lösung

Das AD muss als SSO Authentifizierungsquelle hinzugefügt werden:

  1. vSphere Web Client installieren (aus der vCenter Server iso)
  2. im vSphere Web Client die Domäne als SSO Authentifizierungsquelle hinzufügen
    • Am Web Client anmelden ([email protected])
    • Im linken Bereich den Menüpunkt „Verwaltung“ aufrufen
    • Die „Single Sign On -> Konfiguration“ aufrufen
    • Über das „+“-Zeichen das Fenster zum Hinzufügen von Authentifizierungsquellen öffnen
    • Als Typ der Authentifizierungsquelle „Active Directory (Integrierte Windows-Authentifizierung)“ auswählen
    • Den Domänennamen eingeben und „Maschinenkonto verwenden“ ausgewählt lassen
    • Mit „OK“ bestätigen und vom Web Client abmelden
  3. im vSphere Client unter Berechtigungen -> Berechtigungen hinzufügen die gewünschten Benutzer/Gruppen hinzufügen und Rolle auswählen