Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Warning

Usługa Cloud Computing została wycofana

Informacje podstawowe

Cloud Computing - obliczenia w chmurze - to rodzaj korzystania z mocy obliczeniowej i przestrzeni pamięci masowej polegający na tym, że użytkownik uzyskuje do swojej dyspozycji zestaw maszyn wirtualnych z uprawnieniami administratora do systemu operacyjnego.Maszyny pracują w wyizolowanej sieci lokalnej z możliwością udostępnienia wyselekcjonowanych usług publicznie.Dostęp do maszyn uzyskuje się za pomocą tunelu VPN. Maszyny mogą mieć podłączone odpowiednie zasoby dyskowe bezpośrednio, bądź użytkownik może korzystać z przestrzeni ogólnodostępnej. Odpowiedzialność za zarządzanie maszynamileży maszynami leży w gestii użytkownika, natomiast PL-Grid prowadzi monitorowanie mające na celu prawidłowe funkcjonowanie i bezpieczeństwo infrastruktury. Obecnie platforma Cloud Computing jest na etapie prototypowania i możliwe jest jedynie korzystanie z niej na zasadzie testowania.

Lokalizacja

ACK CYFRONET AGH 

Nazwa systemu Zeus
GPGPU

Nazwa maszyny dostępowej ui.cyfronet.pl
Port dostępowy 22
Opis konfiguracji zasobów obliczeniowychOpis systemów składowania danychwww.plgrid.pl/oferta/zasoby_obliczeniowe/opis_zasobow/storage
www.plgrid.pl/oferta/zasoby_obliczeniowe/opis_zasobow/HPC
Kontakt (maszyna dostępowa)cyfronet-lcg2@helpdesk.plgrid.pl
Kontakt (usługa  Cloud)Cloud@helpdesk.plgrid.pl

Uzyskanie dostępu 

Warunki wstępne. 

Dostęp do usługi

Dostęp do platformy Cloud Computing jest możliwy jednie z klastra Zeus.

...

W celu uzyskania dostępu do platformy należy uprzednio posiadać:

...

  • Dostęp
  • aktywny dostęp do
  • klastra Zeus
  • UI w Cyfronecie
  • Dostep do VPN PL-Grid -Cyfronet.

Następnie należy:

Składanie wniosku o usługę

Przed rozpoczęciem pracy z platformą “Cloud Computing” należy uzyskać do niej dostęp z poziomu Portalu.

W tym celu należy:

  • Zalogować się na portal PL-Grid
  • Przejść do zakładki “Moje konto”
  • W okienku “Usługi / Aplikuj o usługę/Dostęp do Platformy Cloud Computing Cyfronet” kliknąć “Wypełnij motywację”
  • Opisać tematykę badań do których zostanie użyta platforma “Cloud Computing”
  • Kliknąć przycisk “Aplikuj o usługę”

Po pozytywnym rozpatrzeniu wniosku aktywacji usługi przez administratora można rozpocząć używanie platformy zgodnie z poniższą instrukcją.

Zarządzanie instancjami maszyn wirtualnych 

Zestaw aplikacji klienckich umożliwiających zarządzanie usługą został udostępniony na UI w ACK CYFRONET AGH. Pracę należy rozpocząć od zalogowania się za pomocą klienta SSH na ui.cyfronet.pl .więcej informacji o logowaniu

Ładowanie modułu

...

Note
titleUwaga

 Poprzednio stosowany moduł cloud/one-client jest nadal dostępny dla zachowania zgodności wstecznej - jednak ze względu na wygodę zalecamy moduł opisany poniżej.

 Jednocześnie informujemy, że moduł cloud/one-client może zostać usunięty w przyszłości.

Przed rozpoczęciem pracy z klientem niezbędne jest załadowanie modułu cloud/rest-api-client. Operację tę można przeprowadzić za . Operację tę można przeprowadzić za pomocą polecenia:

module add cloud/onerest-api-client

  ...system powinien odpowiedzieć komunikatem:

 'cloud/

one

