1. Procedura instalacji CC1

1.1. Wprowadzenie

System CC1 wyposażony został w prostą zautomatyzowaną procedurę instalacji. W ten sposób przekształcenie klasycznie wykorzystywanej infrastruktury komputerowej w prywatną chmurę obliczeniową (o znacznie wyższej efektywności) może być przeprowadzony szybko i bez konieczności zgłębiania detali techniki Cloud Computing. Obecna automatyczna procedura instalacji przygotowana została dla systemów Linux:

  • Debian,
  • Ubuntu.

za pomocą standardowego mechanizmu pakietów instalacyjnych DEB. W przyszłości planowane jest przygotowanie automatycznej instalacji dla systemów bazujących na pakietach RPM. Warto zwrócić uwagę na dowolność wyboru systemu operacyjnego do obsługi fizycznego sprzętu, gdyż jest on niewidoczny dla użytkowników chmury obliczeniowej. Zalecane jest użycie systemu Debian 7 Wheezy. Do wirtualizacji używane jest środowisko KVM (Kernel-based Virtual Machine).

1.1.1. Struktura systemu

Schemat systemu CC1 przedstawiony jest na rysunku Schemat systemu .

Schemat systemu |CC1|

Schemat systemu CC1

System składa się z kilku współdziałających ze sobą części:

Interfejs WWW (wi WI):
 intuicyjny interfejs z modułem dostępu dla użytkowników i modułem do administracji.
Cloud Manager (clm CLM):
 globalny kontroler chmury.
Cluster Manager (cm CM):
 kontroler poszczególnych klastrów obliczeniowych o rozproszonej lokalizacji.
Server EC2:serwer umożliwiający dostęp do systemu za pomocą interfejsu EC2.

Każdemu elementowi odpowiada proces sterujący. Procesy te komunikują się między sobą poprzez protokoły sieciowe. Z tego względu można wyróżnić dwa główne typy instalacji.

  • Typ I: wszystkie procesy kontrolne uruchomione na jednym serwerze.
  • Typ II: rozmaite warianty układu procesów na wielu serwerach.

W przypadku typu II instalacji szczególnie interesującym może być układ z dedykowanym serwerem dla interfejsu wi WI, z przypisanym publicznym adresem IP oraz drugim serwerem dla procesów kontrolnych CLM i CM.

Procedura instalacji opisana zostanie dla interfejsu WI i kontrolerów CLM i CM. W przypadku automatycznych instalacji za pomocą paczek, bazy danych CLM i CM znajdują się na tych samych serwerach, na których uruchomione są CLM i CM. Instalacja serwera EC2 omówiona zostanie w oddzielnym rodziale.

Jedną z technicznych realizacji wygodnych w utrzymaniu systemu jest wykorzystanie wirtualnego serwera kontrolnego, lub, w przypadku instalacji typu II, kilku wirtualnych serwerów jako osobnych kontrolerów WI, CLM i CM.

1.1.2. Wybór typu instalacji

do kilku tysięcy rdzeni większe wdrożenia
Typ I instalacji Typ II instalacji
pojedyńczy wielordzeniowy serwer dla wszystkich modułów rozproszone instancje serwerów dla poszczególnych modułów

W instalacjach o wielkości do kilku tysięcy rdzeni w jednostkach roboczych najbardziej odpowiedni jest podstawowy tryb instalacji (typ I) ze wszystkimi procesami (clm CLM, cm CM, wi WI) uruchamianymi na jednym, odpowiednio wydajnym serwerze.

Szybkość działania systemu zależy od parametrów podstawowych elementów infrastruktury:

  • macierzy dysków,
  • przepustowości sieci,
  • wydajności jednostek roboczych.

Procesy sterujące systemu CC1 nie powinny wprowadzać istotnych ograniczeń w szybkości działania, nawet dla stosunkowo dużych instalacji.

1.1.3. Wymagania

Do zainstalowania systemu potrzebne są następujące elementy:

