Execuție serioasă a comenzilor pe un cluster de pe un server unix

Introducere: implementarea execuției comenzii de la distanță pe mai multe computere

Când auzi pe cineva care vorbește despre coajă, înțelegi exact ce se înțelege? În mod normal, pe orice mașină UNIX, la începutul unei sesiuni de terminale, tastați comenzi, de exemplu, numele de utilizator useradd. parola passwd. sistem-config-imprimante și așa mai departe. Această coajă (shell) este locală și rulează pe mașina dvs., astfel încât toate comenzile dvs. să efectueze acțiuni la mașina dvs. local.







Și dacă doriți să executați o comandă pe mai multe mașini: de exemplu, setați data pe toate computerele din rețeaua locală? O opțiune este de a merge la fiecare aparat individual și de a rula comanda de dată. O opțiune mai bună este de a automatiza procedura prin conectarea la server și folosind rsh, setând data și ora pe toate celelalte computere la rândul său. Pentru a seta data de la distanță, va trebui să instalați pe calculatoarele dumneavoastră instrumente cum ar fi TSecure Shell (SSH) și coajă de la distanță (rsh). De obicei, când încercați să accesați un computer la distanță, trebuie să introduceți o parolă. Cu toate acestea, puteți configura SSH și rsh în mediul dvs., astfel încât sistemul să nu solicite o parolă. Acest articol explică modul de configurare a rsh în mediul dvs. În Partea 1, SSH a fost luată în considerare.

Hardware, software, configurare

Sarcinile descrise în articol sunt rezolvate pe următoarele componente hardware și software:

  • Serverele IBM System p și System x ™, cum ar fi System p520 și System x345
  • Red Hat Enterprise Linux® versiunea 4.0 actualizare 3 (RHEL Versiunea 4.0 Update 3)
Figura 1. Diagrama rețelei

Procedați după cum urmează:

  1. Instalați actualizarea RHEL Versiunea 4.0 pe toate mașinile din rețea, în cazul nostru - node1.my.com, node2.my.com și node3.my.com. prezentat în figura 1. (Notă: lista de mai jos este rezultatul tuturor instrucțiunilor enumerate în listă). Pentru a scrie articolul, am folosit distribuția de bază RHEL4.
  2. Asigurați-vă că rsh-server-0.17-25.1 este instalat pe toate mașinile, așa cum se arată în Lista 1.
  3. Dacă rsh-server-0.17-25.1 este deja instalat, veți găsi fișiere rsh pe mașinile dvs. rlogin și rexec în directorul /etc/xinetd.d/. după cum se arată în Lista 2 (Notă: serviciile rsh. rlogin și rexec sunt dezactivate în mod implicit).
  4. Dacă rsh-server-.17-25.1 nu este instalat, instalați-l de pe CD-uri RHEL4, așa cum se arată în Listarea 3. Puteți utiliza de asemenea comanda # system-config-pachete pentru a instala serverul rsh de rpm.






Listing 1. rsh RPM
Listing 2. Servicii rsh, rlogin și rexec
Listing 3. Instalarea rsh

Configurație pentru utilizatorii rădăcină și obișnuiți

Va trebui să utilizați următoarele două configurații:

  • Utilizator rădăcină
  • Utilizatorul obișnuit, în cazul nostru - myuser

Luați în considerare mai întâi configurația rsh pentru administratorul rădăcină. Pentru a configura rsh pentru root. urmați acești pași:

  1. Conectați-vă ca root
  2. Activați serviciile rsh. rlogin și rexec pe toate mașinile, așa cum se arată în Listarea 4. (Notă: Următoarele enumerări sunt rezultatul finalizarea tuturor etapelor enumerate în listă.) Puteți utiliza serviciul de deblocare echipa # system-config-servicii sau #ntsysv. Dacă sunteți deja familiarizat cu Unix, puteți efectua manual modificările necesare la fișierele corespunzătoare.
  3. Creați fișiere /root/.rhosts pe fiecare mașină, așa cum se arată în Listarea 5. Includeți numele fișierelor tuturor mașinilor pe care doriți să le executați comenzi fără parolă.
  4. Adăugați intrările rsh și rlogin în fișierul / etc / securetty. așa cum se arată în Lista 6.
  5. După efectuarea modificărilor de mai sus, pe toate mașinile, reporniți serviciul xinetd. așa cum se arată în Lista 7.
  6. Testați-vă mediul cu comanda #rsh node3 date. Această comandă vă va permite să vedeți data setată pe calculatorul node3.my.com. după cum se arată în Lista 8. Dacă doriți să mergeți la node3, executați comanda #rsh node3. după cum se arată în Lista 9.
Listing 4. Servicii rsh, rlogin și rexec
Lista 5. Fișierul /root/.rhosts
Listing 6. Fișierul / etc / securetty
Listare 7. Pornirea și repornirea serviciului xinetd
Afișare 8. Executați comanda de dată pe node3 de la nodul computerului1
Listing 9. Obținerea accesului la node3 fără a introduce o parolă

Acum configurați rsh pentru utilizatorul normal, în acest caz - myuser. Să presupunem că un utilizator numit myuser există deja pe toate mașinile. Luați în considerare situația în care un utilizator de myuser poate executa comenzi pe un computer la distanță fără a trebui să introducă o parolă pe el.

  1. Conectați-vă ca root.
  2. Activați serviciile rsh. rlogin și rexec pe toate mașinile, așa cum se arată în Lista 4.
  3. Creați fișierul /etc/hosts.equiv. așa cum se arată în Lista 10.
  4. Apoi reporniți serviciul xinetd. așa cum se arată în Lista 7.
  5. Conectați-vă ca miuzer. după cum se arată în Lista 11.
  6. Verificați data în mediul dvs. prin rularea comenzii $ rsh node3 date. Rezultatul este data de pe masina node3.my.com. după cum se arată în Lista 12.
Listing 10. Fișierul /etc/hosts.equiv
Listare 11. Conectați-vă ca miuzer
Listing 12. Executarea comenzii de date pe node3 ca myuser

Concluzie: folosirea rsh economisește timp!

În acest articol, ați învățat cum să configurați rsh într-un mediu în rețea astfel încât să fie mai rapid și mai ușor să efectuați acțiunile necesare. Acest lucru nu numai că economisește timp, ci vă oferă și mai multă flexibilitate datorită capacității de a executa comenzi fără a introduce o parolă pe un număr mare de mașini. În Partea 1, am luat în considerare configurarea SSH, o altă posibilitate de execuție secvențială a comenzilor în mediul dvs. fără a introduce o parolă.

Descărcați resurse

Subiecte conexe







Trimiteți-le prietenilor: