1. Podręcznik

1.1. Wprowadzenie

System CC1 umożliwia organizację zasobów komputerowych w formie prywatnej chmury obliczeniowej typu IaaS (Infrastructure as a Service) opartej na wirtualizacji sprzętowej.

Główną funkcją systemu jest szybkie dostarczanie na życzenie:
  • maszyny wirtualnej (VM) wraz z wymaganym systemem operacyjnym,
  • przestrzeni dyskowej,
  • infrastruktury sieciowej.

Z punktu widzenia użytkownika, maszyna wirtualna może być wykorzystywana jak fizyczny komputer, zlokalizowany w odległej serwerowni.

Zasobami obliczeniowymi zarządza się za pomocą dedykowanego intuicyjnego interfejsu WWW (zobacz: Interfejs dostępowy WWW), a ich rezerwacja przeprowadzana jest w sposób samoobsługowy - bez udziału administratora systemu - co jest jedną z kluczowych cech techniki Cloud Computing.

Wirtualizacja umożliwia współistnienie maszyn o różnych systemach operacyjnych na jednym fizycznym komputerze. Zasoby są dostępne w krótkim czasie, bez konieczności wcześniejszej deklaracji wielkości wymaganych zasobów i ich czasu wykorzystania. Po wykonaniu zadań, zasoby moga być zwolnione do wykorzystania przez innych użytkowników. Ten elasyczny sposób dostępu pozwala wielokrotnie zwiększyć efektywność wykorzystania infratruktury obliczeniowej.

W dużych systemach istotną cechą techniki Cloud Computing jest stwarzanie iluzji nieograniczonej ilości zasobów. W przypadku chmury prywatnej, zasoby muszą być limitowane poprzez ustalenie maksymalnych wartości na liczbę dostępnych rdzeni CPU, przestrzeni dyskowej, czy liczby publicznych numerów IP. Zabezpiecza to przed rezerwacją wszystkich zasobów przez pojedynczego użytkownika, zapewniając tym samym stabilność działania.

1.2. Interfejs dostępowy WWW

1.2.1. Główne elementy interfejsu WWW

Ogólny układ interfejsu WWW przedstawiony jest na rysunku Układ interfejsu przegladarkowego CC1. Można wyróżnić cztery główne elementy:

Główny pasek menu:
 

z następującymi pozycjami: CC1 | Maszyny wirtualne | Farmy | Obrazy | Zasoby maszyn | Grupy

../_images/layout_main_menu_bar_pl.png
Pasek sesji (gorny prawy róg):
 

pokazujący status sesji i umożliwiający akcje dotyczące sesji: Zalogowany jako user_id | Wyloguj | Moje konto | Pomoc

../_images/layout_session_menu_bar_pl.png
Boczny pasek menu podrzędnego:
 

zawiera pozycje z ostanio klikniętego elementu paska głównego.

../_images/layout_submenu_pl.png
Okno (lub okna) informacyjne:
 

mogą zawierać aktywne elementy, takie jak pop-up menu lub przyciski akcji.

../_images/layout_info_window_pl.png

Dostępne są także podpowiedzi on-line, wyświetlane po naciśnięciu znaku zapytania. Wyświetlane są podstawowe informacje na temat funkcjonalności danego okna.

Podstawowy układ interfejsu WWW z wyświetlonymi informacjami po zalogowaniu do systemu.

Układ interfejsu przegladarkowego CC1

1.2.2. Kontakt do administratorów

Po naciśnięciu przycisku Pomoc (ostatnia pozycja menu sesji) wyświetlane są dane kontaktowe do administartorów systemu.

1.2.3. Język interfejsu i dostępne klastry

Dwa pola wyboru w górnym prawym rogu pozwalają na ustawienie języka interfejsu, bądź na przełączanie pomiędzy dostępnymi klastrami (Cluster Manager).

