[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Grappe de calculs hétérogène sous Debian et SLES (LVS vserver and co)



----- Mail d'origine -----
De: francois petitjean <francois.petitjean@bureauveritas.com>
À: debian-user-french@lists.debian.org
Envoyé: Sat, 18 Dec 2010 20:40:01 +0100 (CET)
Objet: Grappe de calculs hétérogène sous Debian et SLES   (LVS vserver and co)

Bonjour,

Le département Recherche de la branche Marine vient d'acquérir des 
serveurs HP pour effectuer des calculs CFD (OpenFoam + code maison), 
hydrodynamique (Hydrostar for Exprts du docteur Chen), de structure (avec 
Abaqus de Simulia ou NXNastran de Siemens PLM), de propagation de fissures 
(saphir code maison) et de feu (code google? ).

Depuis 2 ans et demi, tout ceci est centralisé sur un Proliant G5 de 64Go 
de RAM sous SLES  (SLES11 SP1 depuis le 12 décembre (*)).
Jeudi dernier, nous retirions du rack un IBM P630 (pseries 4 CPUS Power 
4+)(**) pour faire de la plcae et installer l'après midi même une 
palanquée de serveurs Proliant G7  à base de pocesseurs AMD Opteron 
magny-Cours. 

Je suis chargé de configurer et administrer tout cela. Nous avons donc :

à ma gauche quelques utilisateurs pressés d'utiliser le nouveau système

à ma droite du matériel  nouveau dont la puissace est d'un ordre de 
grandeur plus importante que ce qui tourne actuellement  puisque on y 
trouve :
  6 serveurs P165 G7 32Go RAM, 2 CPUS de 12 coeurs chacun   (144 coeurs 
auu total  le Proliant G5 fait 4 x 4 coeurs)
  1 serveur  2U 16Go RAM 2 CPUS 8 coeurs avec 6 disques 7200tpm de 500Go
 1 serveur 1 CPU 8 coeurs, 8 Go et une licence SLES pour installer les 
logiciels commerciaux (pour ne pas dire privateurs) qui ne sont qu'en rpm.

Je voudrais, dans ce premier message, décrire l'architecture globale de 
cet ensemble et vous demander ce que vous en pensez.

Tout d'abord Debian GNU/Linux partout  (exception faite de la machine pour 
les produits-paquets commerciaux)
J'envisage d'installer directement squeeze  (amd64) en commençant par 5 
des 6 serveurs de calculs.
Les machines sont dans un domaine nis (drhpc) contrôlé par deux P630 sous 
Debian
Un sous réseau interne est créé en connectant tout le monde sur 2 
commutateurs administrables 3Com 24 ports gigabits (reliés entre eux 
stacked comme on dit chez 3Com)
Pour les systèmes de fichiers : les répertires des utilisateurs restent 
pour l'instant sue le Poliant G5 : export nfs avec automount.
Pour les caculs volumineux chaque utilisateur dispose de /bigsr/nom  qui 
est obtenu par automount  :
   chaque serveur exporte /bigsl    Sur la machine 1 je crée un répertoire 
machin pour l'utilsateur machin, je fais de même pour l'utilisateur truc 
mais sur la mchine 2, etc
Dans /etc/auto.master :
/homes  /etc/auto.home
/bigsr       /etc/auto.bigsr

et /etc/auto.home
# @(#)  /homes mapping for automount   (imhs est le nom sur le réseau 
interne duu G5 qui exporte /homes )
*     -rw,hard,intr,nosuid,rsize=8192,wsize=8192         imhs:/homes/&

Pour     /etc/auto.bigsr  j'aimerais mettre :
# @(#)  /bigsr mapping for automount
*     -rw,hard,intr,nosuid,rsize=8192,wsize=8192 
imss,im01,im02,im03,im04,im05:/bigsl/&

( Je mets les noms des machines sur le sous-réseau interne )

Jusque là, ce n'est pas super complique mais mes utilisateurs voudraient 
un nom ( une adresse) unique et obtenir un environnement complet.
D'autre part, il me semble que 24 coeurs pour  toutes les sessions et tous 
les calculs c'est un peu du gâchis. J'ai donc imaginé un certain nombre de 
classes de sessions (pour se connecter et les calculs )
la classe a  (accès, all) 2CPUS  24 coeurs pour ceux qui veulent lancer 
make -j 24
la classe b (bis) 1 CPU 12 coeurs
la classe c (classqiue) 1/2 CPU  6 coeurs 
la classe d (développement) spéciale, ne sera implémentée qu'à la demande.

Dans cette optique les différents environnements sont réalisés par des 
créations de vservers.

Règles de nommage :
                        nom (externe)   IP      nom (interne)  IP
serveur de calcul 1 :  drhpc_m01  10.67.24.130  im01  192.168.1.130
           ia01   192.168.1.131 
            ib11   192.168.1.132
           ib21   192.168.1.133
           ic11   192.168.1.134
           ic21   192.168.1.135
           ic31   192.168.1.136
           ic41   192.168.1.137