serwery kontrolne:
 Potrzebne są serwery, na których uruchamiane będą serwisy zwiazane z podstawowymi modułami systemu. W przypadku instalacji na jednej maszynie (typ I) zalecany jest wielordzeniowy serwer. Moc serwera powinna być dobrana zgodnie z przewidywaną liczbą użytkowników. Typowy czterordzeniowy serwer posiadający kilka GB pamięci RAM jest w stanie obsłużyć do kilkuset zarejestrowanych użytkowników. Serwer kontrolny może być także uruchomiony jako wielordzeniowa maszyna wirtualna na mocnym fizycznym serwerze.
węzły robocze:Wymagany jest co najmniej jeden węzeł roboczy. Węzły robocze powinny być wyposażone w dysk lokalny o wielkości zależnej od liczby maszyn wirtualnych jednocześnie uruchamianych na danym węźle. Przed uruchomieniem obraz maszyny wirtualnej kopiowany jest na lokalny dysk węzła roboczego. Aby zapewnić dobrą funkcjonalność należy stosować możliwie minimalne rozmiary obrazów VM wystarczające do poprawnego funkcjonowania samego systemu operacyjnego, gdyż dodatkowe dane można umieścić na wirtualnych dysków zewnętrznych. W przypadku systemów Linux rozmiar ten nie przekracza 10 GB. Dla dziesięciu VM uruchomionych jednocześnie na danym wężle rozmiar lokalnej przestrzeni dyskowej węzła dedykowanej systemowi CC1 powinien wynosić co najmniej 100 GB.
macierz dysków:o pojemności odpowiedniej do składowania obrazów maszyn wirtualnych oraz wirtualnych dysków z danymi.

Obecnie automatyczna instalacja za pomocą paczek jest dostępna dla systemów Debian i Ubuntu. Pakiety systemu CC1 znajdują się w dedykowanym repozytorium.

Warning

Niezbędna jest poprawna konfuguracja locales. Bez tego bazy danych CLM i CM nie zostaną skonfigurowane i zainicjalizowane. Wykonaj instrukcję poniżej i sprawdź, czy któreś spośród zmiennych są nieustawione:

locales

Jeżeli jakaś zmienna jest pusta, należy zrekonfigurować pakiet locales, np:

export LANGUAGE=pl_PL.UTF-8
export LANG=pl_PL.UTF-8
export LC_ALL=pl_PL.UTF-8
locale-gen pl_PL.UTF-8
dpkg-reconfigure locales

Caution

Jeżeli Apache2 jest już zainstalowany i skonfigurowany pod HTTPs, istnieje niestety konieczność upewnienia się, że używany jest bezhasłowy certyfikat. W przeciwnym wypadku procedura instalacji nie powiedzie się.

1.1.4. Dla aktualizujących system z wersji 1.7

Aktualizacja systemu z wersji 1.7 do wersji 2.0 lub wyższej jest bardziej czasochłonna ze względu na zakres zmian pomiędzy w/w wersjami.

Zalecane jest wykonanie kopii zapasowej serwerów zarządzajacych, bazy danych oraz zasobów użytkowników na macierzy dyskowej. Kopie zapasowe należy wykonywać na systemie wolnym od krytycznych operacji, takich jak uruchamianie nowych VM. W tym celu należy zablokować dostęp użytkowników do systemu.

Należy usunąć poszczególne moduły systemu poleceniami:

apt-get purge cc1-clm-v1.7
apt-get purge cc1-cm-v1.7
apt-get purge cc1-wi-v1.7

Po odinstalowaniu starej wersji należy wykonać kroki standardowe kroki instalacji, po czym należy wykonać migrację bazy danych ze starej do nowej wersji systemu, co zostanie opisane w stosownych rozdziałach.

1.2. Automatyczna instalacja - Typ I: Na jednym serwerze