Okna intefejsu są automatycznie odświeżane co kilka sekund. Komunikacja z interfejsem WWW odbywa się za pomocą bezpiecznego protokołu HTTPS.

1.3. Rejestracja i parametry kont

1.3.1. Rejestarcja

Jedynie zarejestrowani użytkownicą mają dostęp do zasobów systemu. Rejestracji można dokonać za pomocą głównej strony interfejsu WWW.

Standardowa procedura rejestracyjna wymaga podania adresu email, na ktory wysyłane są automatyczne wiadomości z systemu.

Kroki rejestracji w standardowej procedurze rejestracji:

  1. W pierwszym kroku należy kliknąć na pozycję Zarejestruj w menu sesji (prawy górny róg interfejsu przeglądarkowego). Następnie należy wypełnić wszystkie żądane pola formularza i nacisnąć przycisk Rejestruj. Wybrane hasło musi być silne.

    Note

    Słabe hasło nie zostanie zaakceptowane przez system.

  2. Zaczekać na wiadomość email i kliknąć na podany link w celu potwierdzenia rejestracji. Zostanie wysłana kolejna automatyczna wiadomość z informacją o poprawnym potwierdzeniu rejestracji. W tym momencie wejście do systemu nie jest jednak jeszcze możliwe.

  3. Ostateczna aktywacja konta jest wykonywana przez adminstratora systemu. Odpowiednia wiadomość email wysyłana do użytkownika informuje go o zakonczeniu procedury rejestracji.

Opisana procedura rejestracji stosowana jest jako standardowa (rekomendowana w systemach dostępnych publicznie).

W szczególnych przypadkach sposób rejestracji może być odmienny:

  • Rejestracja może odbywać sie bez kroku potwierdzenia za pomocą wiadomości email.
  • Możliwa jest też opcja automatycznej aktywacji konta bezpośrednio po wypełnieniu formularza bez konieczności akceptacji przez administratora.

1.3.2. Logowanie

Użytkownik ma dostęp do zasobów systemowych dopiero po zalogowaniu do systemu. Powinien on wybrać akcję Zaloguj z menu sesji (prawy górny róg interfejsu przeglądarkowego). Zostanie on poproszony o podanie nazwy użytkownika oraz hasła, wprowadzonych podczas procedury rejestracji.

1.3.3. Parametry konta

Po wciśnięciu pozycji Moje konto w menu sesji wyświetlane są właściwości konta. Możliwa jest zmiana danych konta za pomocą przycisku Zmień dane konta.

Dane uwierzytelniające EC2:
 

służą do dostępu do systemu z użyciem intefejsu EC2. Wybranie pozycji

Ograniczenia konta:
 
pozwala na sprawdzenie wielkości używanych zasobów oraz ich limitów:
  • liczby rdzeni,
  • pamięci RAM,
  • rozmiaru przestrzeni dyskowej (suma rozmiarów obrazów prywatnych i rozmiarów dysków wirtualnych),
  • liczbę przydzielonych numerów IP
  • liczbę wykorzystanych punktów w danym miesiącu.
Zmień hasło:

Możliwa jest także zmiana hasła dostępowego.

1.4. Zarządzanie maszynami wirtualnymi

Maszyna wirtualna (VM) powinna być używana jak fizyczny komputer, do którego użytkownik ma zdalny dostęp. Maszyna taka charakteryzuje się określonymi przez użytkownika parametrami sprzętowymi. Uruchomiony jest na niej wskazany przez użytkownika system opreracyjny.

Aby móc zarządzać maszynami wirtualnymi, użytkownik musi być zalogowany do systemu (zobacz: Logowanie).

1.4.1. Uruchomienie maszyny wirtualnej

Aby wystartować maszynę należy wybrać Maszyny wirtualne -> Nowa maszyna. Procedura uruchamiania rozbita jest na cztery proste kroki:

  1. vm_create_step1 wybór obrazu VM
  2. vm_create_step2 wybór szablonu (liczba rdzeni procesora i rozmiar RAM) (zobacz: VM creation (drugi krok uruchamiania VM))
  3. vm_create_step3 specyfikacja dołączonych zasobów (dyski, adres IP, ...).

