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 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
Nazwa maszyny dostępowej ui.cyfronet.pl
Port dostępowy 22
Kontakt (maszyna dostępowa) cyfronet-lcg2@helpdesk.plgrid.pl
Kontakt (usługa  Cloud)Cloud@helpdesk.plgrid.pl

Uzyskanie dostępu 

Warunki wstępne. 

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

Składanie wniosku o usługę

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

...

Po 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.

...

 'cloud/rest-api-client/1.0' load complete.

 'ruby/1.8.7-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.

...

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 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.

...

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 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:

...

...bardzo istotną informacją (wartą zapamiętania) jest 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”.

...

  ...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.

...

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. 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 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.

...