1. Introduction aux serveurs
2. Caractéristiques externes 
3. Caractéristiques internes 
4.Configuration de base d'un serveur 
5. Mémoires Ram des serveurs 
6. Les ports internes 
7. Les processeurs 
8. Les techniques multi-processeurs

1. Introduction aux serveurs

L'utilisation d'un réseau local lourd informatique de type Windows 2000 / 2003 / 2008 / 2012, Linux ou Novell Netware impose l'utilisation d'un ou plusieurs ordinateur(s) central (aux) appelé serveur réseau. Ils peuvent être de tous types, y compris mainframe. Nous ne voyons ici que les serveurs PC X86 compatibles, basés sur des processeurs Opteron, Xeon ou itanium. Même si un serveur informatique peut-être un ordinateur standard (petit réseau de PME) et un serveur peut être utilisé comme PC bureautique de haut de gamme, ces serveurs sont en majorité des ordinateurs spécifiques reprenant diverses spécificités liées à la vitesse, sécurité des données et des applications installées.
La puissance doit être suffisante pour l'application. Un serveur ne doit pas fonctionner à plus de 10 % de charge en moyenne, sous peine de ralentir les utilisateurs et l'application. Selon l'utilisation, le nombre d'utilisateur, la fonction du serveur (programme, fichier ou imprimante), la configuration doit être choisie en conséquence, ni trop grosse (prix), ni trop petite.
Avec l'évolution de l'informatique dans l'entreprise, l'ordinateur central et l'installation réseau devient primordial, le moindre arrêt de l'informatique provoque immédiatement l'arrêt de l'usine avec les conséquences que l'on peut imaginer. Que cet arrêt soit causé par un problème logiciel, une panne hardware d'un serveur ou d'un concentrateur n'a pas d'importance au départ. Le résultat est le même pour l'entreprise: perte de production, de données, ... Un réseau informatique ne doit pas s'arrêter. S'il a préparé des solutions pour la majorité des causes de pannes, un bon technicien de maintenance doit "se promener" dans l'usine. Un arrêt, surtout s'il dure, se paye cash, autant minimiser les durées.

2. Caractéristiques externes

Différentes solutions externes peuvent être utilisés sur les serveurs de haut de gamme:
  • Protection par clés des boutons d'allumage, reset, accès au lecteur CD et disquette, ... pour éviter des interventions non autorisées.
  • Utilisation de rack 19", ce qui réduit l'encombrement mais permet également des chemins d'accès de câbles cachés et fixés, .. Les câbles doivent être clairement étiquetés.
  • Lame (Blade): carte globale sur laquelle s'enfichent des cartes reprenant un ordinateur complet, ce qui réduit l'encombrement.
La partie externe est liée au boîtier et à la fixation mécanique et ... aux techniciens, administrateurs réseaux pour l'aspect câblage: pas de câble installés en vitesse dans les passages. Les salles informatiques pour serveurs sont généralement construites avec un faux plancher pour le passage des câbles. Le système anti-feux utilisait du halon, un gaz inerte mais toxique pour l'homme, interdit en 2004 et remplacé par l'Inergen, aussi un gaz, constitué de 52% d’azote, 40% d’argon et 8% de dioxyde de carbone qui donne le même effet mais n'est pas toxique. Ces salles sont généralement sous température contrôlée de 18°.
Le raccordement électrique passe par un UPS, alimentation ininteruptible (onduleur) qui assure une autonomie en cas de coupure de courant mais protège également contre divers problèmes liés au réseau. L'onduleur peut également éteindre proprement le serveur avec un logiciel dédié. Les plus gros centres utilisent également de gros groupes électrogènes en cas de panne prolongée (à partir de 5 minutes généralement). Les concentrateurs (hubs, switch, ...) peuvent également être protégés.