Note

zarówno dyski, jak i numery IP, mogą być dołączone później już w

trakcie działania VM.

  1. vm_create_step4 podsumowanie i potwierdzenie konfiguracji za pomocą przycisku Utwórz.
Drugi krok procesu uruchamiania VM: wybór szablonu.

VM creation (drugi krok uruchamiania VM)

1.4.2. Informacje o maszynie wirtualnej

Uruchomiona maszyna wirtualna powinna pojawić się ze statusem init na liscie maszyn użytkownika (Maszyny wirtualne -> Pokaż maszyny). Status po chwili powinien zmienić się na running (rysunek VM list ).

Note

Czas przejścia ze stanu init do stanu running zależy od rozmiaru obrazu VM oraz od obciążenia systemu, a w szczególności od obciążenia jednostki roboczej, na której uruchamiana jest VM. Zwykle start VM trwa nie wiecej niż kilka minut.

W poszczególnych rekordach listy aktywnych maszyn wirtualnych można wyróżnić następujące elementy:

checkbox:

używany do zaznaczenia maszyn, na których wykonuje się wspólną akcję (Wykonaj dla wybranych).

Nazwa:

nazwa maszyny nadana przez użytkownika.

Informacje:
pole, w którym graficznie wyświetlane są atrybuty:
  • przpisany numer IP,
  • działająca kontekstualizacja,
  • podgląd VNC.
Status:

podaje aktualny stan maszyny np. init, saving, running

Szablon:

podaje nazwę wybranego szablonu maszyny wirtualnej

Obraz:

nazwa obrazu z ktorego VM została utworzona

Load:

obciążenie VM wyświetlane w postaci liczbowej wartości oraz kolorowego pola. Barwa koloru odzwierciedla obciążenie VM w szczególności umożliwiając szybką identyfikację maszyn, które nie są obciążone.

VM list

VM list

Należy pamiętać ze VM jest uruchomiana z kopii obrazu. Wszelkie zmiany wykonywane są na kopii obrazu dysku. W celu zachowania modyfikacji nalezy wybrać opcję Zapisz i zamknij. W przciwnym wypadku można zatrzymać maszynę przyciskiem Zniszcz. Szczegółowy opis znajduje się w rozdziale Kontrola maszyny wirtualnej.

1.4.3. Kontrola maszyny wirtualnej

Sterowanie maszyną wirtualną odbywa się z poziomu listy maszyn, Maszyny wirtualne -> Pokaż maszyny. Udostępnione są dwa sposoby. Po najechaniu na linie opisu danej maszyny i kliknięciu prawym przyciskiem rozwijane jest menu możliwych akcji. Drugą możliwością jest kliknięcie lewym przyciskiem na linię opisu maszyny po którym wyświetlany jest panel informacyjny pokazany na rysunku Szczegóły VM.

Wyróżniono kilka tematycznych obszarów, zawierających informacje oraz możliwe akcje.

1.4.3.1. Zarządzanie maszyną wirtualną

Zniszcz:niszczy maszynę wirtualną i zwalnia jej wszystkie zasoby. Wszelkie zmiany poczynione na dysku obrazu zostają utracone.
Zapisz i zamknij:
 akcja możliwa tylko w przypadku aktywnej kontekstualizacji. Maszyna zostaje zamknięta w sposób kontrolowany (shutdown systemu operacyjnego) a jej obraz zostaje zapisany w puli obrazów prywatnych (Moje obrazy). W przypadku nieaktywnej kontekstualizacji, użycie akcji Zapisz i zamknij skutkuje jedynie ustawiniem nazwy i opisu obrazu, a zamknięcie systemu musi zostać wykonane przez użytkownika. W przypadku zamknięcia systemu bez uprzedniego użycia Zapisz i Zamknij, obraz zostanie zapisany w puli obrazów prywatnych z dołączonym do nazwy dodatkiem _autosave