Możliwe jest uruchomienie systemu CC1 w obrębie pojedynczego serwera. Pliki konfiguracyjne systemu CC1 domyślnie przygotowane są do instalacji (type I). Pliki konfiguracyjne poszczególnych procesów kontrolnych zawierają wpisy dotyczące komunikacji sieciowej z innymi procesami (przy założeniu, że wszystkie procesy działają w obrębie jednego serwera - wpisy localhost lub 127.0.0.1). Przed przystąpieniem do instalacji należy:

  1. Zainstalować czysty systemem Debian 7 (Wheezy) na serwerze zarządzającym i węzłach roboczych.
  2. Skonfigurować sieć. Serwer zarządzający oraz nody robocze powinny mieć dostęp do Internetu oraz znajdować się w tej samej podsieci. W podsieci tej powinny przechodzić bez ograniczeń pakiety typu broadcast.
Instalacja składa się z dwóch części:
  • instalacji modułów systemu,
  • instalacji węzłów roboczych.

Po zakończonych instalacjach należy przygotować system do działania zgodnie z opisem w rozdziale Po instalacji.

1.2.1. Moduły zarządzające CC1: clm CLM, cm CM, wi WI

Należy dodać repozytorium z pakietami DEB systemu CC1 i zainstalować moduły systemu:

echo "deb http://cc1.ifj.edu.pl/packages/ wheezy main" | tee -a /etc/apt/sources.list.d/cc1.list
apt-get update
apt-get install cc1-wi cc1-clm cc1-cm

Narzędzie apt-get zaproponuje instalację wyżej wymienionych pakietów wraz z ich zależnościami (m.in. biblioteki oraz niezbędne narzędzia). Należy potwierdzić instalację z niezaufanego repozytorium przez wpisanie Y. Po pobraniu, wszystkie pakiety powinny być zainstalowane i gotowe do używania. W systemie powinien pojawić się nowy użytkownik cc1.

cat /etc/passwd | grep cc1

1.2.1.1. Bazy danych: CM i CLM

Podczas instalacji zarówno Cloud Managera (cc1-clm) i Cluster Managera (cc1-cm) instalowane i konfigurowane są bazy danych - domyślnie są to lokalne bazy, oparte na silniku PostgreSQL, działające dla lokalnego użytkownika cc1.

Domyślnie do bazy wprowadzone są dane początkowe.

Note

Jeśli przeprowadzana jest aktualizacja z wersji v1.7, należy przeprowadzić migrację z dotychczasowych baz danych (MySQL → PostgreSQL).

1.2.1.1.1. Migracja bazy danych CLM (MySQL → PostgreSQL)

Podczas migracji bazy CLM przenoszone są m.in. takie dane, jak informacje o Użytkownikach i Grupach. Wykonujemy ją poleceniami:

echo "delete from clm_user" | su cc1 -c "psql clm"
apt-get install python-mysqldb
python /usr/lib/cc1/manage.py clm mysql_migrate [OPTIONS]

Dostępne opcje wskazujące na bazę danych CLM używaną do tej pory przez wersję 1.7 wymienione są poniżej:

--name=MYSQL_DB_NAME
  Nazwa bazy danych MySQL, domyślnie 'clm'

--password=MYSQL_USER_PASSWORD
  Hasło do bazy MySQL, domyślnie 'cc1'

--user=MYSQL_USER
  Użytkownik bazy MySQL, domyślnie 'cc1'

--host=MYSQL_HOST
  Host, na którym działa baza MySQL, domyślnie '127.0.0.1'

--port=MYSQL_PORT
  Port, na którym działa baza MySQL, domyślnie 3306
1.2.1.1.2. Migracja bazy danych CM (MySQL → PostgreSQL)
apt-get install python-mysqldb
python /usr/lib/cc1/manage.py cm mysql_migrate [OPTIONS]

Dostępne opcje wskazujące na bazę danych CM używaną do tej pory przez wersję 1.7 wymienione są poniżej:

--name=MYSQL_DB_NAME
  Nazwa bazy danych MySQL, domyślnie 'cm'

--password=MYSQL_USER_PASSWORD
  Hasło do bazy MySQL, domyślnie 'cc1'

--user=MYSQL_USER
  Użytkownik bazy MySQL, domyślnie 'cc1'

--host=MYSQL_HOST
  Host, na którym działa baza MySQL, domyślnie '127.0.0.1'

--port=MYSQL_PORT
  Port, na którym działa baza MySQL, domyślnie 3306