3. Caractéristiques internes

  • disques durs rapides, si possible multi-sessions: connexions SCSI et SAS pour les plus gros, S-ATA pour les plus petits. La majorité des serveurs sont vendus par les grossistes et fabricants SANS disques.
  • sécurité des données en cas de  "crash disk": dédoublement des disques durs par systèmes RAID
  • protection en cas de panne d'alimentation électrique ou de baisse de tension: UPS
  • sécurité des données en cas de panne complète du serveur ou perte de fichiers (sauvegarde quotidienne)
  • Disques durs, cartes périphériques, alimentations, ... connectables / déconnectables "à chaud" (hot plug) et redondants en option. Ceci signifie que le périphérique peut être remplacé alors que le PC continue de fonctionner.
  • Carte graphique intégrée et pas de carte audio
Les disques durs sont généralement de type SCSI ou SAS (éventuellement S-ATA). Guère plus performants en stations que les disques durs E-IDE, à part en temps d'accès, les connexions SCSI sont plus performantes en multi-read (plusieurs demandes simultanées). Ils peuvent également être redondant (RAID 1): les données sont écrites sur plusieurs disques simultanément, la lecture ne se fait que sur un seul. En cas de crash, on continue sur les autres disques. En cas de crash complète d'un serveur, on peut coupler en permanence 2 serveurs de la même manière. Tous ces systèmes sont dits RAID.
Ci-contre, l'intérieur d'un vieux modèle Compaq à base de Pentium 1, carte fille reprenant le processeur, la mémoire et le chipset. Elle se connecte via un bus spécifique sur la carte mère qui reprend un contrôleur SCSI.
 
Pour les alimentations, on peut utiliser 2 alimentations redondantes (dedédoublées). Chacune peut alimenter l'ensemble de manière autonome. Pour les cartes internes, le PCI-X 64 autorise de retirer ou d'insérer une carte sans couper la machine (à chaud) avec un système d'exploitation compatible (en pratique, tous les gestionnaires réseaux, par exemple Windows 2003). Le dédoublement d'une installation informatique garantit la continuité de l'installation en cas de panne d'un composant, cela s'appelle en informatique la redondance.
Au niveau des périphériques, les bandes de sauvegarde sont toujours le plus souvent employées avec des vitesses de transfert basées sur le SCSI. D'autres solutions comme les NAS sont également utilisées.

4. Configuration de base d'un serveur.