Reset:odpowiednik przycisku reset na fizycznym komputerze
Edycja:pozwala zmienic nazwę i opis maszyny.
Monitoring:umożliwia podgląd obciążenia maszyn wirtualnych i śledzenie historii ich wykorzystania.

1.4.3.2. Dostęp do maszyny wirtualnej

Aktywuj/Deaktywuj VNC:
 aktywacja i deaktywacja połączeń VNC.
Konsola graficzna (VNC):
 uruchamianie konsoli graficznej VNC w oknie przeglądarki z wykorzystaniem wbudowanego programu klienta VNC (wymagany plugin w przeglądarce - Java).

Dwa aktywne elementy w obszarze Dostęp to:

Hasło VNC - Pokaż/ukryj:
 przycisk służy do podglądnięcia wygenerowanego losowo hasła, pozwalającego na dostęp do konsoli maszyny za pomocą VNC.
Publiczny adres IP - Podepnij:
 podpięcie publicznego adresu z puli własnych adresów IP. Sposób uzyskania adresu IP opisany jest w rodziale Przypinanie numeru IP. Akcja odpięcia numeru IP jest możliwa po kliknięciu na wyświetlony numer IP.

1.4.3.3. Kontekstualizacja

Ustaw hasło:służy do zmiany hasła dla wybranego użytkownika maszyny VM.
Ustaw klucz SSH:
 wstrzyknięcie klucza SSH umożliwiające login bez podania hasła.

1.4.3.4. Monitoring

Szczegóły VM

Szczegóły VM

1.4.4. Przypinanie numeru IP

Mechanizm elastycznych numerów IP pozwala optymalnie korzystać z ograniczonej puli publicznych adresów IP.

Jego działanie oparte jest na dynamicznym przypinaniu i odpinaniu adresów publicznych IP, bez konieczności rekonfiguracji systemu operacyjnego działającej maszyny wirtualnej. W ten sposób publiczy adres może być przypisany do konkretnej wybranej maszyny, dla której jest to wymagane w danym momencie.

Dostęp do innych maszyn użytkownika może być zapewniony za pośrednictwem maszyny z przypisanym numerem IP z wykorzystaniem sieci prywatnej. Należy pamiętać, że komunikacja sieciowa z zewnętrznymi adresami nie wymaga przypisania do VM elastycznego numeru IP i możliwa jest z każdej VM.

Zarządzanie adresami IP dostępne jest poprzez pozycję menu Zasoby maszyn -> Elastyczne numery IP. Początkowo, pula adresow użytkownika jest pusta. Należy dołączyć adres IP za pomocą przycisku Poproś o nowe IP. Przydzielone adresy można przyłączać zarówno w fazie tworzenia VM, jak również do już uruchomionych maszyn.

1.4.5. Dostęp do maszyn wirtualnych

Istnieją trzy główne metody dostępu do maszyny wirtualnej:

Konsola graficzna VNC:
 wbudowany w przeglądarkę program - klient VNC - pozwala na dostęp do konsoli maszyny wirtualnej. Start klienta VNC opisany jest w rozdziale Kontrola maszyny wirtualnej. Można także wykorzystać zewnętrzny program klienta VNC, używając parametrów połączenia VNC podanych w oknie szczegółów VM (rysunek Szczegóły VM ).
SSH:standardowy login SSH na maszynę z przypisanym publicznym adresem IP. Hasło użytkownika root dla obrazów publicznych można ustawić zgodnie z opisem w rozdziałe Kontrola maszyny wirtualnej Login ssh z opcja -X zapewniającą tunelowanie X11 umożliwia uruchamianie aplikacji z wyświetlaniem okien w trybie graficznym na stacji roboczej użytkownika.
Pulpit zdalny:dostęp do maszyny wirtualnej z systemem operacyjnym rodziny MS Windows jest możliwy poprzez pulpit zdalny.

