Veeam Backup & Replication – Access Denied bei einigen Backup Copy Jobs

Problem:

In Veeam Backup & Replication (v9) schlagen manche Backup Copy Jobs fehl.
Situation:
Mehrere Backup Copy Jobs
Repository auf einem eigenständigen Repository-Server
Einer der Copy Jobs schlägt fehl mit „Access Denied“ – alle anderen funktionieren.
veeam_copy_access-denied

Lösung:

Die Anmeldung für den Veeam Backup Service erfolgt standardmäßig mit dem lokalen Systemkonto, ändert man die Einstellung z.B. auf ein Domänenkonto, welches Zugriff auf die Ziel-Repositories hat, funktionieren die fehlerhaften Copy Jobs nach neustart des Dienstes.
veeam_copy_service

  1. Continuous Copy Jobs auf Disabled stellen
  2. Beachten, dass keine weiteren Veeam Backup Jobs laufen
  3. Veeam Konsole schließen
  4. Anmeldedaten des Dienstes „Veeam Backup Service“ auf ein entsprechendes Domänenkonto ändern
  5. den Dienst neustarten
  6. Veeam Copy Jobs wieder aktivieren

Windows Update Fehler 80244007 (WSUS)

Problem:

WSUS Clients (in diesem Fall Windows Server 2012 R2) können nicht nach Updates suchen (Fehler 0x80244007).
Folgendes zeigt die WSUS-Verwaltungskonsole:
WSUS_Verbindungsfehler

Kopiert man den Fehler in die Zwischenablage, beinhaltet diese (in etwa) folgendes:

Die WSUS-Verwaltungskonsole konnte über die Remote-API keine Verbindung mit dem WSUS-Server herstellen. 

Stellen Sie sicher, dass der Update Services-Dienst, IIS und SQL auf dem Server ausgeführt werden. Starten Sie IIS, SQL und den Update Services-Dienst erneut, wenn das Problem weiterhin besteht.
An der WSUS-Verwaltungskonsole ist ein unerwarteter Fehler aufgetreten. Möglicherweise ist es ein vorübergehender Fehler.
Versuchen Sie, die Verwaltungskonsole erneut zu starten. Wenn der Fehler weiterhin besteht, entfernen Sie die gespeicherten Einstellungen für die Konsole, indem Sie die WSUS-Datei unter "%appdata%\Microsoft\MMC\" löschen.

System.IO.IOException -- Fehler bei Handshake wegen eines unerwarteten Paketformats.

Source: System
Stack Trace:
   bei System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   bei System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   bei System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   bei System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   bei System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
   bei System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   bei System.Net.ConnectStream.WriteHeaders(Boolean async)
** this exception was nested inside of the following exception **

System.Net.WebException -- Die zugrunde liegende Verbindung wurde geschlossen: Unerwarteter Fehler beim Senden..

Source: Microsoft.UpdateServices.Administration
Stack Trace:
   bei Microsoft.UpdateServices.Administration.AdminProxy.CreateUpdateServer(Object[] args)
   bei Microsoft.UpdateServices.UI.SnapIn.Scope.ServerSummaryScopeNode.GetUpdateServer(PersistedServerSettings settings)
   bei Microsoft.UpdateServices.UI.SnapIn.Scope.ServerSummaryScopeNode.ConnectToServer()
   bei Microsoft.UpdateServices.UI.SnapIn.Scope.ServerSummaryScopeNode.get_ServerTools()

Fügt man das WSUS-SnapIn manuell einer MMC hinzu und will sich mit dem Server verbinden erhält man folgende Meldung (wobei ‚SQUID‘ natürlich den jeweiligen Servernamen darstellt):
WSUS_SQLServer

Zu guter Letzt findet man folgenden Auszug in der Ereignisanzeige:

Fehler bei der Anmeldung für den Benutzer 'NT-AUTORITÄT\Netzwerkdienst'.Ursache: Fehler beim Öffnen der explizit angegebenen Datenbank 'SUSDB'. [CLIENT: ]

(Event-Quelle: MSSQL$MICROSOFT##WID; Event-ID: 18456)

Lösung:

Ursprung des Problems ist ein fehlerhaftes Windows Update auf dem WSUS Server (KB3148812).
Sollte dieses installiert sein (und die erforderlichen post-install Schritte noch nicht durchgeführt sein), ist die Empfehlung des WSUS-Teams (Blogbeitrag), das Update einfach wieder zu deinstallieren.

Anderenfalls kann das ersetzende Update KB3159706 die Ursache sein. Es wird als „The long-term fix for KB3148812 issues“ beschrieben, benötigt aber ebenfalls einige post-install Schritte um fehlerfrei zu funktionieren:

  1. das KB3159706 installieren (sofern noch nicht geschehen)
  2. eine Kommandozeile mit Admin-Rechten starten
  3. den Befehl „C:\Program Files\Update Services\Tools\wsusutil.exe“ postinstall /servicing ausführen
  4. daraufhin im Server-Manager das Feature „HTTP-Aktivierung“ hinzufügen, zu finden unter .NET-Framework 4.5-Funktionen -> WCF-Dienste -> HTTP-Aktivierung
    WSUS_feature_postinstall
  5. nun den WSUS-Dienst neu starten und schon können Clients wieder Updates suchen und das WSUS MMC-SnapIn funktioniert auch wieder

Netzlaufwerke von Gruppenrichtlinien werden nach Windows 10 Upgrade nicht mehr verbunden.

Problem:

Nach dem (erfolgreichen) Update von Windows 7 auf Windows 10 werden „plötzlich“ Netzlaufwerke nicht mehr eingebunden, welche per GPO verteilt werden.
In der Ereignisanzeige findet man i.d.R. folgenden Fehler:

Fehler bei der Verarbeitung der Gruppenrichtlinie. Der Versuch, die Datei "\\foo.bar\SysVol\foo.bar\Policies\{UID}\gpt.ini" von einem Domänencontroller zu lesen, war nicht erfolgreich. Die Gruppenrichtlinieneinstellungen dürfen nicht angewendet werden, bis dieses Ereignis behoben ist. Dies ist möglicherweise ein vorübergehendes Problem, das mindestens eine der folgenden Ursachen haben kann:
a) Namensauflösung/Netzwerkverbindung mit dem aktuellen Domänencontroller.
b) Wartezeit des Dateireplikationsdienstes (eine auf einem anderen Domänencontroller erstellte Datei hat nicht auf dem aktuellen Domänencontroller repliziert).
c) Der DFS-Client (Distributed File System) wurde deaktiviert.

Ursache ist in diesem Fall meist das UNC-Hardening, welches unter Windows 10 standardmäßig aktiviert ist.

Lösung:

Einfachste Lösung ist eine neue GPO anzulegen, welche das UNC-Hardening für die SYSVOL und ggfs. NETLOGON Freigabe wieder deaktiviert.
Dazu unter „Computerkonfiguration > Administrative Vorlagen > Netzwerk > Netzwerkanbieter “ die Richtlinie für Gehärtete UNC-Pfade aktivieren und folgende Einträge hinzufügen:

Wetname: \\*\SYSVOL
Wert: RequireMutualAuthentication=0, RequireIntegrity=0
(ggfs. für \\*\NETLOGON den selben Wert hinzufügen)
unc-hardening

Bei der nächsten Anwendung der Gruppenrichtlinien an den Clients (spätestens nach einem Neustart) wird dann auch die Netzlaufwerke-GPO wieder angewendet und somit die Netzlaufwerke wieder eingebunden.

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)