rest-api-client/

current

1.0' load complete.

 'ruby/1.8.7-

p330.el5' load complete.

p330.el5' load complete.

Generowanie certyfikatu "proxy"

Note
titleUwaga

Prosimy do generowania certyfikatu stosować polecenie "voms-proxy-init", nie "grid-proxy-init". Osoby nie posiadające certyfikatu mogą skorzystać z poprzedniej wersji nie wymagających certyfikatów dostępnej po załadowaniu modułu cloud/one-client lecz wersja ta zostanie niebawem usunięta.

Wykonananie jakiejkolwiek operacji za pomocą w/w modułu wymaga uprzedniego załadowania modułu cloud. W tym celu prosimy wykonać polecenie:

voms-proxy-init

Jeśli posiadamy prowidłowo zlokalizowany certyfikat gridowy i klucz do niego zostaniemy poproszeni o hasło a następnie, po podaniu prawidłowego hasła, poinformowani o sukcesie procedury generowania "proxy":

Enter GRID pass phrase for this identity:

Created proxy in /tmp/x509up_uXXXXX.

Your proxy is valid until ...

Od tego momentu kolejne polecenia nie będą wymagać podawania hasła (z wyjątkiem polecnia oneport).

Przeglądanie listy dostępnych obrazów systemów operacyjnych

W ramach usługi dostępny jest zestaw obrazów systemów operacyjnych, które mogą zostać uruchomione przez użytkowników jako instancje maszyn wirtualnych. Ponieważ podstawową cechą usługi jest jej elastyczność lista ta może dynamicznie się zmieniać dostosowując się do wymagań.

W związku z tym przed utworzeniem nowego szablonu maszyny zalecamy zapoznanie się z aktualną listą poprzez wywołanie komendy:

oneimage list

Następnie po zapytaniu “Login” należy podać login użytkownika PL-Grid (ten sam który został użyty do logowania na ui.cyfronet.pl) a po zapytaniu “Password” - hasło w/w użytkownika.

zalecamy zapoznanie się z aktualną listą poprzez wywołanie komendy:

oneimage list

Jeżeli certyfikaty zostały zainstalowane zgodnie z instrukcją, to powinna ukazać się lista dostępnych obrazów.

W przypadku podania poprawnych danych klient powinien odpowiedzieć listą aktualnie dostępnych systemów operacyjnych w postaci tabeli. Najistotniejsze pola oznaczone są jako “ID” - identyfikator obrazu, który należy zapamiętać/zapisać, gdyż jest on niezbędny do stworzenia szablonu wirtualnej maszyny i “NAME” - czyli nazwa obrazu umożliwiająca odnalezienie właściwego obrazu.

W przypadku generycznych obrazów systemów określa ona nazwę systemu operacyjnego / dystrybucji oraz wersję. W przypadku specjalizowanych obrazów na potrzeby konkretnych zespołów naukowych (np. zawierających specjalistyczne oprogramowanie) nazwa ta jest indywidualnie uzgadniania z zespołem.

Przeglądanie listy dostępnych wirtualnych sieci.

Podobnie jak identyfikator obrazu – identyfikator wirtualnej sieci jest niezbędny do stworzenia szablonu używanego do uruchamiania instancji maszyn wirtualnych.

Listę sieci wirtualnych można uzyskać za pomocą komendy (jak poprzednio zostaniemy zapytani o login i hasło):

onevnet list

W odpowiedzi powinna zostać zwrócona tabelka podobna do poprzedniej – również zawierająca pola ID i NAME. Wszystkie osoby posiadające dostęp do usługi mają dostęp do sieci o ID 0 (LAN_PLG_COMMON) - jest to wspólna sieć przydzielające prywatne adresy IP (dostęp z zewnątrz możliwy jest poprzez opisany poniżej mechanizm przekierowania portów TCP/UDP lub poprzez usługę dostępową PL-Grid VPN). Niektóre osoby mogą posiadać dodatkowo dostęp do wydzielonych sieci - będą one wtedy wyświetlone również w odpowiedzi na powyższe polecenie.