1.5. Zasoby maszyn wirtualnych

1.5.1. Obrazy VM

Istnieją 3 pule obrazów maszyn wirtualnych (pozycja Obrazy w menu głównym):

Moje obrazy:pula obrazów prywatnych dostępnych tylko dla właściciela. VM utworzona na bazie obrazu publicznego może być zapisana w puli obrazów prywatnych za pomocą akcji Zamknij i zapisz.
Obrazy publiczne:
 pula obrazów publicznych dostępnych dla wszystkich użytkowników. Są to obrazy maszyn z popularnymi systemami operacyjnymi przygotowanymi przez administratora systemu CC1. Obrazy te powinny posiadać prawidłowo funkcjonującą kontekstualizację.
Obrazy grupowe:są to obrazy prywatne, które zostały przypisane do grupy do której należy użytkownik. Obrazy grupowe nie są kopią obrazu prywatnego. Są umieszczone w przestrzeni właściciela i wnoszą wkład w zajmowany rozmiar przestrzeni dyskowej. Z punktu widzenia użytkownika należącego do grupy ale nie będącego właścicielem, obrazy grupowe mają właściwości podobne do obrazów publicznych. Mozna je uruchomić i zapisać w puli obrazów prywatnych.

Operacje na obrazach dostępne są z poziomu popup menu, które pojawia się po przyciśnięciu odpowiedniego elementu w kolumnie Akcja na liście aktualnie przeglądanych obrazów w linijce odpowiadającej danemu obrazowi. W przypadku obrazów prywatnych dostępne akcje to:

Nowa maszyna:skrót, który umożliwia bezpośrednie przejście do procedury tworzenia maszyny
Dołącz do grupy:
 przypisanie obrazu do obrazów grupowych. Obraz nie jest wyświetlany na liscie obrazów prywatnych a pojawia się w puli obrazów grupowych. W każdej chwili można wykonać akcje prezeciwną.
Edytuj:służy do modyfikacji nazwy i opisu obrazu. Kliknięcie na pozycję Pokaż opcje zaawansowane umożliwia zmianę atrybutów maszyny takich jak rodzaj karty graficznej i sieciowej lub typ interfejsu dysku.
Usuń:usuwa bezpowrotnie dysk po uprzednim potwierdzeniu intencji wykonania tej akcji.
Przekształć w dysk z danymi:
 zmienia typ dysku z obrazu maszyny wirtualnej na dysk z danymi, który pojawia się na liście zasobów maszyn (Zasoby maszyn -> Dyski danych). Obraz dysku nie jest modyfikowany.

1.5.1.1. Wgrywanie obrazów

Zewnętrzny obraz można wgrać za pomocą przycisku na pasku u dołu listy prywatnych obrazów, Wgraj obraz. Lokalizację obrazu podaje się w postaci adresu http. Wgrany obraz pojawia się na liscie obrazów prywatnych ze standardowymi ustawieniami, które można odpowiednio zmodyfikować.

1.5.2. Dyski danych

Nowe wirtualne dyski danych mogą być tworzone z poziomu panelu Zasoby maszyn -> Dyski danych za pomocą przycisku Utworz nowy dysk. Nalezy wypełnić prosty formularz zawierający kilka pól takich jak nazwa, opis, rozmiar i rodzaj systemu plików (rysunek Disk creation). Alternatywną metodą jest załadowanie zewnętrznego dysku za pomocą przycisku Wgraj dysk. Ważnym parametrem dysku jest interfejs za pomocą którego dysk jest przyłączany do VM. Dostępne są scsi, ide, sata, virtio, usb. Dyski z wybranym interfejsem USB mogą być podłączane i odłączane przy uruchomionej maszynie wirtualnej. Pozostałe rodzaje pozwalają na podłączenie dysku jedynie w fazie tworzenia VM.