Pour la machine 2 on commence à 140.

Our un vserver  l'interface externe (eth0) orte le numéro 10.67.24.xxx, 
l'interface interne (qui peut être bond0) 192.168.xxx et le contexte sera 
le numéro xxx (pour pouvoir s'y retrouver ). 
Sur la machine 2  par exemple
vserver  a02 build  -m debootstrap  --context  141 --hostname 
drhpc_a02.eua.bvcorp.corp --interface a02=eth0:10.67.24.141/24 --interface 
 bond0:192.168.141/24  --cpusetcpus 0-23   -- -d squeeze -m 
http://ftp.fr.debian.org

On installe les paquets dans a02,  (Comment faire pour ne pas avoir de gdm 
? )
 Pour les autres vservers on utilise -m clone et on ajuste les contextes 
et IPs noms ..

En répétant ce processus sur 5 serveurs (j'en garde un sous le coude), on 
obtient
5, 10 et 20 machines vservers de 24, 12 et 6 coeurs respectivement.

Pour accéder à tout celà, j'envisage d'utiliser LVS, répartition de charge 
IP, pour le port 22 (ssh). en espérant que cela soit suffisant pour les 
accès XWindows (ssh -X) et pour le ftp  (sftp avec FileZilla). Les 
utilisateurs sont en très grande majorité sous Windows XP (le système 
corporate, imosé) et utilisent Putty et Xming.

Je voudrais donc installer ipvsadm et ldirectord sur les deux P630 qui 
restent (servent déjà de serveurs NIS) et créer des vservers drhpc_a, 
drhpc_b, .. qui seront les points d'entrée de la grappe de calculs.  En 
fait je pense qu'il n'est pas nécessaire de créer des vservers pour 
attacher des IP à l'interface orientée vers le LAN. J'avoue ne pas avoir 
compris comment  créer eth0:virta, ... et si c'est raisonnable.

Puis  /sbin/ipvsadm-restore  sessions_ssh
avec le fichier  (4 serveurs mis en route )
-A -t  drhpc_a:22 --scheduler wlc  --persistent
-a -t  drhpc_a:22   --real-server ia01 --gatewaying  --weight  24
-a -t  drhpc_a:22   --real-server ia02 --gatewaying  --weight  24
-a -t  drhpc_a:22   --real-server ia03 --gatewaying  --weight  24
-a -t  drhpc_a:22   --real-server ia04 --gatewaying  --weight  24

-A -t  drhpc_b:22 --scheduler wlc  --persistent
-a -t  drhpc_b:22   --real-server ib11 --gatewaying  --weight  12
-a -t  drhpc_b:22   --real-server ib21 --gatewaying  --weight  12
-a -t  drhpc_b:22   --real-server ib12 --gatewaying  --weight  12 
-a -t  drhpc_b:22   --real-server ib22 --gatewaying  --weight  12 
..
-a -t  drhpc_b:22   --real-server ib25 --gatewaying  --weight  12 

etc ..

Donc je mets dans /etc/hosts

10.67.24.190  drhpc_a
10.67.24.191  drhpc_b
..
et comment est-ce que j'attache ces IPs à l'interface sur le LAN de la 
machine LVS ?

Qu'en pensez-vous ?
Est-ce que cela tient la route ?

Désolé d'avoir été aussi long  (comme l'avait dit Pascal )
Mes excuses par avance pour les fautes de frappe mais je suis obligé de 
travailler avec la loupe à cause de problèmes de rétine oculaire.

Notes
(*)  Sont sympas chez Süse Novell  : ils n'annoncent même pas à leurs 
clients quand un Service Pack sort  (en juin) et préviennent fin novembre 
que le support SLES11 se termine le 15 décembre.
(**) cette machine étatit sous AIX 5.1 un système où la commande ping est 
dans /etc et le fichier nsswitch.conf s'appelle autrement. Mais depuis que 
j'ai pu installer un noyau 
Linux halc10 2.6.32-bpo.3-powerpc64 #1 SMP Tue Mar 16 11:14:53 UTC 2010 
ppc64 GNU/Linux
sur deux machines comparables je me suis dit qu'elles pouvaient encore 
servir.


Cordialement, 
Regards, 
Mit freundlichen Grüßen 
مع  تحياتي الخالصة 

F. Petitjean 
Ingénieur civil du Génie Maritime
---
     "Q: When do I need xml ?
     A: When I need a new buzz word for my resume."
    -- From the W3 XML page.


bonjour,

pour ce genre de casse tete prière de voir avec le frère tuck et de ne pas faire 
le coup du père françois ... ;)

et pour la doc :

http://www.calvin.edu/~adams/research/microwulf/
http://www.calvin.edu/~adams/research/microwulf/sys/microwulf_notes.pdf

bref, en l'occurence il s'agit tout simplement de monter un microwulf ...

meme si la doc date un peut, le fond est toujours valable ...

désolé, mais j'ai pas les moyens ni les connaissances pratiques pour suivre ....

slt
bernard


Reply to: