This shows you the differences between two versions of the page.
rl:info:resurse:vm-laborator [2018/12/03 18:53] florin.stancu add openstack back |
rl:info:resurse:vm-laborator [2023/01/13 16:47] (current) florin.stancu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Mașina virtuală ===== | + | ====== Mașină Virtuală ====== |
- | ===== Download ===== | + | |
+ | ===== OpenStack ===== | ||
- | Este recomandat să folosiți [[http://cloud.curs.pub.ro | cloud-ul facultății]] (infrastructură de tip OpenStack). | + | Aveți opțiunea de a folosi [[http://cloud.grid.pub.ro | cloud-ul facultății (OpenStack)]] pentru a rezolva temele / laboratoarele la RL. |
- | Pentru a porni o astfel de masină urmăriți tutorialul de la [[https://cloud.curs.pub.ro/about/tutorial-for-students/ | această adresă]]. | + | |
- | Ca alternativă, puteți folosi o mașină virtuală rulată pe propriul PC. Pentru aceasta, trebuie să aveți VMware Player instalat (sau orice alt hipervizor, pentru utilizatori avansați). | + | Pentru a porni o astfel de masină pentru prima dată, urmăriți tutorialul oficial de la [[https://cloud.curs.pub.ro/about/tutorial-for-students/ | această adresă]] **ignorând punctul 1** (nu mai este necesar, conturile au fost deja create automat), cu următoarele puncte cheie / precizări: |
- | Imaginea mașinii virtuale VMware folosită în laboratorul de RL și **Tema2 (2018)** o puteți descărca [[http://elf.cs.pub.ro/rl/vm/Tema2_2018.zip|de la această adresă]]. | + | * Adăugați o pereche de chei privată-publică pe ''fep.grid.pub.ro'' (prin ssh) si copiați cheia publică pe OpenStack (folosind interfața web). |
+ | * **Notabil:** Acest pas trebuie să-l faceți o singură dată, cheia rămânând activă tot anul școlar (sau până la prima greșeală de ștergere accidentală a acesteia pe fep :D). | ||
+ | |||
+ | * Când creați instanța de mașină virtuală (în fereastra "Launch instance"), folosiți setările: | ||
+ | * Dați un nume specific instantei, folositi numele vostru si numarul laboratorului (e.g., "Iulia Florea Lab 8"); | ||
+ | * În meniul din stânga, la **Sources**, căutați ''RL 2022 v2'' și apăsați pe săgeată sus pentru a o selecta; | ||
+ | * La **Flavor**, este suficient ''m1.small'', nu aveți nevoie de mai multe procesoare sau memorie mare; | ||
+ | * La **Networks**, selectați ''vlan9'' și apăsați pe săgeata sus pentru a o seta; | ||
+ | * Acum puteti porni masina prin butonul **Launch Instance**! | ||
+ | |||
+ | * Odată pornit VM-ul, vă puteți conecta la el folosind pașii următori: | ||
+ | - Conectați-vă prin ssh la ''fep.grid.pub.ro'', apoi pe mașina virtuală proaspăt pornită prin IP-ul privat (''10.9.x.x''). Urmati pasii de mai jos: | ||
+ | - De pe sistemul fizic, deschideti un terminal si realizati o sesiune SSH catre ''fep.grid.pub.ro'':<code bash> | ||
+ | student@mjolnir:~$ ssh <user moodle>@fep.grid.pub.ro | ||
+ | </code> | ||
+ | * **Atentie!!** ''<user moodle>'' va fi înlocuit cu utilizatorul vostru! | ||
+ | - Din terminalul ''fep'', vă conectați mai departe la mașina voastră virtuală pe OpenStack:<code bash> | ||
+ | [iulia.florea@fep7-1 ~]$ ssh -i ~/.ssh/openstack.key student@10.9.x.y | ||
+ | </code> | ||
+ | * **Atentie!!** IP-ul masinii virtuale se obtine din interfata grafică a [[https://cloud.grid.pub.ro|OpenStack]]. | ||
+ | |||
+ | ===== Local VM ===== | ||
+ | |||
+ | Ca alternativă la OpenStack, puteți descărca o mașină virtuală locală pe care s-o rulați pe propriul PC. Pentru aceasta, trebuie să aveți un program hypervizor instalat (e.g., [[https://www.vmware.com/products/workstation-player.html|VMware]], [[https://www.virtualbox.org/|VirtualBox]], [[https://documentation.suse.com/sles/11-SP4/html/SLES-all/cha-qemu-running.html|qemu+kvm]]. | ||
+ | |||
+ | Imaginea mașinii virtuale pentru laboratorul de RL **(2022)** o puteți descărca [[https://rl-checker.root.sx/share/RL_2022.7z|de la această adresă (http)]] sau folosint [[https://rl-checker.root.sx/share/RL_2022.torrent|.torrent]] (''2GB'' arhiva, ''6GB'' dezarhivată). Vedeți mai jos considerente de rulare în funcție de hypervizorul ales. | ||
+ | |||
+ | * Va trebui să vă creați mașină virtuală nouă în programul dorit, apoi să adăugați un disk nou existent unde alegeți fișierul descărcat ''RL_2022.vmdk''. | ||
+ | * Se recomandă utilizarea VMWare pentru o pregătire de cât mai ușoară a infrastructurii (VirtualBox are o ciudățenie la rețeaua NAT și nu e ușor să vă conectați prin SSH); | ||
+ | * Dacă, totuși, optați pentru VirtualBox, trebuie să aveți în vedere pașii suplimentari de mai jos pentru a o putea accesa prin ssh. | ||
+ | <spoiler Detalii rulare masină virtuală prin VMware> | ||
+ | * [[https://kb.vmware.com/s/article/2010196|Urmați pașii de aici]]. | ||
+ | * După instalare: se recomandă folosirea unui terminal pe sistemul fizic și lucrul peste SSH în mașina virtuală (denumită și ''host''). În acest fel vom putea folosi copy-paste în terminal sau alte facilități. Pentru aceasta urmați pașii de mai jos: | ||
+ | * Autentificați-vă în consola mașinii virtuale (ecranul negru) folosind contul ''root'' cu parola ''student''. | ||
+ | * Aflați adresa IP a mașinii virtuale de pe interfața ''eth0'':<code bash> | ||
+ | root@host:~# ip a sh eth0 | ||
+ | </code> | ||
+ | * De pe sistemul fizic, deschideți un terminal și realizați o sesiune SSH folosind:<code bash> | ||
+ | student@PC:~$ ssh student@<ADRESA_IP_MASINA> | ||
+ | </code>unde ''<ADRESA_IP_MASINA>'' este adresa IP a mașinii virtuale așa cum ați obținut-o mai sus. | ||
+ | * Aaand that's it! | ||
+ | </spoiler> | ||
+ | |||
+ | <spoiler Detalii rulare masină virtuală prin VirtualBox> | ||
+ | * [[https://osxdaily.com/2019/08/12/open-vmdk-virtualbox/|Importați fișierul vmdk într-un VM proaspăt creat]]. | ||
+ | * //Încă nu o porniți, mai avem de făcut niște setări!// | ||
+ | * Dorim să folosim terminalul sistemului fizic și să lucrăm peste SSH cu mașina virtuală (denumită și ''host''). În acest fel vom putea folosi copy-paste în terminal sau alte facilități. Pentru aceasta urmați pașii: | ||
+ | * Vom adauga o regula de port forwarding pentru a putea accesa masina prin SSH de pe statia Host (daca nu intelegeti ce reprezinta port forwarding, va fi explicat mai jos :-D) | ||
+ | * Cu masina virtuala oprita deschidem **Settings -> Network -> Advanced -> Port Forwarding** si adaugam urmatoarea regula: | ||
+ | {{ :rl:labs:port_forward_virtual_box.png?600 | Port forwarding pentru acces SSH de pe Host }} | ||
+ | |||
+ | * De pe sistemul fizic, deschideți un terminal și realizați o sesiune SSH folosind:<code bash> | ||
+ | student@PC:~$ ssh -p 10022 student@localhost | ||
+ | </code> | ||
+ | </spoiler> | ||
<note> | <note> | ||
- | Deși în format VMware, mașina virtuală ar trebui să fie compatibilă și cu alte hipervizoare (VirtualBox, KVM), însă va trebui să importați manual imaginea din fișierul ''.vmdk''. | + | Conturile de acces la mașina virtuală locală (stația ''host'') sunt (''username:parola''): |
+ | * ''student:student'' | ||
+ | * ''root:student'' | ||
+ | În mod implicit vă puteți conecta prin SSH doar folosind utilizatorul ''student'', urmând să treceți la ''root'' folosind comanda ''sudo su''. | ||
</note> | </note> | ||
- | <hidden> | ||
- | OLD: Puteți găsi mașina virtuală VMware folosită în laboratorul de RL la [[http://repository.grid.pub.ro/cs/rl/vm/|această adresă]]. Pentru a accesa link-ul folosiți contul de pe cs.curs.pub.ro. | ||
- | </hidden> | ||
===== Topologie ===== | ===== Topologie ===== | ||
Line 26: | Line 79: | ||
* Există 3 containere cu numele: ''red'', ''green'' și ''blue''. | * Există 3 containere cu numele: ''red'', ''green'' și ''blue''. | ||
- | * Puteți sa va logați folosind conturile (''username:parola'') | + | * Puteți sa va logați folosind utilizatorul ''student'', parola ''student''. |
- | * ''root:student'' | + | * Nu uitați să actualizați + rulați scriptul de pregătire a activității curente! |
- | * ''student:student'' | + | |
- | * Toate containerele LXC vor fi pornite automat. | + | |
* Pentru repornirea containerelor:<code> | * Pentru repornirea containerelor:<code> | ||
- | rr [red|green|blue|all] | + | docker restart [mn.red|mn.green|mn.blue] |
</code> | </code> | ||
* Pentru vizualizarea stării containerelor:<code> | * Pentru vizualizarea stării containerelor:<code> | ||
- | lxc-list | + | docker ps |
</code> | </code> | ||
* Din contul ''root'' de pe stația ''host'', accesați containerele folosind comanda:<code> | * Din contul ''root'' de pe stația ''host'', accesați containerele folosind comanda:<code> | ||
go [red|green|blue] | go [red|green|blue] | ||
</code> | </code> | ||
- | * Pentru a ieși din consola containerelor utilizați combinația de taste ''Ctrl+a'', eliberați tastele și apoi apăsați ''q''. | + | * Pentru a ieși din consola containerelor utilizați comanda "exit". |
+ | |||