Tworzenie dysku danych

Disk creation

W większosci przypadków podłączony do maszyny wirtualnej dysk należy zamontować za pomocą komend systemowych (w niektórych systemach operacyjnych dyski USB moga być montowane automatycznie). W systemach rodziny Linux można zastosować następującą procedurę montowania. Za pomocą komendy fdisk -l uzyskujemy informację o dyskach rozpoznanych przez system operacyjny. Typowy wydruk po wykonaniu polecenia powinień zawierać informację o co najmniej dwóch dyskach:

Disk /dev/sda: 10.7 GB, 10737418240 bytes
...
Disk identifier: 0x00076574

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1244     9990144   83  Linux
/dev/sda2            1244        1306      492545    5  Extended
/dev/sda5            1244        1306      492544   82  Linux swap / Solaris

Disk /dev/sdb: 5243 MB, 5243928576 bytes
...
Disk identifier: 0x00012503

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              17       80016     5120000   83  Linux

Jednym z nich powinien być dysk stowarzyszony z obrazem VM oznaczonym w powyższym przykładzie jako /dev/sda i zawierającym od jednej do kilku partycji. Drugi z nich, /dev/sdb, odpowiada podłączonemu dyskowi z danymi.

Dysk z danymi, jezeli zawiera prawidłowy system plików, może być zamontowany za pomocą komendy:

mount /dev/sdb1 /mydisk

gdzie /mydisk jest nazwą pustego katalogu utworzonego wcześniej. Jeżeli dysk nie posiada systemu plików, to należy go wcześniej utworzyć używając odpowiednich komend systemowych.

1.6. Kontekstualizacja Maszyny Wirtualnej (CTX)

Kontekstualizacja CC1 udostępnia mechanizm zdalnego wywoływania określonych komend na Maszynie Wirtualnej, za pomocą Interfejsu Przeglądarkowego. Wśród nich wymienić można:

  • Wstrzykiwanie publicznej części klucza RSA na maszynie, aby umożliwić dostęp do maszyny posiadaczowi prywatnej części tego klucza.
  • Automatyczną akcję Zapisz i zamknij
  • Zdalny reset hasła użytkownika systemu na Maszynie Wirtualnej

CTX jest wymagane do postawienia farmy obliczeniowej za pomocą Interfejsu Przeglądarkowego.

1.6.1. Instalacja CTX

Aby zainstalować CTX na Maszynie Wirtualnej, należy najpierw połączyć się do tego maszyny. Następnie należy wykonać poniższe kroki:

  • pobrać i uruchomić skrypt instalacyjny:

    wget http://cc1.ifj.edu.pl/vmm/install.sh
    bash install.sh
    
  • po instalacji w systemie powinna pojawić się usługa cc1-vmm.

1.7. Grupy

W systemie CC1 wprowadzono strukturę grup użytkowników. Jej celem jest umożliwienie samoorganizacji użytkowników w zespoły, które mogą współdzielić zasoby np. tworząc pulę wspólnych obrazów grupowych w sposób opisany w rozdziale Obrazy VM. Proces tworzenia group nie wymaga interakcji z administartorem systemu CC1. Każdy użytkownik może utworzyć nową grupę za pomocą akcji Utwórz grupę z poziomu panelu Grupy -> Moje grupy. Użytkownik tworzący grupę staje się automatycznie jej administratorem. Inni użytkownicy mogą przeglądać listę wszystkich grup za pomocą panelu Grupy->Przeglądaj grupy i wystąpić o przypisanie do wybranej grupy z listy wybierając Wyślij prośbę w kolumnie Akcje w lini tej grupy. Ta prośba pojawia się po wyświetleniu szczegółów grupy przez administratora grupy, który może tę prośbę zaakceptować. Administratorem grupy może być także inny członek grupy nominowany przez administartora. Administrator może zrezygnować ze swojej funkcji w przypadku gdy grupa posiada drugiego administratora. Uzytkownik może należeć do wielu grup.

