school

Publikacje

Budowa szkolnego serwera usług sieciowych z wykorzystaniem wbudowanego systemu BoFF-BF100 z mikroprocesorem ARM920T. Zalety w stosunku do klasycznej instalacji na komputerze PC.

1. Wstęp

Klasyczny szkolny serwer sieciowy najczęściej wykorzystywany jest do udostępniania usług HTTP (strony www) poczty elektronicznej SMTP, i POP3 oraz FTP. Z uwagi na walory edukacyjne oraz koszty wdrożenia najbardziej pożądane jest tutaj wykorzystanie oprogramowania Open Source na licencji GPL, takiego jak Linux, który w instalacjach serwerowych posiada większość rynku. W praktycznie wszystkich przypadkach oprogramowanie serwera instaluje się na komputerach PC. Obciążenie systemu serwerowego z uwagi na niewielką liczbę klientów jest niewielkie w związku z czym ogromna część mocy obliczeniowej jest marnotrawiona. Nie bez znaczenia przy dzisiejszym wzroście cen energii jest również fakt znacznego poboru energii elektrycznej przez komputer PC, który może przekraczać ponad 100W. W związku z tym nasuwa się możliwość zastąpienia serwera działającego na komputerze PC inną znacznie bardziej energooszczędną architekturą. W przeciwieństwie do Windows kod źródłowy linuxa jest powszechnie dostępny, a zatem można przygotować oprogramowanie serwera na zupełnie inną architekturę niż klasyczna i386.

2. ARMputer BF-100 architektura ARM920T

W celu zastąpienia klasycznego serwera PC inną architekturą postanowiono wybrać system embedded ARMputer BF-100. (http://bryndza.ep.com.pl/index.php?dz=proj&id=armputer) Sercem tego urządzenia jest mikroprocesor z rdzeniem ARM920T taktowany częstotliwością 180MHz, którego wydajność jest równoważna komputerowi PC taktowanemu zegarem około 400MHz. Przy tym zestaw ten charakteryzuje się znacznie mniejszym poborem mocy niż klasyczny komputer PC zadowalając się mocą 0,9W co jest wartością w zasadzie 100 razy mniejszą niż moc pobierana przez klasyczny komputer PC. Urządzenie jako nośnik dyskowy wykorzystuje kartę pamięci SD, która również pobiera znikome ilości energii. Współczesne karty SD mają pojemność rzędu 8-16GB co pozwala umieścić na niej bardzo dużą liczbę informacji z powodzeniem wystarczającą na prosty serwer szkolny. Producent dostarcza urządzenie wraz przykładową implementacją skompilowaną specjalnie dla małych systemów przemysłowych. Niestety tak dystrybucja zupełnie nie nadaje się do uruchomienia na niej serwera z uwagi na to, że wszystkie aplikacje trzeba by było kompilować bezpośrednio z kodów źródłowych co jest zadaniem bardzo uciążliwym. Na szczęście istnieją gotowe dystrybucje linuxa na architekturę ARM, gdzie w naszym wypadku postanowiliśmy wybrać dystrybucję DEBIAN na architekturę ARM, którą można pobrać ze strony http://www.debian.org/ports/arm/.

3. Uruchamianie serwera szkolnego na Debianie z wykorzystaniem ARMputera BF-100

Instalacja dystrybucji na architekturze ARM znacząco odbiega, od tego do czego przywykliśmy instalując linux-a na klasycznych komputerach PC. Podstawową trudnością jest to, że urządzenie to nie posiada żadnych nośników zewnętrznych w stylu CDROM. Ponadto z uwagi na ogromną różnorodność urządzeń, oraz brak standardu architektury, każe z urządzeń posiada specjalnie przygotowany dla niego i dedykowany kernel linuxa, który niedostępny jest wraz ze standardową dystrybucją. Aby zatem uruchomić debiana na naszej płytce musimy na karcie pamięci umieścić jądro linuxa dostarczone przez producenta, oraz system bazowy debiana. Dodatkową trudnością jest to że programów przeznaczonych dla ARMa nie możemy bezpośrednio wykonywać na komputerze PC, zatem bezpośrednio nie jest możliwe użycia narzędzie debootstrap umożliwiające wygenerowanie podstawowego obrazu karty pamięci MMC. Aby zainstalować Debiana na BF-100 posłużymy się zatem emulatorem QEMU umożliwiającym emulowanie urządzeń z rdzeniem ARM. W tym celu wykorzystano opis instalacji Debiana na architekturę ARM w wirtualnym komputerze z mikrokontrolerem ARM:http://www.aurel32.net/info/debian_arm_qemu.php.
Aby zainstalować na naszej karcie pamięci Debiana musimy najpierw zainstalować w emulatorze QEMU linuxa na architekturę ARM, a następnie za pomocą narzędzie debootstrap, przygotować obrazy instalacyjne na architekturę ARM a następnie przegrać je na kartę pamięci. Tworzenie wirtualnego obrazu karty wykonujemy za pomocą polecenia debootstrap --verbose --foreign --arch arm sid ./sid http://ftp.at.debian.org/debian. Po utworzeniu obrazu kopiujemy katalog główny na kartę pamięci SD oraz kopiujemy do katalogu głównego jądro systemowe dostarczone przez producenta BF-100.
Po tej czynności nasz system jest już gotowy do pracy zatem wyjmujemy kartę SD z czytnika wkładamy ją w gniazdo kart BF-100. Po wyzerowaniu ARMputera system powinien się uruchomić z podstawowym bazowym systemem Debian. Teraz już możemy przez sieć za pomocą polecenia sudo apt-get install zainstalować stosowne usługi sieciowe, takie jak serwer www lighthttpd, php5, czy usługi poczty elektronicznej smtp, oraz pop3. Dalszy proces instalacji przebiega w sposób klasyczny jak na komputerze PC

3. Wnioski

Po zainstalowaniu i skonfigurowania serwera na ARMputerze BF-100 postanowiono przeprowadzić eksperyment polegający na chwilowym zastąpieniu usług serwowanych przez klasyczny komputer PC urządzeniem BF-100. Po tygodniowych badaniach okazało się że urządzenie to doskonale radziło sobie w warunkach małego obciążenia usług sieciowych WWW, SMTP, POP3 w środowisku szkolnym, przy 100 krotnie mniejszym poborze mocy niż serwer bazujący na komputerze PC

Andrzej Wnuk

Zawartość