1.3. Automatyczna instalacja - Typ II: Rozproszona instalacja

Każdy z modułów systemu zarządzających chmurą (WI, CLM i CM) może być uruchomiony na dedykowanym serwerze. Należy przygotować trzy serwery z czystym systemem operacyjnym Debian, na których uruchomiene zostaną odpowiednie procesy. Możliwe jest grupowanie części procesów na wspólnym serwerze.

Note

Należy pamiętać, aby po zakończeniu całej instalacji odpowiednio skonfigurować poszczególne moduły wchodzące w skład systemu CC1. Wszystkie pliki konfiguracyjne domyślnie ustawione są do instalacji typu I, dlatego rozproszona instalacja pociąga za sobą konieczność edycji odpowiednich pól w plikach config.py każdego z modułów (/etc/cc1/<moduł>/config.py). W szczególności dotyczy to numerów IP poszczególnych serwerów. W przypadku portów TCP można zachować domyślne ustawienia.

Przed przystapieniem do instalowania paczek CC1 nalezy wybrać numery IP dla poszczególnych serwerów zarządzjących. Jeżeli zdecydujemy się udostępnić instalację CC1 po publicznym adresie IP, należy wybrać dodatkowe publiczne numery IP dla Web Interfejsu (interfejs dostępowy), Cluster Managera (ze względu na przekierowania portów VNC) i opcjonalnie dla interfejsu EC2.

Komunikacja pomiędzy poszczególnymi modułami systemu wygląda następująco:

Todo

Diagram przykładowej struktury systemu.

1.3.1. Moduł zarządzający clm CLM

Każda instalacja chmury CC1 do poprawnego działania wymaga instalacji pakietu cc1-clm.

1.3.1.1. Instalacja Cloud Managera (CLM)

Należy dodać repozytorium CC1 i zainstalować moduł CLM wraz ze wszystkimi niezbędnymi zależnościami:

echo "deb http://cc1.ifj.edu.pl/packages/ wheezy main" | tee -a /etc/apt/sources.list.d/cc1.list
apt-get update
apt-get install cc1-clm

1.3.1.2. Konfiguracja Cloud Managera

Możliwa jest modyfikacja konfiguracji CC1 w pliku /etc/cc1/clm/config.py. Zmienione mogą zostać m.in.:

  • serwer poczty wychodzącej (dla powiadomień użytkowników),
  • sposób aktywacji nowych kont w systemie,
  • baza danych CLM.
1.3.1.2.1. Baza danych CLM

Note

Jeżeli CLM ma korzystać z domyślnie utworzonej lokalnej bazy danych PostgreSQL, można ten rozdział pominąć. Baza ta jest tworzona automatycznie podczas instalacji systemu.

Podczas instalacji Cloud Managera, instalowana i konfigurowana jest baza danych - domyślnie jest to lokalna baza PostgreSQL, działająca dla lokalnego użytkownika cc1. Zmiany w parametrach połączenia z bazą danych można dokonać poprzez edycję zmiennej DATABASES w pliku /etc/cc1/clm/config.py. Wskazana baza danych musi być odpowiednio skonfigurowana do użycia z CLM-em:

  • utworzony użytkownik, zgodnie z plikiem konfiguracyjnym,
  • utworzona baza danych clm z uprawnieniami dla tego użytkownika,
  • baza dostępna przez połączenie z maszyny, na której działa CLM.

Przykładowy sposób konfiguracji bazy PostrgreSQL:

  1. Utworzenie użytkownika cc1: CREATE USER cc1 WITH PASSWORD 'cc1',
  2. Utworzenie bazy danych clm: CREATE DATABASE clm,
  3. Ustawienie nasłuchiwania połączeń z zewnątrz przez PostgreSQL - ustawienie listen_address i port w pliku postgresql.conf (np. /etc/postgresql/9.1/main.postgresql.conf),
  4. Ustawienie uprawnień do bazy clm dla użytkownika cc1 - dodanie linii host clm cc1 <CLM_ADDRESS>/0 password do pliku pg_hba.conf (np. /etc/postgresql/9.1/main/pg_hba.conf).

