7 votes

Comment configurer IIS sur Failover Cluster avec des données partagées ?

J'essaie de mettre en place un IIS hautement disponible pour les sites Web destinés au public, et j'ai du mal à trouver des informations sur la méthode la meilleure et la plus sûre pour définir les autorisations, configurer correctement IIS et vérifier que mon plan de configuration est optimal.

Après de nombreuses recherches, j'ai opté pour cette configuration :

  • 2 serveurs IIS, utilisant une configuration partagée.
  • Les deux serveurs IIS se connectent à le même partage de fichiers SMB de Windows Failover Cluster pour les applications données du site web.
  • Le serveur de fichiers utilise Starwind vSAN.
  • Les serveurs IIS reçoivent des requêtes d'un cluster NLB/ARR.
  • Les serveurs sont des VMs sur deux hôtes Hyper-V
  • Mysql fonctionnera sur deux VMs Linux avec MariaDB Galera Cluster.

Le consensus général que j'ai trouvé était de ne pas utiliser SOFS pour IIS, il s'agit donc d'une configuration standard de serveur de fichiers comme un partage SMB - Application. Starwind a été utilisé car il n'y a pas de point de défaillance unique sur le système à deux nœuds, et la réplication est synchrone. Les données feront l'objet de sauvegardes régulières et de copies d'ombre, et les machines virtuelles auront des répliques sur un autre hôte.

Mes problèmes actuels proviennent de la compréhension des autorisations et des utilisateurs nécessaires à la mise en place de données IIS partagées.

Actuellement, les données sont locales au serveur et ont des autorisations pour les utilisateurs intégrés, le système, les administrateurs, trustedinstaller, et IUSR est défini pour les autorisations d'écriture sur certains dossiers. ApplicationPoolIdentiy est utilisé avec l'authentification pass-through. L'authentification anonyme est définie sur IUSR.

Pour les données partagées, je n'ai réussi à faire fonctionner mes sites Web qu'après avoir configuré le pool d'applications pour qu'il utilise un utilisateur de domaine, et configuré l'authentification anonyme pour qu'elle utilise ApplicationPoolIdentity. J'ai ajouté l'utilisateur du domaine pour qu'il ait toutes les permissions sur le partage SMB. J'ai également vu des recommandations visant à ajouter le compte d'ordinateur aux autorisations et à conserver les comptes système locaux pour les pools d'applications, sauf que l'IUSR doit toujours être modifié en Appidentity pour l'authentification anonyme. Une méthode est-elle préférable ? Quelles sont les permissions NTFS et SMB nécessaires, et qui a besoin d'un accès en écriture lorsque IUSR était précédemment utilisé ?

Par ailleurs, le fait d'avoir des fichiers partagés dans IIS pose-t-il des problèmes ? Les dossiers logs, caching et session php peuvent-ils être partagés ? J'ai actuellement des erreurs d'autorisation d'écriture sur les journaux et la mise en cache bien que j'aie donné toutes les autorisations.

Toute aide, toute réflexion et toute opinion sont les bienvenues !

6voto

batistuta09 Points 8723

Les permissions NTFS/SMB pour le stockage partagé IIS sont décrites en détail dans le guide ms : https://docs.microsoft.com/en-us/iis/web-hosting/configuring-servers-in-the-Windows-web-platform/configuring-share-and-ntfs-permissions

Si vous avez une application web/scripts, qui doit écrire des données dans un dossier sur le serveur de fichiers, alors vous devez configurer les permissions appropriées pour ce dossier.

Il est préférable de stocker la configuration de la ferme web sur un disque partagé. Voici un lien :

https://docs.microsoft.com/ru-ru/iis/web-hosting/configuring-servers-in-the-Windows-web-platform/shared-configuration_211

En ce qui concerne les données non-contenues (journaux, sessions de cache, etc.), vous n'obtiendrez pas un grand avantage en les stockant sur le partage. C'est donc à vous de voir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X