Accueil > SCCM > SCCM – Microsoft SCCM 2007 et Microsoft SQL 200x (Best Practices)

SCCM – Microsoft SCCM 2007 et Microsoft SQL 200x (Best Practices)

logo-sccm-20072

Petit post rapide non-exhautif sur Microsoft SQL versus SCCM… Smile

Vous avez sans aucun doute, remarqué que Microsoft SQL est désormais la pierre angulaire de tous les produits de la gamme System Center de Microsoft.

Par corollaire, les performances de vos solutions dépendent donc (en partie) de la performance de votre serveur SQL que vous utilisez. Il est donc important de bien “designer” celui-ci afin d’obtenir un maximum de rendement pour vo(s)tre solution(s). Donc je vous propose ici de balayer vite fait les points importants auxquels vous devez porter toute votre attention pour Microsoft SCCM. (Liste non-exhaustive)

Première question à se poser est : Doit-on installer SQL sur le même serveur que votre solution ?

Deuxième question à se poser est : Doit-on faire de la haute disponibilité pour SQL ?

Troisième question à se poser est : Quelle sera la taille de nos bases SQL ?

Quatrième question à se poser est : Quel doit être la configuration matérielle ?

A ces 4 questions, s’ajouteront celles-ci :
– Quelle Collation choisir lors de l’installation, et pourquoi ?
– Quelle version de Microsoft SQL dois-je utiliser ?
– Quelle version de Microsoft SQL, x86 ou x64 ?
– Quelle sera la plan de maintenance et de sauvegarde à adopter ?
– Comment tester une restauration de base et faire du PRA en cas de crash ?

Cela représente beaucoup de questions, je sais, mais elles sont indispensables !

Doit-on installer SQL sur le même serveur que votre solution ?
Pour celle-ci, je pense qu’elle dépend aussi de la seconde, à savoir “Doit-on faire de la haute disponibilité pour SQL ?”. Car on a tendance, à mettre avec raison, un cluster SQL sur des machines dédiées… Normal !

Ce qui nous ramène donc à la question “Quelle version de Microsoft SQL dois-je utiliser ?”. Seule la version Entreprise de SQL peut vous permettre de faire du cluster avec SQL. (Ou Data Center, mais là, pas besoin d’aller aussi loin. La version entreprise suffit !). Donc pour répondre à cette question, oui, si vous désirez mettre en place de la haute-disponibilité type cluster, pas le choix.

Mais uniquement en Actif/Passif pour SCCM

Maintenant, sans vouloir faire de la haute-dispo, il peut être utile (ou conseillé) de dédié un serveur à SQL pour des questions de performance.

Par exemple, pour mettre en place SCCM avec 2000 utilisateurs (postes), inutile de le faire… Microsoft SQL peut très bien être installé sur le même serveur que SCCM.

Taille de la base SQL
Cela dépend aussi de la volumètrie que devra gérer SCCM et donc SQL. Et du nombre de transactions que cela peut engrendrer. Sachant qu’un client SCCM consomme 3 Mo, en multipliant ce chiffre par le nombre de clients que devra gérer SCCM divisé par 1024 (valeur en Go), cela vous donnera une idée sur la taille de la base SCCM.

Hiérarchie SCCM
Là aussi la conception d’une hiérarchie SCCM est un critère important. En effet, pour des raisons de “délocalisation”, il est possible que vous soyez obligé de créer des sites enfants SCCM, faisant donc de votre 1er serveur SCCM (devenu Root), un central SCCM. Bien sûr, pour les sites enfants, la version la moins coûteuse reste le site secondaire SCCM. Car celui-ci fonctionne sans Microsoft SQL.

Par contre, si vous avez l’intention de mettre d’autres serveurs primaires, alors les mêmes questions devront trouver une réponse pour chacun d’eux. Mais en règle générale, on essaye d’uniformiser la configuration (vers le haut) ou les besoins pour l’ensemble des serveurs SQL, concernant les sites SCCM enfants qui auront une base SQL.

Cependant, dans ce cas là, je vous conseille de “sur-dimensionner” votre serveur Root SCCM par rapports au standard, si celui-ci doit héberger SQL… Ou plutôt de dédier un serveur pour votre SQL. Car en effet, il ne faut pas oublier que votre SCCM Root (en fait SQL) “consolidera” l’ensemble des informations SCCM et bases SQL de toute votre hiérarchie SCCM.

Dans ce scénario, la seule question qui resterait en suspend, ou restant à traiter serait : Quand et pourquoi mettre un site SCCM enfant et de quel type ? Là je vous renvois vers cet article