1.8. Limity

Duża skala publicznych chmur obliczeniowych stwarza w praktyce złudzenie dostępności nieograniczonych zasobów dla pojedynczego użytkownika. W przypadku prywatnej chmury, ograniczona wielkość zasobów wymaga wprowadzenia odpowiednich mechanizmów zabezpieczajacych.

Aby zapewnić stabilność działania, a w szczególności - aby zabezpieczyć przejęcie wszystkich zasobów przez jednego użytkownika, wprowadzono system limitów:

limit CPU:ograniczenie na liczbę wykorzystania rdzeni procesora i pamięci RAM
limit sieci:ograniczenie na liczbę publicznych numerów IP
limit przestrzeni dyskowej:
 ograniczenie na całkowity rozmiar zajmowanego miejsca na dysku (suma rozmiaru obrazów VM i rozmiaru wirtualnych dysków danych)

Limity CPU i sieci są sztywne. W przypadku przestrzeni dyskowej limit może zostać przekroczony (np. aby uniknąc utraty danych podczas operacji zapisywania obrazu VM). Jednak, po przekroczeniu limitu, większość operacji użytkownika jest zablokowana. Możliwe są tylko operacje prowadzące do zwolnienia przestrzeni dyskowej. Użytkownik powinien zredukować przestrzeń dyskową, albo zwrócić się do administratora o zwiększenie przydziału.

Wprowadzono także miesięczny limit wykorzystania zasobów oparty o system punktowy. Każdy szablon VM posiada dodatkowy parametr - liczbę punktów za godzinę użytkowania VM utworzonej na bazie tego szablonu. Liczba punktów za godzinę pozwala systemowi rozliczenowemu wyliczyć całkowitą liczbę punktów zużytych od początku miesiąca na podstawie czasu działania maszyn wirtualnych danego użytkownika.

W przypadku przeroczenia limitu, tworzenie nowych maszyn zostaje zablokowane. Użytkownik powinien zwrócić się do administratora o zwiększenie miesięcznego limitu punktów. Należy pamiętać, ze celem wprowadzenia systemu punktowego jest optymalizacja wykorzystania mocy obliczeniowej w prywatnych chmurach, gdzie nie stosuje się odpłatności za wykorzystanie zasobów.

Wobec łatwości uruchamiania nowych maszyn wirtualnych, powinno to mobilizować użytkowników do zwalniania nieużywanych maszyn wirtualnych, udostepniając zasoby innym użytkownikom.

1.9. Farmy

Funkcja tworzenia wirtualnych farm obliczeniowych (prekonfigurowanych klastrów maszyn wirtualnych) umożliwia łatwe przeprowadzanie intensywnych obliczeń wymagających większych mocy CPU. Farma może być utworzona na bazie dowolnego obrazu VM z rodziny Linux z zainstalowaną kontekstualizacją. Struktura farmy składa się z kontrolera klastra HN (Head Node) oraz pewnej liczby jednostek roboczych WN (Worker Node). Zarówno HN jak i WN są tworzone z tego samego obrazu VM. Proces tworzenia farmy przebiega w dwóch etapach. W pierwszym etapie operacje wykonywane są automatycznie w ramach systemu CC1 z wykorzystaniem kontekstualizacji. Procedurę tworzenia farmy rozpoczyna się za pomocą sekwencji Farmy -> Nowa farma. Czterokrokowy formularz jest podobny do formularza tworzenia pojedynczej VM (rozdział Uruchomienie maszyny wirtualnej). Dodatkowo należy podać liczbę jednostek roboczych oraz wybrac szablon. Po zatwierdzeniu za pomocą przycisku Utwórz na formularzu ostatniego kroku sprawdzana jest dostępność zasobów do utworzenia farmy. Po potwierdzeniu zasoby są rezerwowane i tworzony jest HN. Po nawiazaniu komunikacji HN z serwerem kontekstualizacji tworzone są jednostki robocze WN. Po nawiązaniu komunikacji pomiędzy WN i serwerem kontekstualizacji następuje konfiguracja całej farmy. Na HN tworzona jest para kluczy SSH, publiczny klucz jest wgrywany na wszystkie WN aby umożliwić bezhasłowy login ssh z HN do WN, na wszytkich WN dodawane są wpisy do /etc/hosts zawierające numery IP i nazwy jednostek klastra. Po pomyślnie zakończonych operacjach pierwszej fazy, farma otrzymuje status running ktory jest wyświetlany na stronie informacyjnej (rysunek Szczegóły farm). Jedynie status running gwarantuje poprawne zachowanie farmy.