Gdy baza jest przygotowana, należy utworzyć i zmigrować jej strukturę poleceniami:

cc1_manage_db clm syncdb
cc1_manage_db clm migrate

Caution

Do bazy danych muszą zostać wprowadzone dane początkowe. Inne kroki muszą zostać wykonane w przypadku aktualizacji z wersji CC1 v1.7, inne w przypadku świeżej instalacji.

1.3.1.2.1.1. Inicjalizacja bazy danych w przypadku świeżej instalacji

Jeżeli wykonywana jest świeża instalacja (nie upgrade z wersji v1.7), należy zainicjalizować bazę danych:

cc1_manage_db clm loaddata /usr/lib/cc1/clm/initial_data.json
1.3.1.2.1.2. Migracja bazy danych CLM w przypadku aktualizacji z wersji CC1 v1.7

Jeżeli dotychczas zainstalowana była wersja CC1 v1.7 i aktualizujemy system do wersji v2.0, konieczna jest migracja bazy danych CLM (MySQL→PostgreSQL).

Podczas migracji bazy CLM przenoszone są m.in. takie dane, jak informacje o Użytkownikach i Grupach. Wykonujemy ją poleceniami:

echo "delete from clm_user" | su cc1 -c "psql clm"
apt-get install python-mysqldb
python /usr/lib/cc1/manage.py clm mysql_migrate [OPTIONS]

Dostępne opcje wskazujące na bazę danych CLM używaną do tej pory przez wersję 1.7 wymienione są poniżej:

--name=MYSQL_DB_NAME
  Nazwa bazy danych MySQL, domyślnie 'clm'

--password=MYSQL_USER_PASSWORD
  Hasło do bazy MySQL, domyślnie 'cc1'

--user=MYSQL_USER
  Użytkownik bazy MySQL, domyślnie 'cc1'

--host=MYSQL_HOST
  Host, na którym działa baza MySQL, domyślnie '127.0.0.1'

--port=MYSQL_PORT
  Port, na którym działa baza MySQL, domyślnie 3306
1.3.1.2.1.2.1. Dostęp do panelu admina CLM-a za pomocą Web Interfejsu

Tuż po instalacji wszystkich pakietów mamy możliwość zalogowania się na domyślne konto administratora chmury danymi:

Login:cc1
Haslo:cc1
Adres:http://<adres-chmury>/admin_clm

1.3.2. Moduł zarządzający cm CM

Do działania minimalnej wersji chmury potrzebujemy dodać co najmniej jeden Cluster Manager (CM). Jest to moduł zarządzający serwerami, siecią oraz obrazami wirtualnych maszyn.

1.3.2.1. Instalacja Cluster Manager’a (CM)

Należy dodać repozytorium CC1 i zainstalować moduł CM wraz ze wszystkimi niezbędnymi zależnościami:

echo "deb http://cc1.ifj.edu.pl/packages/ wheezy main" | tee -a /etc/apt/sources.list.d/cc1.list
apt-get update
apt-get install cc1-cm

1.3.2.2. Konfiguracja Cluster Manager’a (Opcjonalne)

Możliwa jest modyfikacja konfiguracji CC1 w pliku /etc/cc1/cm/config.py. Zmienione mogą zostać m.in.:

  • monitoring wirtualnych maszyn,
  • połączenie z Cloud Managerem,
  • serwer email,
  • baza danych CM.
1.3.2.2.1. Baza danych CM

Note

Jeżeli CM ma korzystać z domyślnie utworzonej lokalnej bazy danych PostgreSQL, można ten rozdział pominąć. Baza ta jest tworzona automatycznie podczas instalacji systemu.

Podobnie jak Cloud Manager, CM instaluje własną bazę danych Postgres oraz konfiguruje niezbędne składniki systemu. Jeżeli nie chcemy używać domyślnie zainstalowanej lokalnej bazy danych, to, podobnie jak w przypadku Cloud Managera, możemy zmienić parametry połączenia w pliku /etc/cc1/cm/config.py. Baza danyca skonfigurowana jest za pomocą zmiennej DATABASES. Utworzenie struktury bazy danych odbywa się za pomocą komend:

