View previous topic :: View next topic |
Author |
Message |
ablyes Guru
Joined: 06 Nov 2004 Posts: 429
|
Posted: Fri May 20, 2005 12:56 pm Post subject: [distcc] à distance sur le net (pas sur le même reseau) |
|
|
Salut,
J'ai parcouru un peu la page de distcc .
Je trouve l'idée superbe, surtout que j'ai fait du parallelisme sous MPI. Que je sais que les gains sont waouww !!
J'explique ce que je veux faire :
J'ai une dousaine de machines sous fedora. Je peux me connecter par ssh sur une machine toto, puis à partir de cella accéder à ces machines en refaisant un ssh.
L'idée c'est de ne pas du tout fatiguer mon laptop à compiler. Il fera juste les receives et les envois de données.
Mais je ne vois pas trop comment combiner le ssh avec discc. Si non un autre outil qui peut faire ça ?
Je sais que c'est assez chaud à faire des distributions comme ça, surtout pour de la compilation.
Donc quelques problèmes :
1- Puis-je installer des seveur discc sur une fedora ?
2- Comment rendre ssh invisible et créer en quelques sorte une reseau virtuel, sachant que je devrai faire un double ssh pour acceder à la salle contenant les pc sous fedora.
Merci. |
|
Back to top |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Fri May 20, 2005 1:10 pm Post subject: |
|
|
Jette un coup d'oeil a ssh tunneling.
(man ssh par exemple, ou sur le forum, il me semble bien qu'il y a un howto ssh qui traine) _________________ Votre moment detente
What is the nature of conflict? |
|
Back to top |
|
|
ablyes Guru
Joined: 06 Nov 2004 Posts: 429
|
Posted: Fri May 20, 2005 1:18 pm Post subject: |
|
|
Ça veut dire que c'est faisable donc ? Techniquement quoi.
Quelqu'un a déjà compilé à distance ? ou meme chez lui ?
Et pour le problème de Fedora ? |
|
Back to top |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Fri May 20, 2005 1:23 pm Post subject: |
|
|
Bah ecoute.. Tu prends le package distcc et tu l'installes.. Tu lis toutes les man pages, les fichiers de config.. Puis tu l'installes a la main sur une machine HATRED (REDHAT en verlan) et tu regardes le resultat.
C'est du Linux, ca doit marcher. _________________ Votre moment detente
What is the nature of conflict? |
|
Back to top |
|
|
arlequin l33t
Joined: 16 Nov 2002 Posts: 707 Location: grep $USER /etc/passwd | cut -d':' -f6
|
Posted: Fri May 20, 2005 6:48 pm Post subject: |
|
|
Dans d'autres circonstance, j'aurais parlé de VPN, mais je sens que ça ne va pas être possible pour toi... non ? _________________ J'vous dis ciao !
Au fait, ciao ça veut dire bye en anglais. |
|
Back to top |
|
|
ablyes Guru
Joined: 06 Nov 2004 Posts: 429
|
Posted: Sat May 21, 2005 12:41 am Post subject: |
|
|
Ça depend pour PVN.
Faut savoir que j'ai pas un compte root sur ces machines là. Que je ne suis qu'un simple utilisateur.
Mais j'ai une centaine d'MO pour compiler à la main distcc sur ces machines sous fedora. |
|
Back to top |
|
|
ablyes Guru
Joined: 06 Nov 2004 Posts: 429
|
Posted: Sat May 21, 2005 12:46 am Post subject: |
|
|
Je veux utiliser distcc pour compiler kde. Si faut déjà avoir un environnement sous gnome ou kde ça sert plus à grand chose ?
Faut un distcc sous console ! |
|
Back to top |
|
|
blasserre Veteran
Joined: 10 Feb 2004 Posts: 1362 Location: Lille, Vlaanderen
|
Posted: Sat May 21, 2005 6:51 am Post subject: |
|
|
ablyes wrote: | Je veux utiliser distcc pour compiler kde. Si faut déjà avoir un environnement sous gnome ou kde ça sert plus à grand chose ?
Faut un distcc sous console ! |
t'as juste besoin d'un gcc de même version (ou presque : gcc-x.y.z avec les x et y identiques partout) sur toutes les machines
le reste c'est le client qui l'envoie _________________ benj
technicien professionnel, ascendant winner |
|
Back to top |
|
|
terreur Apprentice
Joined: 30 Nov 2004 Posts: 228 Location: Belgique
|
Posted: Sat May 21, 2005 6:53 am Post subject: |
|
|
Il me semblait que pour utiliser distcc tu devais diposer d'une grand bande passante.
On avais essayé de le faire en base10 et c 'etait pas top. |
|
Back to top |
|
|
ablyes Guru
Joined: 06 Nov 2004 Posts: 429
|
Posted: Sat May 21, 2005 12:25 pm Post subject: |
|
|
EDIT : :p
ok je vais essayer ce soir par ssh. @+ |
|
Back to top |
|
|
ablyes Guru
Joined: 06 Nov 2004 Posts: 429
|
Posted: Sun May 22, 2005 1:46 pm Post subject: |
|
|
j'ai parcouru le man de distcc.
tres intéressant quand on voit que pour 3 machines le gain est de 2.6, donc presque 3 fois plus vite qu'une seule machine sur un reseau local.
je suppose qu'à distance ça ira moins vite, surtout que je ne peux utiliser que ssh, donc 20 % des données pour le cryptage.
je n'ai pas pu mettre en place distcc parceque je ne vois tout simplement pas comment le faire, je m'explique :
Code: |
MON_ORDI=====internet======SERVER_TARTAR|======reseau_local=======MACHINE 1
........................................|======reseau_local=======MACHINE 2
........................................|======reseau_local=======MACHINE 3
........................................|======reseau_local=======MACHINE 4
...
........................................|======reseau_local=======MACHINE N
|
Voilà en gros ce que ça donne, avec un nom de compte sur le SERVER_TARTAR, qui est le aussi sur les MACHINE1, ....N.
par exemple si je veux me connecter sur la machine1 je fais ça :
Code: |
ssh lyes@servertartar.fr
puis :
ssh machine1....N
|
|
|
Back to top |
|
|
Ey l33t
Joined: 07 Apr 2005 Posts: 863 Location: Paris
|
Posted: Sun May 22, 2005 2:16 pm Post subject: |
|
|
ablyes wrote: |
Code: |
ssh lyes@servertartar.fr
puis :
ssh machine1....N
|
|
si tu as acces à servertartar tu mets netcat dessus (commande nc sous gentoo emerge netcat)
sinon tu l'installe sur machine1..N
ensuite tu fais selon les cas :
- nc sur servertartar :
tu mets "ProxyCommand ssh servertartar nc -q machine1 %p" dans ta conf pour l'accès à machine1, exemple :
Code: |
Host Machine1
ProxyCommand ssh servertartar nc -q machine1 %p
|
- pas de nc sur servertartar :
tu mets "ProxyCommand ssh servertartar ssh machine1 nc -q machine1 %p" dans ta conf
par contre ce coup-ci il faut que tu puisses te loguer avec une clef sur machine1 (le proxycommand accepte que tu rentres le mdp pour le premier mais comme le 2e n'est pas sur un terminal directement à cause du ssh ça ne passe pas)
Par contre pour la clef si tu utilises ssh-agent tu peux utiliser la clef de ta machine distante pour te loguer sur machine1
EDIT : ensuite tu peux faire ssh machine1 et ça te loguera direct sur machine1 en passant par servertartar et tu pourras forwarder ce que tu veux dedans
Last edited by Ey on Sun May 22, 2005 2:20 pm; edited 1 time in total |
|
Back to top |
|
|
ablyes Guru
Joined: 06 Nov 2004 Posts: 429
|
Posted: Sun May 22, 2005 2:18 pm Post subject: |
|
|
J'ai oublié de préciser que mon compte n'est pas en local sur chaque machine.
C'est le même espace disque sur toutes les machines, un reseau de fac quoi.
Que le servertatar est sous freeBsd, les machine sous redhat (fedora). |
|
Back to top |
|
|
ablyes Guru
Joined: 06 Nov 2004 Posts: 429
|
Posted: Fri Jun 10, 2005 1:28 pm Post subject: |
|
|
C'est pas une idée super super, mais ça permettre d'aller plus vite :
portable <-----internet -------> machines
je veux créer un reseau virtuel avec des machines se trouvant super loin ^^ sur internet. sachant que le seul accès que j'ai sur ces machines c'est du ssh.
en gros je veux que ces machines aient des adresses virtuelles chez moi de type 192.168.1.??? par exemple.
comme ça je pourrai faire ma compilation avec distcc sans avoir à manipuler des commandes difficiles avec les ssh...
apres ça, le seul probleme qui se posera alors, c'est que les machines distantes sont sous redhat like. est ce que je peux utiliser mes binaires à moi, et prendre la cpu des machines distantes ? ou suis-je obliger d'installer distcc sur ces machines à partir des sources de ce dernier ?
je dis ça, parceque ya des proxy partout sur les machines distantes et que c'est trop difficile de laisser un port ouvert ...
bref. trop de contraintes. j'espere que ça sera surmontable grace à votre aide. |
|
Back to top |
|
|
scout Veteran
Joined: 08 Mar 2003 Posts: 1991 Location: France, Paris en Semaine / Metz le W-E
|
Posted: Fri Jun 10, 2005 2:59 pm Post subject: |
|
|
ablyes wrote: | C'est pas une idée super super, mais ça permettre d'aller plus vite :
portable <-----internet -------> machines
je veux créer un reseau virtuel avec des machines se trouvant super loin ^^ sur internet. sachant que le seul accès que j'ai sur ces machines c'est du ssh. |
Les techniques développées par ey sont reprises dans mon howto: Tunnels et utilisation avancée de ssh (d'ailleurs c'est ey qui m'a appris la plupart des trucs que j'ai mi la dedans )
ablyes wrote: | en gros je veux que ces machines aient des adresses virtuelles chez moi de type 192.168.1.??? par exemple.
comme ça je pourrai faire ma compilation avec distcc sans avoir à manipuler des commandes difficiles avec les ssh... |
c'est possible,
1-) le plus simple serait de socksifier ton emerge à travers le serveur socks fourni par ssh
2-) sinon tu fais des localforward dans ssh et les machines seront représentées par localhost:10001, localhost:10002, localhost:10003, ...
3-) si tu veux vraiment des sortes d'addresses virtuelles il faudrait coupler le localforward de ssh à des règles iptables de manière à ce que tout ce qui est destiné à 192.168.1.3 (par exemple) soit redirigé sur localhost:10003
ablyes wrote: | apres ça, le seul probleme qui se posera alors, c'est que les machines distantes sont sous redhat like. est ce que je peux utiliser mes binaires à moi, et prendre la cpu des machines distantes ? ou suis-je obliger d'installer distcc sur ces machines à partir des sources de ce dernier ? |
J'ai pas tout compris là ...
ablyes wrote: | je dis ça, parceque ya des proxy partout sur les machines distantes et que c'est trop difficile de laisser un port ouvert ... |
bien rien de t'empèche de faire un serveur juste en local sur la machine, après tu accèdes à ce port uniquement accessible en local en te loggant en ssh sur cette machine. La machine peux être blindée de firewalls ça marchera quand même.
ablyes wrote: | bref. trop de contraintes. j'espere que ça sera surmontable grace à votre aide. |
Bien disons que non seulement il va falloir que tu tunnelles tout, en plus il faut théoriquement que gcc soit de la même version parout et en surprime t'aura éventuellement à démarrer des distcc sur les machines avec des techniques bizarres (genre tu compiles le distcc dans ton home, puis du essayes de démarrer le serveur sur un port non privilégié) ... le temps que tu mettes tout en place, ton ordi il aura déja tout émergé depuis longtemps. _________________ http://petition.eurolinux.org/ - Petition against ePatents
L'essence de la finesse |
|
Back to top |
|
|
l.slysz Apprentice
Joined: 03 Jun 2005 Posts: 256
|
Posted: Fri Jun 10, 2005 5:34 pm Post subject: |
|
|
bah je suis p'tet à coté de la plaque, mais distcc supporte dans ses fichiers de configuration les connexion ssh, donc ou est le probleme ?
bon apres effectivement, faudrait un distcc qui tourne sur chaque machine
le seul probleme que je vois, et ça c'est à voir avec distcc, c'est le double ssh, ya plus qu'à tester
http://www.gentoo.org/doc/fr/distcc.xmlexemple 2.3
http://distcc.samba.org/man/distcc_1.html
Quote: | For TCP connections the volunteers must run the distccd(1) daemon either directly or from inetd. For SSH connections distccd must be installed but should not be listening for connections. |
si j'ai bien suivi, pas besoin d'avoir le demon qui tourne sur les machines clientes si ssh |
|
Back to top |
|
|
ablyes Guru
Joined: 06 Nov 2004 Posts: 429
|
Posted: Sat Jun 11, 2005 11:16 am Post subject: |
|
|
oué double ssh, pas de distcc sur les autres machines, un seul compte commun, donc je sais pas trop si ça va marcher. la derniere fois que j'ai fait du parrallélisme, j'ai lancé sur deux pc différents une machine MPI. je veux dire avec le meme comptes, et deux personnes.
Je crois que les résultats etaient un peu n'importe quoi, pas a cause du partage du cpu vu que c'etait les meme machines utilisées, mais plutot parceque ça ne peut pas cohabiter ce genre de trucs sur un meme compte. |
|
Back to top |
|
|
|