Par définition, un serveur n'est pas une machine dédiée aux jeux ou aux traitement graphique: la carte graphique et le lecteur CD / DVD ne sont pas des composants primordiaux pour les performances. L'écran n'est pas non plus un modèle multimédia de grande taille. C'est généralement un 15" qui tourne "à vide". L'affichage et le lecteur CD sont rarement utilisés: installation, panne critique, ... Selon le système d'exploitation, le serveur peut (ou doit) être configuré via une station.
La mémoire doit être suffisante (limitée à 4 GB maximum pour les systèmes d'exploitation 32 bits), les disques de capacités doubles, voire triples par rapport à la capacité maximum effective que vous utiliserez sur cette machine.

5. Mémoire serveur.

Par rapport aux mémoires traditionnelles, les barrettes de RAM des serveurs utilisent les mêmes technologies (DDR par exemple) mais avec des corrections d'erreur. Les serveurs actuels utilisent des RAM ECC (Error Checking and Correcting ou Error Correction Code) qui utilisent plusieurs bits de contrôle de parité pour vérifier les données. Elles sont en plus auto-correctives. Une ECC détecte 4 erreurs et  corrige une sans arrêter le système. Les mémoires Ram AECC (Advanced Error Correcting Code) peuvent détecter et corriger 4 erreurs mais sont très rarement utilisées.

6. Bus internes.

Dans un PC traditionnel, les ports sont PCI 32 bits, AGP et PCI-Express.
Première limitation, ils ne sont pas déconnectables à chaud (Hot plug): pour remplacer ou installer une carte, il faut éteindre l'ordinateur. Ca ne pose pas de problème pour les petits serveurs sans redondance puisque l'application ne peut pas fonctionner. Pour les serveurs de haut de gamme, les cartes principales (réseaux par exemple) sont redondantes. En cas de panne, la fonction continue sur une deuxième équivalente. Le Hot Plug permet la réparation sans arrêts.
Deuxième limitation,  le taux de transfert maximum sur un bus PCI est limité à 132 MB/s sur l'ensemble des connecteurs. Prenons une carte réseau Giga Ethernet (1000 Gb/s). Divisons par 10, une valeur moyenne pour le taux de transfert en octets, ça donne déjà 100 MB/s rien que pour une seule carte. La connexion des disques durs sur le même port est finalement impossible, un SCSI 160 va à lui tout seul utiliser ... 160 MB/s, soit plus que le bus ne peut transférer. Ce bus est utilisé pour les cartes réseaux en fibre optique (2 canaux pour le bidirectionnel), Giga Ethernet sur cuivre (jusque 4 canaux sur la même carte), et version SCSI 160 et 320.
 
Développé conjointement par les principaux fabricants de serveurs réseaux (IBM, Compac, HP et Intel), ces ordinateurs utilisent des bus PCI-X sur 32 ou 64 bits. C'est une évolution du PCI standard mais avec des vitesses d'horloge allant de 66 à 533 Mhz suivant les versions en 32 ou 64 bits (33 Mhz à 32 bit pour la version standard).
La version PCI-X 1.0 (1999) est développée en 6 versions.
Fréquence du bus PCI-X 1.0Tensionlargeur du bus de donnéesbande passante
66 Mhz3,3 V
3,3 V
32 bits264 MB/s
64 bits528 MB/s
100 Mhz3,3 V32 bits400 MB/s
64 bits800 MB/s
133 Mhz3,3 V32 bits532 MB/s
64 bits1064 Mb/s
La version PCX-2.0, sortie en 2002, peut également être alimentée en 1,5 V suivant les versions.
Fréquence du busTensionlargeur du bus de donnéesbande passante
66 Mhz3,3 V32 bits264 MB/s
64 bits528 MB/s
100 Mhz3,3 V32 bits400 MB/s
64 bits800 MB/s
133 Mhz3,3 V32 bits532 MB/s
64 bits1064 MB/s
266 Mhz3,3 V / 1,5 V32 bits1064 MB/s
64 bits2128 MB/s
533 Mhz3,3 V / 1,5 V32 bits2128 MB/s
64 bits4256 MB/s
 
Les cartes PCI-X 32 bits peuvent être insérées dans un bus 64 bits (forcément pas l'inverse). Les bus PCI-X sont directement connectés sur le Northbridge du chipset, ce qui nécessite des cartes mères (chipset) spécifiques.
Les ports PCI-X vont jusqu'à 533 MHz. Ceci nous donne un taux de transfert de 533 * 8 (64 bits) = 4256 MB/s pour l'ensemble du bus. Généralement, un serveur accepte également 1 ou 2 port PCI 32 bits pour des cartes standards.
Avec les ports PCI-X, nous retrouvons les caractéristiques attendues: rapidité et Hot plug (si le pilote de la carte le permet). Une dernière précision, ces cartes et l'implantation de ces bus sont chères et complexes. Chaque serveur n'inclue pas d'office un PCI-X à 533 Mhz (la majorité n'en implantent même plus depuis l'arrivée du PCI-E 2.0). Il existe des cartes à 33, 66, 100 et 133 Mhz. En plus, les gros serveurs n'incluent pas un, mais 2 ou trois ports PCI-X séparés. Ceci permet également de supprimer les goulots.

7. Microprocesseur serveur.

    Pour les caractéristiques effectives des processeurs dédiés aux serveurs réseaux, vous pouvez vous référer à la page microprocesseur serveur ou aux Dual Core. Cette partie ne reprend que les cas généraux.

7.1. Introduction

Le processeur d'un serveur n'est pas d'office une bête de compétition. Sauf pour les serveurs de programmes, les processeurs sont généralement "faibles". Un serveur de Web peut utiliser un Pentium IV ou même un CELERON. Par contre, pour les serveurs d'application, les fabricants de processeurs utilisent deux solutions: processeurs spécialisés et multiprocesseurs. Les deux sont en partie liés.
Les processeurs actuels sont soit 32 bits (Intel Core Duo), soit 64 bits (Itanium), soit acceptent les deux modes de fonctionnement (Xeon, Athlon 64 et Opteron). Pour augmenter les performances, les processeurs 64 bitsutilisent des jeux d'instruction différents. L'Itanium D'intel, full 64 bits, n'acceptent que des systèmes d'exploitation 64 bits spécifique acceptant l'assembleur IA-64. Ce sont les versions Data Center de Windows 2003 et 2008. Les processeurs 64 bits d'AMD et le XEON sont compatibles 32 et 64 bits suivant le système d'exploitation utilisé. Les registres internes ont été allongés pour augmenter l'adressage mémoire maximum, quelques instructions spécifiques sont également utilisées. 
Une dernière chose, l'utilisation en bi-processeur ou plus nécessite un système d'exploitation réseau spécifique. Windows NT, 2000 et XP Pro acceptent deux processeurs. Seuls des versions spécifiques des systèmes d'exploitation dédiés acceptent un nombre supérieur. Novell oblige une option supplémentaire. UNIX - Linux est nativement multi-processeurs, si la fonction est implantée en fonction de la carte mère / OS. Les versions "home" des systèmes d'exploitation Microsoft ne gèrent pas le multi-processeur. Pour utiliser deux (ou plus) processeurs simultanément (avec une carte mère qui l'accepte), les processeurs doivent être de même type et même fréquence et (en pratique) de même série de fabrication: une limitation de taille pour des upgrades.

7.2. INTEL

Le processeur dédié serveur d'Intel est le XEON 32/64 bits. Par rapport aux Intel Dual-Core ou même I7, INTEL insère généralement des caches L1 et L2 plus importants. Le socket et les chipsets sont différents.
Les Itanium et Itanium II sont full 64 bits et nécessitent des systèmes d'exploitation spécifiques.
Une dernière remarque, avec les Pentium IV à 3.06 Ghz, INTEL inclue désormais, l’hypertreading (pas sur les Intel Core mais réintroduit avec les I7). Cette technique permet d’émuler deux processeurs logiciels dans un seul processeur. L’avantage est lié à la vitesse même si les différents tests sont assez mitigés, notamment parce que l’application doit être dédiée à ce processus dans le cas de stations de travail. Par contre, cette fonction est largement implantée dans les ITANIUM et XEON.
L'arrivée des processeurs Dual-core en 2005 et des premiers Xeon quadri-core en novembre 2006 et même 6 coeurs en octobre 2007 modifie encore un peu la donne, surtout que les Xeon gèrent directement les bus PCI-E (comme les I7).

7.3. AMD

Depuis septembre 2001, AMD fabrique des Athlon capables de travailler en bi-processeurs (Athlon MP), avec un chipset lui aussi spécifique. L'opteron utilise la même architecture interne que les Athlon 64 mais permet de connecter jusqu'à 8 processeurs simultanément.
L'Opteron, sorti en avril 2003, est la version serveur – station informatique de haute gamme. La différence par rapport aux Athlon bureautiques est lié au nombre de bus hypertransport que ces processeurs sont capables de gérer (1, 2 ou 3). La série 100 utilise un bus et n'est pas multi-processeur. Les versions 2 bus (série 200) acceptent le bi-processeur, les versions 3 bus (série 300) permettent nativement jusque 4 processeurs simultanés, jusque 8 avec un circuit spécifique. Les chipsets actuels acceptent les bus PCI-X, PCI-Express ou l'AGP directement sur le northbridge (ces processeurs gèrent directement la mémoire, sans passer par le chipset)..
D'abord développé avec un socket spécifique de type 940, certaines versions utilisent l'AM2 (comme les versions bureautiques). Les multi-processeurs prévus pour fin 2008 utiliseront un nouveau socket, le type F.

8. Les techniques multiprocesseurs.

Distinguons d'abord le Dual-core du multiprocesseur. Dans le premier cas, deux processeurs sont insérés dans le même boîtier. Dans le deuxième cas, deux processeurs distincts (ou plus) sont insérés sur la même carte mère. Dans ce cas, les processeurs peuvent également être Dual-core ou plus. C'est la deuxième méthode qui nous intéresse. Travailler avec plusieurs processeurs simultanément (dans la même machine) nécessite forcément une carte mère compatible. Le principe doit permettre de partager la mémoire, les accès disques et en règle générale tous les bus internes.
L'utilisation de 2 processeurs simultanément est un peu plus rapide par rapport à un dual-coeur (quelques %), mais les prix sont nettement plus chères.
Deux techniques sont utilisées: le SMP à bus commuté (Symetric multiprocessing) et le multi-processing Numa. La différence entre les deux se réduit avec l'évolution, les fabricants commencent à mélanger les deux.
Le SMP est surtout utilisé dans un serveur pour un petit nombre de processeurs, le Numa s'adapte mieux à un grand nombre de processeurs.

8.1. SMP, type UMA (Uniform Memory Access)

L'architecture SMP consiste à utiliser plusieurs processeurs partageant la même mémoire et les mêmes périphériques internes. Un seul système d'exploitation fait tourner l'ensembles des processeurs. Un bus commun partagé permet les accès à la mémoire et aux périphériques.

Architecture SMP type UMA
Le bus système est le point faible du SMP puisqu'il est utilisé conjointement par tous les processeurs, même en augmentant la fréquence de l'horloge. L'augmentation de la mémoire cache permet en partie de limiter son utilisation.
Pour concevoir des plates-formes évolutives (ajout de processeurs selon les besoins), les fabricants de processeurs et serveurs réseaux ont travaillé sur des architectures à bus commutés, créant des infrastructures d'interconnexion dont la bande passante peut être augmentée par paliers, grâce à des commutateurs supplémentaires. Les composants élémentaires sont des cartes filles bi ou quadri processeurs insérées dans des connecteurs sur une carte centrale de fond. Sun a utilisé cette technique le premier avec un ordinateur utilisant 64 microprocesseurs simultanément. La carte accueillant les cartes filles permet un débit de 12,8 GB/s et permet d'enficher jusque 16 cartes quadri-processeurs. Chaque ajout de cartes quadri-processeur voit l'ouverture de canaux d'interconnexion supplémentaire et donc une augmentation de la bande passante. Dans le système SUN, la mémoire est localisée sur chaque carte fille. Elle apparaît donc comme réservée par carte quadri-processeurs. En fait, tous les accès mémoire se font par le bus central, sur la même carte fille comme sur une autre. Par ce principe, la technique SUN ressemble à une technique SMP. D'autres constructeurs utilisent des techniques équivalentes.

8.2. Multi-processeurs Numa (No Uniform memory access)


Architecture NUMA
La technologie NUMA permet de regrouper des groupes de processeurs avec leur propre mémoire dédiée et de les relier entre-eux par des bus capable de délivrer plusieurs giga bytes par seconde. L'accès à la mémoire n'est pas uniforme, un processeur n'accédera pas à la même vitesse à sa mémoire locale qu'à celle dédiée à un autre processeur. Cette différence de délais diminue, regroupant ainsi les architectures UMA et NUMA. La mémoire est partagée par l'ensemble des processeurs. Ceci implique que le système NUMA exploite une gestion des cohérences de la mémoire cache capable de prendre en compte l'ensemble des processeurs attachés à la plate-forme.
Le multi-processeur n'est pas uniquement liée à la méthode utilisée pour gérer les bus de connexions mais surtout à la méthode pour optimaliser les transferts mémoire - processeurs.
Une dernière remarque, et de taille, en architecture NUMA, chaque processeur utilise son propre système d'exploitation, alors que dans le cas SMP, un seul système d'exploitation tourne pour l'ensemble des processeurs du serveur. Ceci dédie donc NUMA pour des systèmes multi-processeurs UNIX ou propriétaires et SMP pour le monde des serveurs INTEL - Windows, même si l'Opteron utilise le NUMA de par son architecture interne reprenant le contrôleur mémoire.

Publier un commentaire

Blogger