Note 1 : En règle générale, pour de grosses infrastructure SCCM, il est conseillé que le serveur Root SCCM ne gère aucun ou très peu de clients. Celui-ci ne servirait donc qu’à consolider les informations de l’ensemble de hiérarchie SCM et ne servirait que pour de la consultation (Rapports, etc.)– En somme, avoir une vue complète et la plus haute sur la hiérarchie SCCM.

Quelle version entre x64 et x86 !?
Si votre plateforme OS peut être de type 64 bits, pas d’hésitation ! Faites du x64 de bout en bout de la “chaîne”. La réponse est donc x64 pour de meilleures performances…

Même si SCCM 2007 n’existe qu’en version x86 !

Quelle configuration doit-on avoir ?
La meilleure possible, je dirais, compte tenu de l’importance de SQL a pour SCCM… Je vous invite à consulter les
best practices Microsoft pour la partie RAID, CPU et RAM. Pour ce qui est des disques, il vous faut :

Pour une configuration minimale
– un disque pour le Système, (Contrôleur 1)
– un disque pour les bases SQL et Logs, (Contrôleur 2)
– un disque pour la TempDB. (Contrôleur 3)

Pour une configuration medium :
– un disque pour le Système, (Contrôleur 1)
– un disque pour les bases SQL, (Contrôleur 2)
– un disque pour les Logs SQL, (Contrôleur 2)
– un disque pour la TempDB. (Contrôleur 3)

Pour une configuration suprême :
– un disque pour le Système, (Contrôleur 1)
– un disque pour les bases SQL, (Contrôleur 2)
– un disque pour les Logs SQL, (Contrôleur 3)
– un disque pour la TempDB. (Contrôleur 4)

Note 2 : Concernant la virtualisation, je vous conseille de créer des disques fixes pour vos machines virtuelles, question de performances. Il vous sera donc indispensable de bien tailler vos bases ou plutôt vos disques en conséquences. Dans ce cas, n’oubliez pas de défragmenter vos disques physiques régulièrement.

Important : Microsoft ne recommande pas l’utilisation de SQL dans un environnement virtualisé

Note 3 : Considérer 3,2 Go maximum pour la base Microsoft WSUS. Et oui, il ne faut pas l’oublier. En admettant que vous ayez tout coché dans WSUS (SCCM) comme mises à jour…

Note 4 : Configurer l’autogrow des bases dans SQL comme suit :
Logs de transactions : 20% –> Réserver 25% d’espace disque de la base SCCM
Base TempDB : 10% –> Réserver 15% d’espace disque de la base SCCM

Gestion de la TempDB de SQL
Le lien suivant vous explique qui est conseillé de “spliter” votre TempDB avec autant de fichiers qu’ils existent de processeur/Core

http://blogs.msdn.com/b/sqlserverstorageengine/archive/2009/01/04/managing-tempdb-in-sql-server-tempdb-configuration.aspx

Mémoires RAM
Ne laisser pas SQL prendre tout ce qui trouve comme quantité de mémoire RAM disponible. Modifier la valeur par défaut et n’autoriser pas plus de  50% à 70% max. de la mémoire physique disponible (Barrettes mémoires). D’autant plus si SCCM est installé sur le même serveur…

Quoi qu’il en soit, laisser au moins 1 Go pour le système !

Note 5 : Pour info, Microsoft SQL 2008 R2 est plus performant pour gérer l’allocation de la mémoire disponible. Le fait de ne rien spécifier, ne veut pas dire forcément que SQL 2008 R2 utilisera toute la mémoire disponible.

Quelle collation devez-vous utiliser pour SQL ?
Déjà éviter la “mixité” des langues concernant les produits installés sur le même serveur. Par ex. si vous partez avec de l’anglais, alors finissez avec l’anglais ! Puis définissez les ‘”Regional Settings” en conséquence de ce choix. SQL, lors de l’installation prendra comme référence les “Regional Settings” pour déterminer la collation, qui dans ce cas là sera Latin_General_1.

A ce choix, doivent s’ajouter les options AS (Accent Sensitive) et CI (Case Insensitive). Pour donner en finale la collation suivante : Latin_General_1_CP1_AS_CI (English).

Pour changer de Collation SQL (En cas où…) avant l’installation de SCCM
http://msdn.microsoft.com/en-us/library/ms179254.aspx

Plan de Maintenance SQL…
… est inutile dans le cadre de SCCM. En effet, des tâches de maintenance sont déjà activables depuis la console SCCM. Il est donc inutile de faire des plans de maintenance depuis la console SQL en plus.

http://technet.microsoft.com/en-us/library/bb693817.aspx