Strona ze szczegółami farmy

Szczegóły farm

Druga faza dotyczy konfiguracji wyższego rzędu. Nie jest integralną częścią systemu CC1 a jedynie właściwością odpowiednio skonfigurowanego obrazy VM. HN pełni rolę serwera NFS oraz kontrolera systemu zadań wsadowych. Wszystkie jednostki WN mają zamontowany katalog /home wyeksportowany z HN. Opcjonalnie można udostępnić poprzez NFS inny katalog z HN. Obecnie stosowany jest system zadań wsadowych Slurm, który ma stosunkowo prostą procedurę instalacji, jednakową zarówno dla kontrolera jak i węzłów roboczych a wybór roli kontrolera odbywa się w momencie startu Slurm’a.

Konfiguracja drugiej fazy odbywa się za pomocą skryptu umieszczonego w katalogu /opt/cc1/farm. Uruchomienie skryptu z parametrami przeprowadza odpowiednią konfigurację. Podstawowa komeda z parametrem configure:

/opt/cc1/farm/farm_configure.sh configure

uruchamia procesy systemu Slurm oraz eksportuje katalog /home na wszystkie jednostki WN. Komenda systemu Slurm sinfo powinna wyświetlic następującą informację:

PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
infini*      up   infinite      3   idle farm-901-WN[0-2]

Pełną instrukcję dotyczącą systemu zadań wsadowych można znaleźć w Slurm User Guide na stronach WWW systemu Slurm.

Ze względu na ograniczony rozmiar dysków VM, interesującą opcją jest zamontowanie dodatkowego dysku na HN tak jak jest to opisane w rozdziale Dyski danych. W poniższym przykładzie dysk danych zamontowano w katalogu /soft. Ten katalog może być następnie wyeksportowany poprzez NFS na wszystkie jednostki WN za pomocą komendy:

/opt/cc1/farm/farm_configure.sh mount /soft

Funkcja odmontowania jest także dostępna:

/opt/cc1/farm/farm_configure.sh unmount /soft

Po zakończeniu obliczeń farma może zostać zniszczona (przycisk Zniszcz) lub zapisana (Zamknij i zapisz) W przypadku Zniszcz zarówno HN jak i wszystkie WN zostaną usunięte wraz ze wszelkimi modyfikacjami. Komenda Zamknij i zapisz powoduje zapis obrazu HN tak jak w przypadku pojedynczej maszyny VM oraz zwolnienie wszystkich zasobów. Maszyny wirtualne WN są niszczone.

1.10. Wymogi bezpieczeństwa

Środowisko Cloud Computing jest szczególnie narażone na ataki komputerowe. Użytkownicy maszyn wirtualnych posiadają prawa administartora i zobowiązani są zapewnić odpowiednio wysoki poziom bezpieczeństwa systemu tak jak w przypadku rzeczywistych komputerów. Powinni przestrzegać minimum podstawowych reguł, opisanych w popularnych artykułach dotyczących bezpieczeństwa komputerowego.

Bezwględnie przestrzegane powinny być regularne uaktualnienia systemu oraz wybór trudnych haseł.