Tworzenie szablonu maszyny wirtualnej.

Przed uruchomieniem maszyny wirtualnej konieczne jest istnienie jej szablonu. Określa on m.in. powiązanie między ID obrazu systemu operacyjnego, ID wirtualnej sieci oraz kluczem publicznym, który ma zostać umieszczony w maszynie (w celu umożliwienia zalogowania się na maszynę przez SSH z użyciem klucza prywatnego). Dlatego też dla każdej w/w trójki musi zostać utworzony nowy szablon, jednak później może on być używany do uruchomienia wielu instancji maszyn wirtualnych (tego samego typu).

W celu ułatwienie tworzenia i rejestracji szablonów udostępniliśmy specjalny skrypt, który należy uruchomić w następujący sposób:

onegentemlonegentempl.sh

Na kolejne pytania skryptu należy odpowiedzieć zgodnie z poniższymi wskazówkami:

...

  •  “Enter file in which to save the key...” - należy pozostawić puste pole i wcisnąć <ENTER> w celu wybrania domyślnej lokalizacji;
  • “Enter passphrase (empty for no passphrase)” - należy podać silne hasło – mimo sugestii aplikacji generującej klucze o możliwości utworzenia klucza bez hasła, w tym przypadku należy BEZWZGLĘDNIE stosować hasło, gdyż klucz ten będzie umożliwiał logowanie na maszyny wirtualne z uprawnieniami superużytkownika (root) ;
  • “Enter same passphrase again” - należy ponownie podać powyższe hasło.

...

  • .

W odpowiedzi system powinien wyświetlić ID zarejestrowanego szablonu, który będzie potrzebny do uruchomienia maszyny wirtualnej. W przyszłości możliwe będzie odnalezienie tego identyfikatora zgodnie z procedurą opisaną w kolejnym punkcie.

Przeglądanie listy szablonów maszyn wirtualnych

Jeśli już wcześniej utworzyliśmy szablon maszyny wirtualnej, a nie wiemy jakie posiada on ID możemy uzyskać tę informację za pomocą komendy:

...

W odpowiedzi powinniśmy uzyskać tabelę podobną jak poprzednio zawierającą m.in. pola ID i NAME. ID jest poszukiwanym identyfikatorem maszyny, natomiast pole NAME utworzonego w/w skryptem szablonu zawsze zaczyna się od sekwencji AUTO<ID>- gdzie <ID> zastąpione jest numerem obrazu – np. AUTO3-... .

Usuwanie szablonu maszyny.

Jeśli jesteśmy pewni, że nie będziemy potrzebowali tworzyć kolejnych maszyn wirtualnych danego typu możemy usunąć wcześniej utworzony szablon. W tym celu możemy posłużyć się poleceniem:

...

...zastępując <ID> przez właściwy identyfikator szablonu.

Uruchamianie instancji wirtualnej maszyny.

W celu uruchomienia instancji wirtualnej maszyny na podstawie uprzednio utworzonego szablonu należy wykonać polecenie:

...

Jeśli operacja ta przebiegnie poprawnie system zwróci wartość „VM ID”, czyli identyfikatora maszyny wirtualnej. Jest on niezbędny m.in. do uzyskiwania informacji o maszynie (takiej jak jej status, przydzielony adres IP), a także np. do zatrzymania i usunięcia maszyny.

Przeglądanie listy wirtualnych maszyn.

Użytkownik ma możliwość przeglądania listy maszyn do których posiada uprawnienia (w szczególności – maszyn, które sam uruchomił). W tym celu należy zastosować komendę:

...

Najistotniejszym polem w tabeli (poza ID) jest pole STAT – dzięki niemu możemy szybko sprawdzić czy nasza maszyna została już przygotowana i uruchomiona – informuje o tym wpis „runn” w w/w polu.

Uzyskiwanie szczegółowych informacji o maszynie wirtualnej.

W celu uzyskania szczegółowych informacji, takich jak adres IP niezbędny do zalogowania się na maszynę wirtualną, należy wykonać polecenie:

...

Szczególnie istotne jest oczywiście pole IP – niezbędne do uzyskania dostępu do maszyny.

Przekerowanie portu TCP/UDP

W celu udostępnienia "na zewnątrz" usługi (np. SSH, HTTP) oferowanej przez oprogramowanie zainstalowane na maszynie wirtualnej możliwe jest przekierowanie portu/ów TCP i/lub UDP. Dokonać tego można za pomocą polecenia:

oneport -A -a <IP> -p <port> -P <protokól>

gdzie <IP> - to otrzymany wg. wcześniej opisanego sposobu prywatny adres IP maszyny, <port> to numer portu jaki chcemy przekierować (22, 80 itp) a <protokół> to wybrany protokół - odpowiednio tcp lub udp . Opcję -P można pominąć dla TCP (jest to domyślny protokół) stąd np. w celu przekierowania usługi SSH możemy zastsować polecenie analogiczne do poniższego (IP trzeba zamienić na właściwe):

oneport -A -a 172.16.XX.XX -p 22

W odpowiedzi powinniśmy otrzymać odpowiedź podobną do poniższej:

Successful redirectionPort redirected:
 149Public IP: 149.156.XX.XX:6747 ->
Public port: YYYYY
Private IP: 172.16.XX.XX
Private port: 22 22

...bardzo istotną informacją (wartą zapamiętania) jest to co znajduje się przed '->' - jest to zewnętrzny (publiczny) adres i port którym należy się posługiwać przy połączeniach z zewnątrz (przykład został zamieszczony poniżej).

Uzyskiwanie dostępu do maszyny wirtualnej.

Przed właściwą próbą logowania warto upewnić się czy maszyna jest w stanie „runn”.

...

… należy zwrócić uwagę czy zapytanie ma formę podobną do powyższej – zapytanie o hasło na konto roota (a nie do w/w klucza prywatnego) jest nieprawidłowe i oznacza, że klient nie może użyć klucza. Należy się upewnić czy klucz prywatny w katalogu .ssh nie został gdzieś przeniesiony, skasowany oraz, że nie zmieniono jego uprawnień. Jeśli zaistniała któraś z powyższych operacji niezbędne będzie jej cofnięcie / przywrócenie klucza z kopii. Jeśli klucz został bezpowrotnie skasowany (nie ma jego kopii) oraz użytkownik nie utworzył innego dostępu do maszyny (inny klucz, hasło) odzyskanie dostępu do maszyny wymaga interwencji administratora platformy „Cloud Computing”.

Note
titleUwaga

WAŻNE: Ze względu na stosowanie mechanizmu przekierowania portów - a co za tym idzie wspólnego zewnętrznego adresu IP dla wielu maszyn wirtualnych - klient OpenSSH w domyślnej konfiguracji po próbie dostępu do drugniej maszyny zgłosi ostrzeżenie dot. możliwego ataku Man-in-the-middle i odmówi dostępu - należy podjąć wtedy dodatkowe kroki opisane poniżej.

 Informacja o możliwym ataku wygląda następująco:

...

  ...w tym przypadku jest to jednak "fałszywy alarm" wynikający z faktu, że w pliku known_hosts maszyny identyfikowane są tylko po adresie / nazwie bez portu. Obecnie domyślna konfiguracja nie pozwoli na zalogowanie się w przypadku wykrycia powyższej sytuacji nawet za pomocą klucza. Aby nie usuwać za każdym razem wpisu w known_hosts istnieją 2 rozwiązania opisane poniżej.

Ustawienie osobnych plików "KnownHosts" dla maszyn wirtualnych

Można ustawić każdej maszynie osobny plik do którego będą zapisywane "odciski palca" klucza poprzez dodanie do pliku ~/.ssh/config wpisu:

...

Oczywiście "cloud_p6747" należy zamienić na właściwą nazwę (podaną w pliku konfiguracyjnym). UWAGA: Jak widać powyżej nie używamy tu opcji -p gdyż numer portu zawarty jest w konfiguracji.

