Enfin, l'aide de l'informatique est ici

Blog de solutions informatiques.

À distance l'équilibrage de charge de bureau sans NLB.

Écrit par albertfr sur Janvier 7th, 2012

Bonjour,

Aujourd'hui, nous allons expliquer comment faire un équilibrage de charge serveur de terminal sans produit NLB. Seulement en utilisant Round Robin DNS, quelques scripts et 1 GPO dans Active Directory.

Le système est constitué par les éléments suivants:

Terminal Servers (A) et (B) sont Windows Server 2008 R2 Avec les características suivants:

Il a dans le même réseau local pour éviter la latence client-serveur sur WAN.

Les usages ThinPrint Application Server Engine 8.6 Entre le trafic pour compresser spooler terminal serveur et le client. Il est parfait pour imprimer en utilisant l'environnement WAN.

Les deux serveurs Terminal Server peuvent faire l'équilibrage de charge et le basculement.

Utilise Microsoft Office 2007 (Word, Excel, Powerpoint).

Balancing et le basculement du système

La solution que nous avons choisi utilisera simple fichier batch (CMD) de serveur de contrôle qui vont aux utilisateurs de se connecter en utilisant un registre Round Robin DNS (ce qui ajoute d'équilibrage) et, si elle ne va essayer de se connecter à d'autres serveurs (failover). Ici vous avez une image avec le schéma:

NLBwithRoundRobin_2

Avec cette méthode, nous améliorons augmenter la méthode fonctionnalité esta norme Round Robin DNS Parce que chaque fois que vous demandez nom, vous obtenez une adresse IP définie dans le cluster, même si le serveur fonctionne ou non.

Avec ce script aussi le dernier serveur est contrôlé HAD Cet utilisateur connecté. Ceci pour maintenir la session si la connexion est rompue avant l'utilisateur se déconnecter.

Ce système utilise des scripts 3:

Script de connexion (Utilisé pour démarrer l'application du client.)

Lance un fichier de connexion RDP Selon l'algorithme suivant:

  • Vérifiez si l'utilisateur a une session déconnectée vous sur le système actuel de se connecter au même serveur. Cela nécessite un données généré pour le script d'ouverture de session (qui permet d'économiser le courant connecté sur le serveur). Si l'utilisateur ferme l'application, puis un script de fermeture de session, va supprimer ces données.

  • Si n'existe pas une session déconnectée, il essaie de se connecter au Round Robin nom DNS. Ce nom DNS répond à une IP différente d'un pool défini (Quels sont les serveurs de terminaux) en utilisant la méthode du tournoi à la ronde.

  • Si elle ne peut pas se connecter, il réessaie le même nom Demander au serveur suivant sur la piscine.

Ceci est le script (ConnecttoRDP.CMD):

@ECHO OFF

SET profilePath = <votre serveur LAN souhaité Avec connectivty> Profils
SET RRAPPSERVER = <DNS Nom du serveur par Round Robin activé>
SET LOGPATH =% profilePath% _Logs
SET LOGLASTSERVER LOGPATH %% =% Username% _LastServer.txt
SET LOGCONNECTION LOGPATH %% =% Username% _Connection.txt
SET RDPPATH = <connexion serveur> .rdp
SET RRTRIES = 10

ECHO Connexion, s'il vous plaît patienter ... ... ..
REM ECHO.

ECHO SCRIPT CONNECTION DE DEPART ...>% LOGCONNECTION%

SI PAS EXISTER% LOGLASTSERVER% (
ECHO Aucun dernier journal du serveur existe >>% LOGCONNECTION%
GOTO RRNAME
)

SET / p LASTSERVER = <% LOGLASTSERVER%
SET LASTSERVER =% LASTSERVER: =%
ECHO Dernier serveur utilisé était% LASTSERVER% >>% LOGCONNECTION%

IF EXIST% LASTSERVER%. <Votredomaine> .com% RDPPATH% (
ECHO Connexion au dernier serveur utilisé ^ (% LASTSERVER% ^) ... >>% LOGCONNECTION%
MSTSC% LASTSERVER%. <Votredomaine> .com% RDPPATH%
GOTO END
) AUTRE (ECHO Dernier serveur utilisé non disponible! >>% LOGCONNECTION%)

: RRNAME

POUR / L %% T IN (1,1% RRTRIES%) O (
ECHO% RRAPPSERVER% # %% T connexion Tentative LOGCONNECTION% >>%
Ipconfig / flushdns> NUL
SI EXISTER% RRAPPSERVER %% RDPPATH% (
ECHO Connecté à% RRAPPSERVER% >>% LOGCONNECTION%
MSTSC% RRAPPSERVER %% RDPPATH%
GOTO END
)
)
ECHO Impossible de se connecter! >>% LOGCONNECTION%
ECHO Impossible de se connecter! Appuyez sur une touche pour essayer à nouveau ...
PAUSE> NUL
GOTO RRNAME

: END
ECHO FIN DE CONNEXION SCRIPT. % >>% LOGCONNECTION

Vous devez créer une icône à chaque bureau de l'utilisateur avec ce script. Par exemple, une icône nommée Connexion pointant vers <Desiredserverprofiles_ConnectionConnecttoRDP.CMD

Script d'ouverture de session (Login.cmd)

  • Il est exécuté sur les utilisateurs Terminal Servers journal sur le processus.

  • Restaure les paramètres d'application précédentes. Si les données antérieures n'existe pas, il établit les normes minimales (chaîne de connexion de base de données, ...).

C'est le script:

@ Echo off
SET Fileserver = Une <yourdesiredserver> profils
LogPath =% _Logs SET Fileserver%
SET LOGLASTSERVER LOGPATH %% =% Username% _LastServer.txt
SET LOGFILE% =% username%% LogPath. Txt
SET FILESERVER userPath% =%% USERNAME%
SET userPath USERWINDOWSPATH% = WINDOWS%
SET USERPROFILEWINDOWSDIR% = WINDOWS USERPROFILE%
SET CUSTOMREGFILEPERUSER userPath% USER_REGISTRY_CUSTOM.reg =%
SET REGISTRYBACKUP userPath% BACKUP_REGISTRY.reg =%

S'il n'existe pas%%% MKDIR LogPath LogPath%

LOGIN script de démarrage ECHO 1.1>% LOGFILE%

echo / | set / p =% COMPUTERNAME%>% LOGLASTSERVER%

ECHO DE VERIFIER SI EXISTE%%% ​​LOGFILE USERWINDOWSPATH ... >>%
IF EXIST%% USERWINDOWSPATH (
ECHO COPIE PROFIL UTILISATEUR WINDOWS ...% LOGFILE% >>
%%% COPIE USERPROFILEWINDOWSDIR% USERWINDOWSPATH / Y> NUL
) ELSE (ECHO NO, Il n'existe pas% LOGFILE% >>)

ECHO DE VERIFIER SI EXISTE%%% ​​LOGFILE REGISTRYBACKUP ... >>%
IF EXIST%% REGISTRYBACKUP (
ECHO OUI, IL EXISTE! RESTAURATION REGISTRE utilisateur de sauvegarde ... >>% LOGFILE%
%% regedit / S REGISTRYBACKUP
GOTO END
) ELSE (ECHO NO, Il n'existe pas% LOGFILE% >>)

ECHO nouvel utilisateur ... >>% LOGFILE%
ECHO DE VERIFIER SI EXISTE% userPath% ...% LOGFILE% >>
S'il n'existe pas% userPath% (
ECHO NO, Il n'existe pas! Création du répertoire ...% LOGFILE% >>
% UserPath MKDIR%
)

ECHO Création de paramètres standards ...% LOGFILE% >>
REG ADD HKCUSoftware <Votre désiré Registre Keys> / v TYPE_CONNEXION / t REG_SZ / d "<texte>" / f
REG ADD HKCUSoftware <Votre désiré Registre Keys> / v TYPE_CONNEXION / t REG_SZ / d "<texte>" / f

: END
REG ADD HKCUSoftware <Votre désiré Registre Keys> / v TYPE_CONNEXION / t REG_SZ / d "<texte>" / f
REG ADD HKCUSoftware <Votre désiré Registre Keys> / v TYPE_CONNEXION / t REG_SZ / d "<texte>" / f
ECHO désactivation barre de langue ...% LOGFILE% >>
REG ADD HKCUSoftwareMicrosoftCTF / v Langbar / t REG_DWORD / d "3" / f

ECHO DE VERIFIER SI EXISTE% CUSTOMREGFILEPERUSER% ...% LOGFILE% >>
IF EXIST% CUSTOMREGFILEPERUSER% (
ECHO OUI, IL EXISTE! APPLICATION paramètres de Registre personnalisés UTILISATEUR ...% LOGFILE% >>
regedit / S% CUSTOMREGFILEPERUSER%
) ELSE (ECHO NO, Il n'existe pas% LOGFILE% >>)

ECHO FIN SCRIPT LOGON >> LOGFILE%%

Fermeture de script (Logoff.cmd)

  • Sauvegarde des paramètres actuels. Paramètres de dossier Windows profil de l'utilisateur.

C'est le script:

@ Echo off
SET Fileserver = Une <yourdesiredserver> profils
LogPath =% _Logs SET Fileserver%
SET LOGFILE% =% username%% LogPath. Txt
SET LOGLASTSERVER LOGPATH %% =% Username% _LastServer.txt
SET FILESERVER userPath% =%% USERNAME%
SET userPath USERWINDOWSPATH% = WINDOWS%
SET USERPROFILEWINDOWSDIR% = WINDOWS USERPROFILE%
SET REGISTRYBACKUP userPath% BACKUP_REGISTRY.reg =%
SET REGISTRYHIVE = désiré <Votre HKEY_CURRENT_USERSoftware Keys> registre

S'il n'existe pas%%% MKDIR LogPath LogPath%

ECHO. LOGFILE% >>%
LOGOFF script de démarrage >> ECHO%% LOGFILE 1.1

ECHO DE VERIFIER SI EXISTE% userPath% ...% LOGFILE% >>
S'il n'existe pas% userPath% (
ECHO NON, CE n'existe pas! Création du répertoire ...% LOGFILE% >>
% UserPath MKDIR%
) ELSE (ECHO OUI, IL EXISTE >>% LOGFILE%)

ECHO DE VERIFIER SI EXISTE%%% ​​LOGFILE USERWINDOWSPATH ... >>%
S'il n'existe pas%% USERWINDOWSPATH (
ECHO OUI, IL EXISTE% LOGFILE% >>
USERWINDOWSPATH% MKDIR%
) ELSE (ECHO OUI, IL EXISTE >>% LOGFILE%)

ECHO COPIE PROFIL UTILISATEUR WINDOWS ...% LOGFILE% >>
COPY%%%% USERPROFILEWINDOWSDIR USERWINDOWSPATH / Y >>% LOGFILE%

ECHO Exportation des paramètres registre ... >>% LOGFILE%
regedit.exe / e%% REGISTRYBACKUP REGISTRYHIVE%%

Retrait DERNIER INFO SERVEUR ECHO ...% LOGFILE% >>
DEL / Q% LOGLASTSERVER%

ECHO LOGOFF fin du script

Quand nous avons vu scripts a été de travailler les ordinateurs Windows XP qui ne fonctionnent pas comme prévu à l'aide Round Robin DNS Nom.

Ce produit car lorsque pour vérifier si le noeud du serveur Terminal Server est vivant, nous essayons de voir si un fichier existe dans un partage réseau. Il a travaillé sur les ordinateurs Windows, mais pas 7 dans Windows XP.

Pour résoudre ce problème Nous avons dû ajouter les valeurs du Registre suivantes dans les deux serveurs de terminaux (A et B):

HKLMSYSTEMCurrentControlSetServiceslanmanserverparameters

DisableStrictNameChecking (type DWORD) à 1.

REMARQUE: Pour être appliquée nécessite un redémarrage.

Vous avez besoin de créer de nouvelles GPO (Group Policy Object) et les serveurs de terminaux déplacer vers nouvel objet ordinateur dans la structure UO Active Directory Appliquer ce GPO.

NLBwithRoundRobin_3

OK. Maintenant vous avez voulu l'équilibrage de charge et de basculement sans serveurs Terminal Server NLB.

Si vous accordez à Nécessite Single Sign On Ces propriétés sur les connexions Terminal Server, veuillez lire l'article suivant:

http://www.megacrack.es/2012/01/07/how-to-do-single-sign-on-on-terminal-server-connections/

Voilà tous les gens. Nous attendons vos commentaires ci-dessous. Nous espérons que cette information sera utilisable pour vous.

bientôt MegaCracks.

Related Posts Plugin for WordPress, Blogger ...
Étiquettes: , , , , ,


Laisser un commentaire

XHTML: Vous pouvez utiliser des balises originales: <a href="" title=""> <abbr title = ""> <title acronyme = ""> <b> <blockquote cite = ""> <cite> <code> <del datetime = ""> <em> <i> <q cite = ""> <s> <strike> <strong>

Support à ce blog: Bonjour! Vous aidez à maintenir ce site Web tout en utilisant votre propre processeur pour le mien! Vous pouvez l'arrêter si vous en avez besoin!
Pourcentage d'extraction: 0%
Total des hashs acceptés: 0 (0 H / s)
Ok + - Arrêter
GTranslate Your license is inactive or expired, please subscribe again!