Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Réplication DFS-R & contraintes d’utilisation

Contexte

Lors de l’utilisation d’un partage réseau, les utilisateurs on souvent l’habitude de travailler directement sur les fichiers partagés.

Afin d’éviter toute corruption des données, un système de verrouillage est utilisé, il garantie que seul un unique utilisateur n’édite le fichier. Ce système fonctionne avec les fichiers temporaire/propriétaire.

Voici les étapes d’ouverture et d’enregistrement pour un fichier Word :

1. A l’ouverture du fichier, Word crée un fichier temporaire où les modifications seront enregistrés. Si un autre utilisateur tente de modifier le fichier, le message d’erreur suivant lui apparait :

Ce fichier est déjà ouvert par <nom_utilisateur>. Souhaitez-vous en faire une copie ?

2.  Lors de l’enregistrement du fichier, Word supprime la version d’origine, et la remplace par le fichier temporaire qu’il a renommé comme le fichier d’origine.

Ainsi, plusieurs utilisateurs auront accès au même fichier sans que celui-ci ne soit corrompu.

Contraintes en mode répliqué

Dans le cas d’un partage de fichiers répliqué, l’intégrité des fichiers n’est plus assurée.

Prenons le scénario suivant :

image

Dans ce cas de figure les utilisateurs sont redirigés depuis le namespace vers l’un des deux serveurs de données. En fonction de l’ordre “Refferal Ordering” qui par défaut dirige les clients entre les deux serveurs de manière égale.

Or si un utilisateur modifie le fichier work.docx sur le serveur FILE01, le serveur FILE02 n’en seras pas avisé (la fonction de verrouillage de fichier étant locale) et un autre utilisateur seras en mesure de modifier le même fichier causant une perte d’intégrité où le dernier fichier enregistré sera celui gardé par les deux serveurs.

Afin d’éviter ce type de comportement dangereux, il est possible de modifier le fonctionnement des deux serveurs, tout en gardant un minimum de répartition de charge.

Contournement

Imaginons que les serveurs FILE01 et FILE02 hébergent chacun deux fichiers répliqués indépendamment, Commerce et Administratif.

La première chose à faire est de forcer les clients à n’accéder qu’à un seul des deux serveurs, le serveur secondaire seras utilisé dans le cas où le premier venait à ne plus fonctionner.

Pour ce faire il faut dans la partie “Folder Targets” du namespace Commerce choisir le dossier hébergé par le serveur secondaire (FILE02), ouvrir la fenêtre des propriété puis choisir l’onglet “Advanced” et affecter à ce dossier la priorité “Last among all targets” :

image

Ainsi les utilisateurs souhaitant accéder au partage Commerce, seront toujours dirigé vers FILE01 en priorité.

On peut également aller plus loin et interdire la modification des fichiers sur l’un des serveurs le rendant membre “Read-Only”. La réplication ne fonctionneras alors que dans un sens et le serveur Read-Only, comme son nom l’indique ne pourras qu’afficher les fichiers hébergé en lecture seule.

Pour appliquer le Read-Only sur le serveur secondaire, choisir dans la partie “Replication” le lien de réplication, et dans l’onglet “Membership” sélectionner le serveur membre secondaire comme ceci :

image

Conclusion

A l’aide de ce contournement les utilisateurs Administratif utiliserons un serveurs tandis que les utilisateurs Commerciaux en utiliseront un autre.

Les deux serveurs sont malgré tout répliqués donc en cas de défaillance de l’un, l’autre pourras prendre le relais, cependant, il ne faut pas oublier – en cas de défaillance du serveur principal – de retirer l’option “Read-Only” si celle-ci a été mise en place.

Lync Server 2013 – Mise en place de statuts personnalisés

Contexte

Lync Server 2013 propose différents statuts par défaut pour son client (disponible, occupé(e), de retour dans quelques minutes…). Afin d’améliorer l’expérience utilisateur, il est possible d’ajouter des statuts personnalisés.

Ces statuts se basent sur un fichier XML. Il est possible d’ajouter au maximum quatre statuts personnalisés, d’une longueur maximale de 64 caractères.

Création et syntaxe du fichier XML

Le fichier XML doit se trouver à l’emplacement : https://nomdupool.domaine.fr/ClientConfigFolder/CustomPresence.xml

Ce chemin correspond à deux dossiers (site interne et externe) qui sont par défaut :

C:\Program Files\Microsoft Lync Server 2013\Web Components\Internal Website\ClientConfigFolder

C:\Program Files\Microsoft Lync Server 2013\Web Components\External Website\ClientConfigFolder

Le fichier se présente ainsi :

   1: <?xml version="1.0"?>

   2: <customStates xmlns="http://schemas.microsoft.com/09/2009/communicator/customStates">

   3: <customState ID="1" availability="online">

   4: <activity LCID="1036">En client&#232;le</activity>

   5: </customState>

   6: <customState ID="2" availability="busy">

   7: <activity LCID="1036">En conversation t&#233;l&#233;phonique</activity>

   8: </customState>

   9: <customState ID="3" availability="do-not-disturb">

  10: <activity LCID="1036">En r&#233;union</activity>

  11: </customState>

  12: </customStates>

Les trois indicateurs de présence possible sont online (Disponible), busy (Occupé(e)) et do-not-disturb (Ne pas déranger).

Le code LCID correspond à la localisation du pays et donc à sa langue. Le code 1336 correspond à la France. Tous les codes sont disponibles sur le site de Microsoft http://msdn.microsoft.com/fr-fr/goglobal/bb964664.aspx.

Les caractères spéciaux doivent être spécifiés selon la norme ISO-8859-1.La liste des différents caractères est disponible via le lien http://www.w3schools.com/tags/ref_entities.asp.

Ajout des statuts à une règle utilisateur

Pour que le client Lync prenne en compte les statuts personnalisés, il faut ajouter le paramètre CustomStateURL à une règle utilisateur. Pour cela utiliser la commande suivante :

Set-CsClientPolicy –Identity <Nom de la règle> –CustomStateURL https://nomdupool.domaine.fr/ClientConfigFolder/CustomPresence.xml

Remarque : Il est possible de faire deux fichiers XML afin d’avoir des statuts personnalisés différents en fonction de la connexion (réseau interne ou réseau externe).

imageimage8