Wyłączenie opcji "StrictHostKeyChecking"

Note
titleUwaga

To rozwiązanie wydaje się łatwiejsze (wymaga tylko pojedyńczej zmainy pliku konfiguracyjnego) lecz wpływa negatywnie na bezpieczeństwo - stąd jest mniej polecane.


 Należy raz dla danego IP (zewnętrznego) dodać do pliku ~/.ssh/config wpis:

...

W obu powyższych przypadkach po podaniu hasła do klucza użytkownik uzyskuje dostęp do konta root na maszynie wirtualnej.

Przygotowywanie maszyny wirtualnej do zapisania

Istnieje możliwość zapisania stanu maszyny wirtualniej. W wyniku tej operacji powstaje obraz systemu operacyjnego, analogiczny jak obrazy omawiane na początku tego dokumentu, który jest jednak dostępny tylko dla osoby która go zapisała. Poprzez zgłoszenie w Helpdesku można poprosić administratorów usługi o zmianę praw dostępu do tego obrazu (np. udostępnienie go w ramach grupy lub wręcz upublicznienie dla wszystkich). Obraz ten można użyć jak każdy inny do tworzenia nowych maszyn wirtualnych. Zawiera on wszystkie dane zapisane na lokalnym dysku maszyny - w tym zainstalowane oprogramowanie i dane użytkowników.

...

... w odpowiedzi system powinien zwrócić ID zaalokowanego obrazu np.:

Image ID: 17

...

Note
titleUwaga

Powyższe polecenie NIE zapisuje obrazu a jedynie "oznacza go do zapisania podczas prawidłowego wyłączenia maszyny !!!

Powyższy fakt możena potwierdzić wyświetlając listę obrazów poprzez:

...

W celu zakończenia procesu zapisu maszyny należy ją prawidłowo zatrzymać zgodne z opisem w kolejnej sekcji.

Zatrzymywanie (opcjonalnie z zapisaniem) instancji maszyny wirtualnej.

Gdy maszyna nie jest już potrzebna należy ją zatrzymać (co spowoduje jej usunięcie, z możliwością zapisu stanu jeśli maszyna została oznaczona "do zapisania") w celu zwolnienia zajmowanych przez nią zasobów. W tym celu należy wydać polecenie:

...

... patrząc na kolumnę "STAT". Zapisany obraz maszyny można uruchomić jak każdy inny dostępny obraz systemu operacyjnego.

Bezwzględne usuwanie instancji maszyny wirtualnej.

Warning
titleUWAGA (ryzyko utraty danych)

...

Opcje tą należy używać tylko jeśli jest to absolutnie konieczne, np. maszyna którą nie zawiera istotnych danych nie chce się prawidłowo wyłączyć powyżej opisaną metodą. Spowoduje ona natychmiastowe zatrzymanie maszyny wirtualnej i bezpowrotne usunięcie jej obrazu nawet w przypadku wcześniejszego oznaczenia go do zapisu poleceniem "onevm saveas" (w tym przypdku dodatkowo powtaje niekompletny obraz). Jeśli maszyna zawiera istotne dane - nigdy nie należy używać tej opcji. W tym przypadku jeśli maszyna nie chce się wyłączyć sposobem opisanym w poprzedniej sekcji należy pozostawić ją włączoną i zgłosić ticket do Helpdesku.


Należy pamiętać, że usunięcie maszyny wirtualnej tym sposobem spowoduje nieodwracalne skasowanie wszystkich danych z jej lokalnego dysku – należy więc upewnić się, że wszystkie wyniki prowadzonych obliczeń (oraz inne ważne dane) została skopiowane na inny serwer (np. przez SCP).

...

… zastępując <ID> identyfikatorem maszyny do usunięcia. Po potwierdzeniu operacji za pomocą loginu i hasła maszyna zostanie usunięta. Fakt usunięcia maszyny można zweryfikować przeglądając listę maszyn wcześniej opisanym sposobem.