WeetA

Quand normalement rime avec rarement !

[Mise à jour] Bug Distribution dans le calculateur Exchange 2013 7.5 et 7.6 --> Corrigé dans la version 7.8

15.10.2015

La version 7.8 publiée ce jour inclus le correctif présenté ci-après.

20.06.2015

Microsoft a mis à jour son calculateur pour Exchange 2013 le 19 Juin en version 7.5.

Un bug empéchant d'afficher les résultats lorsque Site Resilience était désactivé et que Active/Active (Single DAG) était sélectionné a été corrigé le lendemain dans la version 7.6.

Par contre, le bug que j'ai rencontré dans l'onglet Distribution de la version 7.5 est toujours présent dans la 7.6.

J'ai trouvé, apporté une correction et envoyé le problème à Microsoft mais je n'ai eu aucun retour à ce jour.

C'est quoi le problème ?

Vous êtes Français ? Vous avez peut-être choisi votre langue maternelle comme langue de formatage des dates, nombres dans les paramètres régionaux. Et ça, c'est un problème. Ca empêche le simulateur de distribution des copies de bases de fonctionner correctement.

Dès que vous passez 1 serveur en Fail, vous vous retrouvez avec des bases HS et ce malgré les 4 copies par défaut.

Pourquoi ?

Parce que... la formule permettant de calculer le serveur hébergeant la copie active ne fonctionne pas avec le format Français (au moins).
Elle utilise la fonction TEXT avec le caractère de formatage d qui signifie "Day without leading zero". Hors, avec le format Français, il faudrait mettre j à la place. Mais si on met j, ça ne fonctionne plus avec un format English (US).

Comment on résout ?

La formule ne gère pas réellement de formatage de date. Il s'agit juste d'une feinte pour convertir un nombre en sa version texte. On peut donc remplacer le caractère de formatage d par celui des nombres #.

Allez dans le code VBA (Menu Developper, Visual Basic)

Ensuite, ouvrez le module1

Puis allez dans la fonction Build_Table