Sauvegarde et Restauration
La tâche de sauvegarde de la base SQL est déjà incluse dans les tâches dans la console SCCM. Celle-ci sauvegarde la base SQL, mais aussi les fichiers de configuration, etc. nécessaires à SCCM.

http://technet.microsoft.com/en-us/library/bb633229.aspx

image

Tester toujours et régulièrement vos sauvegardes SCCM. Programmer une sauvegarde de vos sites SCCM tous les jours depuis la console SCCM, en prennant soin de les indexer sur un serveur de fichiers distant (En lieu sûr). Garder au moins les 3 dernières sauvegardes… http://technet.microsoft.com/en-us/library/bb680351.aspx

Comment tester vos sauvegardes ?
Pour tester vos sauvegardes, lancer l’assistant ConfigMgr Site Repair Wizard

image

Cliquer sur Next à la page d’accueil, puis spécifier le répertoire que vous avez spécifier dans la tâches de maintenance SCCM (Cf. plus haut) dans la console SCCM.

image

Cliquer sur Next pour valider.

L’assistant va alors vérifier tous les fichiers de site et l’intégrité des fichiers de la base de données SQL de SCCM. Cela peut être long, car fonction de la taille de la sauvegarde. Une fois fait, tous les voyants doivent en vert, comme suit :

image

A ce stade, vous pouvez considérer que la sauvegarde est viable et faire Cancel, les services SCCM redémarront…

Fichier de log smsbkup.log
Autre pointeur à vérifier, consulter le fichier de log : smsbkup.log, se trouvant dans le sous-répertoire [SiteCode]Backup du répertoire que vous avez spécifié dans la tâches de maintenance de sauvegarde. Chercher la ligne xx/xx/xx xx:xx:xx Backup Completed.

La capture d’écran suivant, montre ce que doit contenir la sauvegarde SCCM, et notamment les fichiers de la base de données SQL pour SCCM :

image  image 

Comment mettre en lieu sûr et archiver vos sauvegardes SCCM ?
Pour l’archivage de vos sauvegardes, en admettant que vous n’ayez pas de solution tierce pour ça, vous pouvez utiliser AfterBackup.bat, afin qu’il puisse lancer un script de copie sur un serveur de fichiers distant. Ceci afin de mettre la sauvegarde en lieu sûr. Profitez-en pour indexer vos sauvegardes en évitant que les précédentes ne soient pas écrasées par celle du jour…

http://technet.microsoft.com/en-us/library/cc181721.aspx 

Pour information, la sauvegarde de Microsoft SCCM/SQL ne prend pas en charge la sauvegarde de Microsoft WSUS 3.0. Pour cela, reportez-vous à la section Backing Up Windows Server Update Services 3.0 sur le site de Microsoft TechNet

Instance nommée SQL pour SCCM
Supportée par Microsoft
http://technet.microsoft.com/en-us/library/bb632649.aspx 

image

Utilisation d’un port statique autre que le 1433 pour l’instance SQL
Non supporté par Microsoft
http://technet.microsoft.com/en-us/library/bb632618.aspx

Non-Configurable Ports

Configuration Manager does not allow you to configure ports for the following types of communication:

– Site to site (primary-to-primary or primary-to-secondary)
– Site server to site system
– Site server to site database server
– Site system to site database server
– Configuration Manager 2007 console to SMS Provider
– Configuration Manager 2007 console to the Internet

Et…

image

http://technet.microsoft.com/en-us/library/bb632649.aspx 

Cluster SQL pour SCCM
Supporté uniquement en mode Actif/Passif

Comment SCCM “trouve” les informations concernant Microsoft SQL ?
SCCM lors de l’installation où tout autre opération, s’appui, soit sur le SPN, soit sur le SQL Browser. Ce dernier peut donner les informations concernant SQL au serveur SCCM à condition que la port 1434 en UDP soit autorisé ! 

SPN (Service Principal Name)
Lorsque vous utilisez un compte de service pour SQL (Local System ou autre), il ne faut pas oublier de configurer le SPN. En plus du FQDN, ne pas oublier de spécifier les mêmes enregistrements pour le nom court de votre serveur SQL. Voici la marche à suivre :
http://technet.microsoft.com/en-us/library/bb735885.aspx

image 

Comment ajouter des tâches de maintenance supplémentaires depuis la console SCCM ? Depuis la console SCCM, vous pouvez aussi ajouter d’autres tâches de maintenance pour SQL. Par ex. DBCC checkdb. Pour ce faire je vous renvois par exemple, vers le site de Paul Thomsen

Enjoy !

Michel PICOLLET | EXAKIS Paris
Consultant Senior Microsoft [System Center]
mpicollet@event-horizon.emea.microsoftonline.com

Catégories :SCCM Étiquettes : , , ,
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :