Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

System dla "mini-serwera" - jaki wybrać?

11 Wrz 2007 01:06 1575 4
  • Poziom 31  
    Temat dotyczy wyboru odpowiedniego systemu operacyjnego do obsługi mini-serwera, którego funkcje i cechy opiszę poniżej.

    Sprzęt

    Procesor 5x86-133Mhz, płyta zwykła od 486 z PCI, 32MB EDO-RAM (może być wymieniona na 64MB EDO-RAM), karta sieciowa Realtek 8139 PCI (możliwość wymiany na Intel PRO/1000GT Desktop Adapter), FDD. Dysk twardy - nieobecny. Możliwe, że jako dysk z danymi działałaby karta CF 2GB na adapterze do IDE. O ile coś takiego na płycie w ogóle ruszy...

    Zastosowanie

    Serwer ma w założeniach pełnić następujące funkcje:
    - zbierać dane z urządzeń podłączonych przy pomocy RS232 i LPT (muszę mieć bezpośredni dostęp do portów);
    - reagować na przychodzące z sieci pakiety TCP wysłaniem danych binarnych przy pomocy pakietu TCP - tylko jeden port np. 10000;
    - gromadzić w pamięci RAM informacje o danych z urządzeń pomiarowych (taki RAM-dysk - około 10-20MB);
    - obsługiwać jednocześnie do 100 połączeń TCP (dane binarne);
    - umożliwiać bardzo prosty serwer ftp z hasłem, dla jednego połączenia, przy pomocy którego można zgrać cały RAM-dysk na inny komputer i załadować nową zawartość RAM-dysku z innego komputera;
    - obsługiwać tryb tekstowy, bez grafiki, tylko klawiatura;
    - współpracować z UPS'em - w przypadku awarii zasilania UPS podaje określony komunikat przez RS232, system ma w odpowiedzi zapisać zawartość RAM-dysku na karcie CF i bezpiecznie zakończyć pracę;
    - umieć zapisać dane na karcie tak, aby je potem odczytać i dalej z nimi pracować w następnej sesji;
    - bootować z dyskietki (lub ostatecznie z karty CF).

    Protokół wymiany danych

    Co jakiś czas (powiedzmy co 0,5 sekundy, albo częściej...) system musi wysłać do RS kilka bajtów i poczekać na odpowiedź. Następnie przetwarza ją, oblicza i zapisuje na RAM-dysku jako nowy rekord. Czas nie jest krytyczny.

    Jednocześnie komputer "nasłuchuje" na porcie 10000 i czeka na pakiet otwierający transmisję. Pakiet zawiera nazwę użytkownika i hasło oraz kilkaset bajtów danych. Łącznie około 1kB. System sprawdza, czy logowanie jest poprawne i wysyła stosowną odpowiedź (łącznie około 1-2kB danych). To cała transmisja. Taki system pytanie-odpowiedź. Tyle, że takich połączeń może być jednocześnie do 100 (zwykle około 20...) i taka sytuacja ma miejsce co kilka sekund od każdego "klienta". Powiedzmy co 5-10 sekund. Czas nie jest krytyczny w tym przedziale.

    Komputer "nasłuchuje" też na porcie 21 (FTP) i jest gotów zalogować użytkownika i przesłać mu plik zawarty w RAM-dysku. Ściśle - dane binarne.

    Komputer musi potrafić odpowiadać na pinga.

    Komputer musi mieć swoisty firewall, który potrafi zbagatelizować każdy pakiet od klienta z IP będącym na "czarnej liście".

    Podsumowując - serwer odpowiada tylko na połączenia na portach 21 (ftp), 10000 (pakiety pytanie-odpowiedź) i ping.

    Wszelkie transmisje są rejestrowane na RAM-dysku i możliwe do zapisania na karcie CF podłączonej do IDE w razie zaniku napięcia zasilania.

    Obecne pomysły

    System ten ma być tak prosty, szybki i oszczędny, jak to tylko możliwe. Obsługiwany wyłącznie z klawiatury w razie potrzeby w trybie znakowym. Żadnej grafiki. Zwykle jednak ma pracować samoczynnie, bez obsługi. Jednym z pomysłów jest integracja oprogramowania sterującego urządzeniami poprzez RS232 i LPT z systemem. Automatycznie powoduje to, że system zostanie maksymalnie wyspecjalizowany i dostosowany do potrzeb. Jednocześnie domyślam się, że będzie konieczne przystosowanie jakiegoś znanego systemu do tego celu. Czy Knoppix byłby do tego celu dobry? Słyszałem, że mieści się na 1 dyskietce.

    Chciałbym też mieć możliwość samodzielnej kompilacji jądra i sporządzenia dyskietki/płyty startowej do tego komputera.

    RAM-dysk nie musi być prawdziwym RAM-dyskiem. Może to być tablica jednowymiarowa o długości powiedzmy 20MB. FTP nie musi być prawdziwym FTP, wystarczy że prześle tę tablicę jako plik binarny. FTP musi też umieć odebrać plik binarny i załadować go w miejsce owej tablicy. Tablic takich może być kilka - jedna 20MB, dwie po 2MB, jedna 1MB itp. Rozmiar tablic nie jest obecnie znany, podane liczby są orientacyjne.

    Pytanie

    Jakiego systemu do tego użyć?
    Jak to zrobić?
    Czym skompilować?
    Jak skompilować?
    Jak zmodyfikować źródło? (czyli co wywalić...)
    Jak wstawić w to sterowniki do karty sieciowej?

    Czytałem w necie masę informacji o Knoppixie i jestem trochę skołowany. Proszę o pomoc.

    Pozdrawiam.
  • Poziom 21  
    Knopix może nie całkiem - to akurat wersja na cd ;-)
    Aczkolwiek jeśli nie jesteś początkującym w kwestii linuxa, to polecam Gentoo - spełni wszystkie oczekiwania,wszystko można skompilować i zoptymalizować pod sprzęt, i samodzielnie wybierzesz wszystkie pakiety, które maja być używane.

    Jeśli nie gentoo, to są dystrybucje jedno-dyskietkowe, chyba minix, ale nazwy nie jestem pewna.

    Poza tym, dlaczego rezygnujesz z dysku twardego? Taki kilkuset-megowy dysk działaby dobrze, a jego koszt jest bardzo niewielki.
  • Poziom 31  
    :arrow: charm_spider: Koszty w tej chwili nie są istotne. Sprzęt jest fizycznie pod ręką, włącznie z 1,2GB HDD. Rezygnacja z dysku twardego i innych napędów mechanicznych wynika z kilku powodów.

    Pierwszy i zasadniczy to okresowe drgania w środowisku, gdzie to urządzenie będzie pracowało. Zatem HDD będzie niezbyt dobrze się czuł. CD-ROM też raczej niekoniecznie komfortowo.
    Po drugie - zużycie energii. W zamierzeniach "serwer" ma pracować bez przerwy, zatem dysk to dodatkowe kilkanaście watów więcej. Niepracujący CD-ROM również trochę ciągnie. Najmniej w tym wszystkim FDD - stąd wybór. Niewykluczone, że i FDD zostanie za jakiś czas zarzucony, o ile sprawdzi się wersja z kartą CF na IDE.
    Po trzecie - docelowo "serwer" będzie miał swój zasilacz z podtrzymaniem "skrojony na miarę". Istotne w tym przypadku jest zminimalizowanie pobieranego przez niego prądu z akumulatora w okresie padu sieci i jak najdłuższa jego praca. Ale to przyszłość.
    Po czwarte - hałas. Serwer będzie pozbawiony wentylatorów, zaś do chłodzenia zostaną wykorzystane spore radiatory. Dysk, zwłaszcza starszy, trochę hałasuje. W każdym razie za bardzo.

    Poszukam informacji o tym Gentoo. Z tego, co piszesz, brzmi ciekawie i zachęcająco.

    :arrow: leonov: Informacje podane przez Ciebie też są bardzo ciekawe. Jestem w trakcie ich studiowania. O ile coś z nich zrozumiem. Dzięki.

    No to szykuje mi się pierwsza porcja teorii. Zaczynam...

    Pozdrawiam.