Rozproszone systemy operacyjne |
|
---|---|
Termin zajęć: |
|
Rodzaj zajęć: |
|
Warunek zaliczenia ćwiczeń: |
|
Warunek zaliczenia wykładu: |
|
Ocena ćwiczenia: |
|
Ocena wykład: |
|
Dziedziny projektu: |
|
Referat: |
|
Projekt 1: |
|
Projekt 2: |
|
Plan wykładu
- Wykład 1 (*)
Wprowadzenie (wykład skrócony ze względu na zmianę laboratoriów). - Wykład 2 (*)
Podstawowe metody rozpraszania - wprowadzenie do Rozprosoznych Systemów Operacyjnych. - Wykład 3 (*)
Podstawowe metody rozpraszania - II (Linux Virtaul Server). - Wykład 4 (*)
Protokół VRRP. Przypomnienie zagadanień przed sprawdzianem. - Wykład 5 (*)
Zaliczenia projektów. - Wykład 6 (*)
Systemy cloud. - Wykład 7 (*) (18.04.2012)
Windows Azure. - Wykład 8 (*) (25.04.2012)
Wykład nie odbędzie się - przeznaczony na instalajcę środowisk wirtualnych i aplikacji deweloperskich. - Wykład 9 (*) (09.05.2012)
Dzień sportu - piknik. - Wykład 10 (*) (16.05.2012)
Rozproszone system plików. - Wykład 11 (*) (23.05.2012)
Active Directory. - Wykład 12 (30.05.2012)
Klastry obliczeniowe. - Wykład 13 (06.06.2012)
Referaty studentów. - Wykład 14 (13.06.2012)
Referaty studentów. - Wykład 15 (13.06.2012)
Wykład dodatkowy.
Plan ćwiczeń
-
Zajęcia 2
Instalacja maszyn wirtualnych.
Zainstaluj 3 maszyny wirtualne według slajdów.
Nazwij maszyny: rso-srv1, rso-srv2, rso-srv3.
- Zajęcia 3
Konfiguracja LVS.
Zadanie:- Zainstaluj klaster aplikacji WWW
- Skonfiguruj serwer keepalived
- Zajęcia 4
Sesje w PHP.
Instalacja MySQL.
Mysql w PHP.
Instalacja rozproszonego systemu WWW.
Zadanie:- Napisz serwisy www w jezyku php, które będą utrzymywały sesję użytkownika:
- w sposób zwykły - przez funkcję session_start() dostępną w języku PHP
- w bazie danych - zaimplementuj funkcję startuj_sesje(), która utworzy sesję jeśli nie istnieje i zapisze w bazie odebrane od użytkownika dane w $_POST['login'] i $_POST['pass'], a jeśli sesja istnieje to ustawia zmienną $SESJA['user'] i $SESJA['haslo'] z ostatnio zapamiętanej sesji oraz dokona uwierzytelnienia.
- Zainstaluj zaimplementowane serwisy www na maszynach SW1 i SW2
- Przetestuj dzialanie serwisu - w jednym i drugim przypadku zakladajac ze jeden wezel sieci padl - symulacja (/etc/init.d/apache stop).
- Napisz serwisy www w jezyku php, które będą utrzymywały sesję użytkownika:
- Zajęcia 5
Konfiguracja Failover HA dla mysql.
Ustawienie replikacji HA w mysql
Zadanie:- ustaw replikacje master-slave dla dwoch serwerow
- podziel w swojej aplikacji odczyty i zapisy tak by zapisy odwoływały się do serwera master, a odczyty były równoważone przez LVS
- ustaw w demonie Keepalived automatyczne rozdzielanie zapytań odczytu na oba serwery
- Zajęcia 6
Konfiguracja VRRP. - Zajęcia 7
Oddawanie projeku 1.
Wymagania aplikacji:- Aplikacja ma obslugiwac logowanie (lista loginow i hasel moze byc stala) (5pkt)
- Aplikacja ma obslugiwac edytowanie informacji o profilu osoby która się zalogowała (Imie, Nazwisko, Adres, Miasto,NIP,PESEL) (5pkt)
- Aplikacja działać niezależnie od serwera WWW(20pkt - sesja w BD)
- Aplikacja ma działać na dwóch serwerach www, do których połączenie będzie odbywało się przez serwer LVS (15pkt), który będzie posiadał skonfigurowaną usługę Keepalived(10pkt)
- Każdy serwer www ma korzystać z połączenia z bazą danych do odczytu przez klaster (15pkt) skonfigurane przez Keepalived (10pkt)
- Każdy serwer www ma korzystać z połączenia z bazą danych Master w zapytaniach zapisu, a w przypadku jego niedzaiłania informować o przerwie serwisowej
- Zajęcia 8 (16.04.2012)
Instalacja maszyn wirtualnych i środowisk deweloperskich. - Zajęcia 9 (23.04.2012)
Aplikacje działające w cloud. - Zajęcia 10 (07.05.2012)
Aplikacje działające w cloud - Web Role. Testowanie aplikacji korzystających z Compute Emulatora i Storage Emulatora.
Przydatne howto:- Aplikacja webserwis w Winwows Azure
- Aplikacja przechowująca pliki w Windows Azure Storage
- Aplikacja Księgi Gości korzystająca z Windows Azure Storage - tabelki (tutorial zawiera więcej funkcji - również przetwarzanie w tle, które zostanie przerobione na następnych zajęciach)
- napisz usługę dla Windows Azure, która listuje dostępne pliki w kontenerze Azure Storage o nazwie podanej przez użytkownika
- napisz usługę dla Windows Azure, która przechowuje i umożliwia modyfikację informacji o użytkownikach (imie, nazwisko, login, haslo, adres, data urodzenia, pesel)
- napisz usługę dla Windows Azure, która uwierzytelnia użytkownika sprawdzając czy istnieje jego login i hasło w tabeli Azure Storage
- Zajęcia 11 (14.05.2012)
Aplikacje działające w cloud - Worker Role.- Sprawdzenie zadań z zajęć poprzednich
- napisz usługę dla Windows Azure, która odbiera od użytkwnika plik z danymi wsadowymi (Web Role), a następnie przekaże te zadania do obliczenia przez aplikację działającą w tle(Worker Role). Każda będzie postaci 3 cyfry, znak "+", 3 cyfry, znak enter, np. "100 + 013\n" (Uwaga: celem jest przetwarzanie w tle, a nie analiza pliku wsadowego i wykonywanie obliczenia. Można zaproponować własne zadanie.),
- Zajęcia 12 (21.05.2012)
Omówienie specyfikacji projektów Napisz aplikację Web w Windows Azure, której celem jest tworzenie archiwum stron www:- Aplikacja ma obslugiwac zakładanie kont użytkowników oraz logowanie (10 pkt)
- Aplikacja ma obslugiwac edytowanie informacji o profilu osoby która się zalogowała (Imie, Nazwisko, Adres, Miasto,NIP,PESEL) (10pkt)
- Aplikacja ma działać niezależnie od ilości powołanych instancji (25pkt - sesja przechowana w Windows Azure)
- Aplikacja ma przyjmować od zalogowanego użytkownika pliki z harmonogramem zadań do przetworzenia (25pkt - Worker).
Kazdy plik zawiera linie postaci "A B C D E adres_http\n", gdzie A,B,C,D,E mają postać tak jak pierwsze pieć pozycji w pliku crontab (http://linux.about.com/od/commands/l/blcmdl5_crontab.htm), np. "5 0 * * * http://onet.pl" - oznaczające harmonogram tworzenia zrzutu strony http://onet.pl codziennie 5 minut po północy. - Aplikacja umożliwi przeglądanie archiwum zrzuconych stron w postaci plików html(25pkt)
- W przypadku braku zmiany strony WWW nie przechowujemy jej w archiwum, a zapisujemy odnośnik(5pkt)
- Zapisywanie obrazków, css i filmów (5 pkt)
- Prezentacja wyników w postaci czytelnej dla przeglądarki (10pkt)
- Zajęcia 13 (28.05.2012)
Analizy projektów. - Zajęcia 14 (04.06.2012 - przeniesione na 12.06.2012!!!, godzina 8:30-12:30)
Zaliczenie projektu nr 2. - Zajęcia 15 (12.06.2012)
Wypisywanie ocen.
Tematy referatów:
OS:
- budowa i działanie systemu Amoeba (2 osobowe)
- budowa i działanie OpenSSI (3 osobowy) (nie SSL :]) (zajęty)
- Rocks Cluster Distribution (2 osobowy) (zajęty)
- Red Hat Enterprise Linux AS (2 osobowy) (zajęty)
Rozproszone systemy plików:
- Coda File System (3 osobowy)
- Big Table (3 osobowy) (zajęty)
- Google File System (3 osobowy) (zajęty)
- Andrew File System (3 osobowy)
- Microsoft DFS (3 osobowy)
Grid:
- Globus Toolkit (3 osobowy) (zajęty)
Cloud:
- Amazon Elastic Compute Cloud (3 osobowy) (zajęty)
- Amazon Simple Storage Service (3 osobowy) (zajęty)
Usługi katalogowe:
- Network Information Service (3 osobowy)
- Windows Active Directory (3 osobowy) (uwaga - można podzielić na kilka tematów mniejszych)