cc1_manage_db cm syncdb
cc1_manage_db cm migrate

Caution

Do bazy danych muszą zostać wprowadzone dane początkowe. Inne kroki muszą zostać wykonane w przypadku aktualizacji z wersji CC1 v1.7, inne w przypadku świeżej instalacji.

1.3.2.2.1.1. Inicjalizacja bazy danych w przypadku świeżej instalacji

Jeżeli wykonywana jest świeża instalacja (nie upgrade z wersji v1.7), należy zainicjalizować bazę danych:

cc1_manage_db cm loaddata /usr/lib/cc1/cm/initial_data.json
1.3.2.2.1.2. Migracja bazy danych CM w przypadku aktualizacji z wersji CC1 v1.7

Jeżeli dotychczas zainstalowana była wersja CC1 v1.7 i aktualizujemy system do wersji v2.0, konieczna jest migracja bazy danych CM (MySQL→PostgreSQL).

apt-get install python-mysqldb
python /usr/lib/cc1/manage.py cm mysql_migrate [OPTIONS]

Dostępne opcje wskazujące na bazę danych CM używaną do tej pory przez wersję 1.7 wymienione są poniżej:

--name=MYSQL_DB_NAME
  Nazwa bazy danych MySQL, domyślnie 'cm'

--password=MYSQL_USER_PASSWORD
  Hasło do bazy MySQL, domyślnie 'cc1'

--user=MYSQL_USER
  Użytkownik bazy MySQL, domyślnie 'cc1'

--host=MYSQL_HOST
  Host, na którym działa baza MySQL, domyślnie '127.0.0.1'

--port=MYSQL_PORT
  Port, na którym działa baza MySQL, domyślnie 3306

1.3.3. Interfejs wi WI

Należy dodać repozytorium CC1 i zainstalować moduł WI wraz ze wszystkimi niezbędnymi zależnościami:

echo "deb http://cc1.ifj.edu.pl/packages/ wheezy main" | tee -a /etc/apt/sources.list.d/cc1.list
apt-get update
apt-get install cc1-wi

W pliku /etc/cc1/wi/config.py należy zmodyfikować odpowiednie pola.

1.4. Po instalacji

Po ukończeniu procesu instalacji serwera zarządzającego (lub serwerów w przypadku instalacji typu II) systemu CC1 poszczególne elementy systemu: WI, CLM i CM mogą się już komunikować ze sobą. Należy zalogować się na domyślne konto administratora chmury poprzez przeglądarkę WWW:

Adres:http://<adres-chmury>/admin_clm
Login:cc1
Haslo:cc1

gdzie <adres-chmury> jest domeną lub adresem IP serwera, na którym zainstalowany został Web Interface - WI.

Aby uzyskać pełną funkcjonalność systemu, należy wykonąć kolejno następujące czynności:

1.4.1. Rejstracja CM w CLM

Z panelu administratora CLM wybrać panel Cluster Managers, na którym wyświetlona zostanie pusta lista. Po przycisnięciu dolnego przycisku + Dodaj nowy CM wyświetlony zostanie prosty formularz rejestracji nowego CM-a zawierający kolejne pola:

Nazwa:Dozwolone są małe litery, liczby i myślnik.
Adres:adres IP serwera na którym uruchomiony jest modul CM. W przypadku instalacji Typu I podajemy 127.0.0.1
Port:Domyślny port dla CM to 8001
Haslo:W dwa ostanie pola należy wpisać hasło. Użytkownik wypełniający formularz staje się automatycznie administratorem tworzonego CM-a. Może to byc podstawowy administrator chmury cc1 lub inny użytkownik, któremu zostały przydzielone przywileje administratora chmury (administrator CLM)

Administrator CM-a otrzymuje dostęp do panelu zarządzania CM-a pod adresem http://<adres-chmury>/admin_cm

1.4.2. Rejestracja przestrzeni dyskowej w CM

