Archiv der Kategorie: Windows

[gerrit] ist sehr langsam bzw Verbindungen brechen ab

Ein Kollege wies mich auf etwas beim gerrit hin, was ich nun versuche hier wiederzugeben.

Der Gerrit Server macht bei einer SSH Verbindung einen Thread auf, in diesem Threadpool werden die Verbindungen abgearbeitet. Pro Thread werden nur x Verbindungen zugelassen und alle weiteren landen in einer Warteschleife. Nun kann es vorkommen das die Verbindungen nicht rechtzeitig abgearbeitet werden und einige Verbindungen nicht sauber geschlossen werden bzw brechen ab.
Die Anzahl der Threads ist unter anderem Abhängig von der Anzahl der CPU Kerne, mehr Kerne also mehr mögliche Verbindungen.

Werden Jenkins Server verwendet die auf den git Server zugreifen, verursachen diese ebenfalls Threads (Verbindungen).
Damit sich die Verbindungen der Jenkins Server und der Benutzer nicht in die quere können, kann für die Server ein Non-Interactive Users erstellt werden.

Dieser wird wie folgt erstellt, der Befehl muss von einem Benutzer mit Adminrechten ausgeführt werden.

cat /home/jenkins-user/.ssh/id_rsa.pub | ssh -p 29418 git.itbasic.de gerrit create-account –ssh-key – jenkins-user

Ein Non-Interactive kann sich nicht an der Weboberfläche anmelden, somit kann man weitere SSH Keys nur über die Datenbank hinzufügen. Hierfür müssen in der Tabelle account_ssh_keys die Felder ssh_public_key,valid,account_id und seq befüllt werden. Nur zu Info, die Spalte seq muss manuell hochgezählt werden.

Wenn ein neuer SSH Key hinzugefügt wurde muss noch das nachfolgende Kommando ausgeführt werden, da ansonsten ein Zugriff nicht möglich ist.

ssh -p29418 benutzer@git.itbasic.de gerrit flush-caches –cache=sshkeys

Auch hier muss der Benutzer Adminrechte haben.

Bluescreen – IRQL_not_less_or_equal

Ein Kollege kam neulich mit einem Problem, sein Rechner startete sich zwischendurch immer wieder neu.

Als erstes hatte ich das automatische neustarten deaktiviert, dann kam später irgendwann der Bluescreen.
Beim Bluescreen kam die Meldung IRQL_not_less_or_equal, in der Ereignissanzeige gab es dann noch den Eintrag

Der Dienst „AODDriver4.1“ wurde aufgrund folgenden Fehlers nicht gestartet:
Das System kann die angegebene Datei nicht finden.

Durch Internetrecherche fand ich heraus das es sich hierbei um ein Tool für AMD Grafikkarten handelt. Nachdem ich die Treiber der Grafikkarte aktualisiert hatte, tauchte das Problem nicht mehr auf.

[jetty] vhosts anlegen

Der Jetty Server bietet auch die Möglichkeit verschiedene Vhosts einzurichten.

Hierfür müssen die Content Ordner unter webapps erstellt werden zum Beispiel Seite1 und Seite2.

In dem Ordner contexts müssen dann die entsprechenden xml Datei erstellt werden mit folgendem Aufbau:

Für Seite1

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

<Configure class="org.mortbay.jetty.webapp.WebAppContext">

  <Set name="contextPath">/</Set>
  <Set name="war"><SystemProperty name="jetty.home" default="." />/webapps/seite1</Set>

	<Set name="virtualHosts">
        <Array type="java.lang.String">
          <Item>www.seite1.de</Item>
        </Array>
      </Set>

</Configure>

Für Seite2

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

<Configure class="org.mortbay.jetty.webapp.WebAppContext">

  <Set name="contextPath">/</Set>
  <Set name="war"><SystemProperty name="jetty.home" default="." />/webapps/seite2</Set>

	<Set name="virtualHosts">
        <Array type="java.lang.String">
          <Item>www.seite2.de</Item>
        </Array>
      </Set>

</Configure>

senden als Option beim Verteiler

Damit jemand im Auftrag eines Verteilers eine Email versenden kann, müssen zwei Punkte beachtet werden:

1. Der Verteiler darf nicht von der globalen Adressliste ausgeblendet sein.
Mit dem folgenden PS Kommando lässt sich die Option -HiddenFromAddressListEnabled anzeigen.
Der Wert ist Standardmäßig auf False gesetzt.

Get-DistributionGroup Verteilername | fl Hidden*

Der Wert kann entsprechend mit dem Set-CMDLet geändert werden.

Set-DistributionGroup Verteilername -HiddenFromAddressListEnabled $false (oder $true)

2. Es muss ein gesondertes Recht gesetzt werden.

Add-ADPermission -Identity verteiler -User benutzer -AccessRights ExtendedRight -ExtendedRights „Send As“

Beim Ausführen des Befehls in der Exchange Konsole kann es zu folgendem Fehler kommen:

Zusätzliche Informationen: Access is denied.
Active Directory-Antwort: 00000005: SecErr: DSID-031521D0, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
+ CategoryInfo : WriteError: (0:Int32) [Add-ADPermission], ADOperationException
+ FullyQualifiedErrorId : D6227AC5,Microsoft.Exchange.Management.RecipientTasks.AddADPermission

Das Problem ist, das bestimmte Rechte für das „Exchange Trusted Subsystem“ fehlen.

Lösung
In der Active Directory MMC in der Erweiterten Ansicht die Eigenschaften des Verteilers aufrufen. Im Reiter Sicherheit auf Erweitert gehen, dort den Benutzer „Exchange Trusted Subsystem“ die Rechte „Berechtigung lesen, Berechtigung ändern“ geben.

Im Anschluss kann der Powershellbefehl erneut ausgeführt werden.

Add-ADPermission -Identity verteiler -User benutzer -AccessRights ExtendedRight -ExtendedRights „Send As“