Trouvez le code ci-dessous

    'Cycle through each DB in the design
    'Populate formula to determine which server hosts the active copy of a DB
    'Create one cell formula that looks at DB copies from all sites
    'DAGQuroumStatus
    For x = StartRow To NumDataBases + StartRow - 1
        Formula1 = "=IF(OR(DAGQuroumStatus=""" & DAGStringFail & """,ISNA(MATCH(MIN(" & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0))),""FAILED"", IF(OR(IsSecSiteActive(),AND(IF(ISNA(MATCH(TEXT(VALUE(1),""d"")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)),MATCH(1," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0),MATCH(TEXT(VALUE(1),""d"")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0))<=calcNumAMBXServersDC1,MATCH(MIN(" & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)<=calcNumAMBXServersDC1),AND(IF(ISNA(MATCH(TEXT(VALUE(1),""d"")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)),MATCH(1," & DiagramStart(1) & x & ":"
        Formula2 = DiagramEnd(NumSites) & x & ",0),MATCH(TEXT(VALUE(1),""d"")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0))>17,MATCH(MIN(" & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)>17)),GetServer(MATCH(MIN(" & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)),""FAILED""))"

Remplacez toutes les occurences de

TEXT(VALUE(1),""d"")

par

TEXT(VALUE(1),""#"")

Enregistrez le tout et rafraîchissez l'onglet Distribution

Voila le résultat

Réserver un port TCP et/ou UDP sur Windows 2008+

Avant Windows 2008, il fallait utiliser la clé de registre suivante pour réserver un port (KB 812873)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ReservedPorts

Windows 2012+ permet de réserver des ports TCP et/ou UDP à l'aide de la commande netsh:

netsh int <ipv4|ipv6> Add excludedportrange [protocol=]tcp|udp [startport=]<integer> [numberofports=]<integer> [[store=]active|persistent]

Windows 2008 et Windows 2008 R2 ne gère pas cette commande en natif. Il faut installer le hotfix fourni dans la KB 2665809

Rappel : Paramètres de wuauclt.exe

Ci-après les paramètres de wuauclt.exe

/DetectNow
/ReportNow
/RunHandlerComServer
/RunStoreAsComServer
/ShowSettingsDialog
/ResetAuthorization
/ResetEulas
/ShowWU
/ShowWindowsUpdate
/SelfUpdateManaged
/SelfUpdateUnmanaged
/UpdateNow
/ShowWUAutoScan
/ShowFeaturedUpdates
/ShowOptions
/ShowFeaturedOptInDialog
/DemoUI

Remove-WindowsFeature : Cannot remove Failover Clustering. This server is an active node in a failover cluster

Symptômes

Le rôle Failover Clustering ne peut être supprimé bien que vous ne l'ayez jamais configuré et que le service ClusSvc n'est pas démarré.

PS C:\> Remove-WindowsFeature Failover-Clustering
Remove-WindowsFeature : Cannot remove Failover Clustering This server is an active node in a failover cluster. Uninstalling the Failover Clustering feature on this node may impact the availability of clustered services and applications. It is recommended that you first evict the server from cluster membership.  This can be done through the Failover Cluster Management snap-in by expanding the console tree under Nodes, selecting the node, clicking More Actions, and then clicking Evict.
At line:1 char:22
+ Remove-WindowsFeature <<<<  Failover-Clustering
    + CategoryInfo          : InvalidOperation: (:) [Remove-WindowsFeature], Exception
    + FullyQualifiedErrorId : ConfirmActionOrVetoFailed,Microsoft.Windows.ServerManager.Commands.RemoveWindowsFeatureCommand
Remove-WindowsFeature : Remove was cancelled.
At line:1 char:22
+ Remove-WindowsFeature <<<<  Failover-Clustering
    + CategoryInfo          : OperationStopped: (:) [Remove-WindowsFeature], Exception
    + FullyQualifiedErrorId : AbortRemove,Microsoft.Windows.ServerManager.Commands.RemoveWindowsFeatureCommand

Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
False   No             Failed    {}

Résolution

Il faut forcer la suppression de la configuration du noeud du cluster

PS C:\> Import-Module FailoverClusters
PS C:\> Get-Cluster
Get-Cluster : The cluster service is not running.  Make sure that the service is running on all nodes in the cluster.
    There are no more endpoints available from the endpoint mapper
At line:1 char:12
+ Get-Cluster <<<<
    + CategoryInfo          : NotSpecified: (:) [Get-Cluster], ClusterCmdletException
    + FullyQualifiedErrorId : Get-Cluster,Microsoft.FailoverClusters.PowerShell.GetClusterCommand
PS C:\> Clear-ClusterNode

Clear-ClusterNode
Are you sure you want to forcefully clean up cluster node LABSERVER?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y
PS C:\> Remove-WindowsFeature Failover-Clustering
WARNING: [Removal] Succeeded: [Failover Clustering] Failover Clustering. You must restart this server to finish the removal process.

Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True    Yes            Succes... {Failover Clustering}

Convertir Windows 2012 R2 évaluation en version complète

Voir l'état de l'activation

C:\>cscript.exe C:\Windows\System32\slmgr.vbs /dlv
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

Software licensing service version: 6.3.9600.16497

Name: Windows(R), ServerStandardEval edition
Description: Windows(R) Operating System, TIMEBASED_EVAL channel
Activation ID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Application ID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Extended PID: XXXXX-XXXXX-XXX-XXXXXX-XX-XXXX-XXXX.XXXX-XXXXXXX
Product Key Channel: Retail:TB:Eval
Installation ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Use License URL: https://activation-v2.sls.microsoft.com/SLActivateProduct/SLActivateProduct.asmx?configextension=Retail

Validation URL: https://validation-v2.sls.microsoft.com/SLWGA/slwga.asmx
Partial Product Key: 3YGPC
License Status: Licensed
Timebased activation expiration: 259181 minute(s) (180 day(s))
Remaining Windows rearm count: 5
Remaining SKU rearm count: 6
Trusted time: 7/25/2015 6:37:55 AM

Voir l'édition actuelle

C:\>DISM.exe /Online /Get-CurrentEdition

Deployment Image Servicing and Management tool
Version: 6.3.9600.17031

Image Version: 6.3.9600.17031

Current edition is:

Current Edition : ServerStandardEval

The operation completed successfully.

Lister les versions possibles pour la mise à niveau

C:\>DISM.exe /Online /Get-TargetEditions

Deployment Image Servicing and Management tool
Version: 6.3.9600.17031

Image Version: 6.3.9600.17031

Editions that can be upgraded to:

Target Edition : ServerStandard
Target Edition : ServerDatacenter

The operation completed successfully.

Mettre à niveau en version complète

C:\>DISM.exe /Online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula

Deployment Image Servicing and Management tool
Version: 6.3.9600.17031

Image Version: 6.3.9600.17031

Starting to update components...
Starting to install product key...
Finished installing product key.

Removing package Microsoft-Windows-ServerStandardEvalEdition~31bf3856ad364e35~amd64~~6.3.9600.16384
[==========================100.0%==========================]
Finished updating components.

Starting to apply edition-specific settings...
Finished applying edition-specific settings.

The operation completed successfully.
Restart Windows to complete this operation.
Do you want to restart the computer now? (Y/N)

Après le reboot

C:\>cscript.exe C:\Windows\System32\slmgr.vbs /dlv
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

Software licensing service version: 6.3.9600.16497

Name: Windows(R), ServerStandard edition
Description: Windows(R) Operating System, RETAIL channel
Activation ID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Application ID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Extended PID: XXXXX-XXXXX-XXX-XXXXXX-XX-XXXX-XXXX.XXXX-XXXXXXX
Product Key Channel: Retail
Installation ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Use License URL: https://activation-v2.sls.microsoft.com/SLActivateProduct/SLActivateProduct.asmx?configextension=Retail

Validation URL: https://validation-v2.sls.microsoft.com/SLWGA/slwga.asmx
Partial Product Key: XXXXX
License Status: Licensed
Remaining Windows rearm count: 1000
Remaining SKU rearm count: 1001
Trusted time: 7/25/2015 7:15:38 AM

Voir l'édition actuelle après mise à niveau

C:\>DISM.exe /Online /Get-CurrentEdition

Deployment Image Servicing and Management tool
Version: 6.3.9600.17031

Image Version: 6.3.9600.17031

Current edition is:

Current Edition : ServerStandard

The operation completed successfully.