Każdy CM powinien posiadać przestrzeń dyskową, na której przechowywane będą obrazy dysków użytkowników. Przestrzeń musi składać się z co najmniej jednej macierzy dysków. Ze strony głównej administratora CM-a z menu Sprzęt wybieramy zakładkę Macierze. Za pomocą dolnego przycisku + Dodaj nową macierz dostajemy się do formularza zawierającego kilka pól:

Nazwa:

nazwa macierzy powinna składac się z liter, liczb oraz myślników.

Maksymalna pojemność:
 

określa przydzieloną na obrazy przestrzeń na macierzy

Adres:

W tym polu należy podać numer IP macierzy. Domyślnym protokołem dostępu do macierzy jest NFS.

Katalog:

Nazwa katalogu udostępnianego przez macierz. Nawa ta będzie wykorzystana w komendzie montowania:

mount serwer_nfs:/nazwa_katalogu nazwa_lokalnego_katalogu

Note

Aby uniknąć problemów wynikłych z nieudanego montowania zasobów, należy przeprowadzić ręczny test montowania zasobów na CM i na jednym z nodów. W tym celu nalezy sprawdzić czy zainstalowany został klient NFS, następnie wydać komendę montowania. W przypadku NFS4 należy zamontować macierz komendą:

mount -t nfs4 nfs-serwer:/nazwa_katalogu /mnt

a następnie sprawdzić poprawność zamontowania. Na serwerze CM sprawdzić prawo zapisu dla użytkownika cc1. Na jednym z nodów nie został jeszcze założony użytkownik cc1, należy sprawdzić jedynie poprawność montowania. Nastepnie należy zasób odmontować.

1.4.3. Rejestracja węzłów roboczych w CM

Następnym krokiem jest dodanie do chmury nowych węzłów roboczych, na których będą uruchamiane wirtualne maszyny. Zalecana jest automatyczna konfiguracja za pomocą komend dostępnych na cm CM. Komputer pełniący rolę node Node musi mieć dostęp do internetu oraz być w jednej sieci z cm CM’em oraz macierzą. Ważne, aby w obrębie tej sieci przechodziły bez ograniczeń pakiety wysyłane na broadcast.

W celu automatycznego zainstalowania oprogramowania noda należy zalogować się na maszynę CM na której dostępne jest narzędzie cc1_cm_setup_node, które umożliwia automatyczne dodanie do Noda repozytorium pakietów, zainstalowanie odpowiednich pakietów i skonfigurowanie ich. Narzędzie potrafi także dodać nowego Noda do bazy danych Cluster Managera.

Aby zainstalować Noda wykonujemy na maszynie CM‘a następujące polecenia:

cc1_cm_setup_node install <libvirt_url>
cc1_cm_setup_node configure <libvirt_url> <network_interface>
cc1_cm_setup_node add <libvirt_url> <cpu_total> <memory_total> <hdd_total>

gdzie:

libvirt_url:

string określający połączenie z usługą libvirt ma postac:

qemu+ssh://cc1@<ip_noda>/system

gdzie ip_noda to numer IP noda którego chcemy zainstalować. Może się zmienić w zależności od wykorzystywanego wirtualizatora oraz adresu IP. Zawsze należy używać nazwy użytkownika cc1. Zmiana tej nazwy może spowodować niepoprawne działanie całego Cluster Managera.

network_interface:
 

nazwa interfejsu sieciowego (zwykle eth0) lub rozdzielona przecinkami lista nazw interfejsów, za pomocą których nody mogą się ze sobą komunikować. Wymagane jest podanie przynajmniej jednego. Jeśli sieci są redundantne, można podać interfejsy dostępowe do wszystkich tych sieci.

cpu_total, memory_total, hdd_total:
 

określa (w MB w przypadku memory i hdd), ile zasobów z noda może maksymalnie zostać przeznaczonych do obsługi chmury. Pozostałe zasoby pozostają do dyspozycji systemu operacyjnego.

Narzędzie wykonuje także szereg testów mających na celu sprawdzenie poprawności instalacji, działania sieci i konfiguracji systemu noda. Po tej operacji Node powinien być skonfigurowany, dodany do bazy danych i gotowy do działania. Jego stan można sprawdzić w zakładce Nodes w panelu administratora CM:

http://<adres_chmury>/admin_cm/

1.4.4. Przygotowanie systemu do działania

Zanim system zostanie oddany użytkownikom należy po zalogowaniu na konto administratora systemu wykonać kilka operacji. Domyślnym administratorem jest użytkownik cc1, utworzony w trakcie procesu instalacji z domyślnym hasłem cc1. Hasło to należy zmienić po pierwszym zalogowaniu się do systemu.

Należy wejść do panelu administratora CLM Web Interfejsu (https://<adres-chmury>/admin_clm), następnie można:

  • zdefiniować szablony maszyn wirtualnych - przejść do panelu Szablony, wybrać przycisk Utwórz szablon i wypełnić odpowiednie pola formularza. Sugerowane są nazwy zawierajace informacje o liczbie rdzeni i pamieci RAM, takie jak 1 CPU 2 GB RAM.

  • zdefiniować zakres prywatnych numerów IP maszyn wirtualnych - przejsć do panelu Sieci→Dostepne pule i dodać sieć dla maszyn wirtualnych. Pula tych adresów musi odpowiadać definicji w zbiorze konfiguracyjnym pakietu Quagga.

  • dodać pulę publicznych adresów IP - przejść do panelu Sieci→Publiczne adresy IP i skorzystać z przycisku Dodaj publiczny adres IP.

  • wgrać publiczne obrazy - należy przygotować i wgrać publiczne obrazy dla użytkowników. Publiczne obrazy powinny mieć zainstalowany pakiet kontekstualizacji. Zaleca się, aby rozmiar obrazów nie przekraczał 10 GB. Możliwe jest stosowanie większych obrazów ale wzrośnie odpowiednio czas uruchamiania maszyny wirtualnej (obraz VM kopiowany jest na lokalny dysk noda). Dodatkowo należy dysponować nodami z odpowiednio dużym lokalnym dyskiem.

    Instalacja CTX

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

Należy wybrać metodę rejestracji użytkowników. Dostępne są trzy możliwości:

  • Potwierdzenie rejestracji za pomocą email i akceptacja administratora chmury. Wymaga podania serwera email oraz ustawienia odpowiedniej flagi (MAILER_ACTIVE) w pliku /etc/cc1/clm/config.py
  • Bez potwierdzenia za pomocą email ale z akceptacją administratora chmury. Jest to domyślna metoda po instalacji.
  • Automatyczna aktywacja bez potwierdzenia za pomocą email i bez akceptacji administratora chmury.

1.5. Aktualizacje systemu

Do danej wersji systemu dostarczane są aktualizacje celem wprowadzenia dodatkowych funkcjonalności lub poprawek zauważonych błędów. Aktualizację można przeprowadzic bez konieczności zatrzymania działajacych maszyn VM uzytkowników.

Jeżeli system w wersji 2.0 instalowany był autmatycznie z paczek, jego moduły mogą również zostać automatycznie zaktualizowane poleceniami:

apt-get update
apt-get install <module-name>

Warning

Należy zablokowac dostep użytkowników do systemu i zaczekać na ukończenie wszystkich krytycznych operacji, takich jak tworzenie maszyn wirtualnych.

Aktualizacja poszczególnych modułów systemu przeprowadzana jest za pomocą komend:

apt-get update
apt-get install cc1-clm
apt-get install cc1-cm
apt-get install cc1-wi

Pliki konfiguracyjne config.py w katalogach /etc/cc1/<moduł> nie są modyfikowane. Jeżeli przybyły nowe pola do pliku konfiguracyjnego, instalator informuje o tym, a w pliku /etc/cc1/<moduł>/changes.txt zapisywana jest lista nowych pól. Administrator powinien uaktualnić ustawienia w pliku /etc/cc1/<moduł>/config.py zgodnie z opisem nowych pól. W ramach zależności pakiety instalują także skrypty do tworzenia i migrowania bazy danych całego systemu. W przypadku zmian struktury baz danych w trakcie procesu aktualizacji nastąpi modyfikacja tabel w bazach danych.

Table Of Contents

Previous topic

Instalacja systemu CC1

This Page