Kamil Ziomek

Kamil Ziomek Student,
Politechnika
Warszawska

Temat: Oprogramowanie archwizacyjne-Servery Linux

Witam, mam do napisania oprogramowanie(ma to być coś w rodzaju "demona" serwerów-nie wiem czy poprawnie użyłem tego sformułowanie bo tylko o nim słyszałem) dla dwóch serverów (każdy z nich będzie stał w innym miejscu w Warszawie), które będą się komunikować ze sobą i wymieniać dane(a ściślej to mają monitorować co pewien czas stan posiadanych i dokonywać replikacji wzajemnie tak by obydwa miały to samo zawsze). Servery są pod systemem linux. Do tej pory programowałem w C++ i Qt aplikacje deskoptowe np. Przeglądarkę plików medycznych w standardzie DICOM. Stąd moje zapytanie od czego powinnien zacząć i czy może są jakieś gotowe open sourcowe rozwiązania, które mógłbym wykorzystać i rozwinąć do swoich potrzeb? Oczywiście jakieś ciekawe źródła jak takie aplikacje serverowe pod linucha się piszę będą również mile widziane.
Z góry wielkie dziękiKamil Ziomek edytował(a) ten post dnia 21.11.10 o godzinie 00:27
Łukasz Bednarczyk

Łukasz Bednarczyk web developer /
administrator
systemów linux

Temat: Oprogramowanie archwizacyjne-Servery Linux

Polecam program rsync (w debianie instaluje sie z pakietu o tej samej nazwie). Mozna tym synchronizowac cale drzewa katalogow za pomoca transportu SSH lub podlaczajac sie do uruchomionego daemona rsync. Bardzo fajny, duzo opcji, przesyła tylko roznice miedzy plikami, skryptowalny... Wystarczy dodac do crona odpowiedni wpis i zalatwione. Czego chciec wiecej :)Łukasz Bednarczyk edytował(a) ten post dnia 21.11.10 o godzinie 02:09

Temat: Oprogramowanie archwizacyjne-Servery Linux

Rsync działa "w jedną stronę" czyli A -> B a nie A <-> B.
Jeżeli struktura katalogów wygląda jak:

dane/lokalizacja1/
dane/lokalizacja2/

to rzeczywiście można to łatwo zrobić rsyncem, gdy po prostu chcemy mieć "jeden dzielony katalog" miedzy 2 serwerami to zaczyna się to robić bardziej skomplikowane ;].

Jeżeli nie będzie takiej sytuacji że osoba z lokalizacji A i B zmienia plik jednocześnie (bo np. pliki "produkowane" w A są dzielone po to żeby B mogło się z nimi zapoznać to wystarczy prosty two-way sync jak np. unison i ustawić go co parę minut.

Ale gdy chcemy "jeden system plików na 2 maszynach zamiast prostego dzielonego katalogu to zaczyna się robić skomplikowanie, (np. DRBD + OCFS2 potrafi zsynchronizować 2 serwery tak żeby widziały "tą samą partycję")
Krzysztof Łukaszyk

Krzysztof Łukaszyk
Administrator/Progra
mista, Aesculap
Chifa Sp. z o.o.

Temat: Oprogramowanie archwizacyjne-Servery Linux

W jaki sposób dane będą przechowywane? Pliki, baza danych?
Jeśli w plikach to może rozproszony system plików: http://en.wikipedia.org/wiki/Category:Distributed_file....

W przypadku bazy danych warto użyć bazy danych, która ma obsługę replikacji.
Kamil Ziomek

Kamil Ziomek Student,
Politechnika
Warszawska

Temat: Oprogramowanie archwizacyjne-Servery Linux

Dzięki wszystkim za szybki odpowiedzi. To jest projekt uczelniany, nie mogę używać płatnych rozwiązań ewentualnie na nich się wzorować, a oprogramowania i kodów opensource jak najbardziej. Wiele z tych rzeczy, które mi opisaliście są dla mnie nie zrozumiały, gdyż nigdy wcześniej nie robiłem nic sieciowego znam tylko środowisko Qt i C++. Generalnie idea jest taka, że oba servery będą przechowywać dane medyczne w standardzie DICOM. Na razie muszę napisać oprogramowanie, które pozwoli na zapewnienie komunikacji między dwoma właśnie serwerami, na których dane medyczne od stacji medycznych(klientów-poźniej muszę dopisać programy klientów o ile starczy mi czasu,które będą się mogły dane na servery składować-ale priorytet mają najpierw servery). Z tego co zrozumiałym to servery już będą postawione a ja mam do nich właśnie dopisać to oprogramowanie, które pozwoli na komunikacje między nimi tak żeby np co jakiś ustalony czas wymianiały się danymi i każdy dochodził do momentu w którym będą miały najaktualniejszy zestaw danych. Muszę też zapewnić jakieś mechanizmy, które będą kontrolować czy dane doszły bez strat. Na serverach prawdopodbnie będę też poźniej przechowywał jakieś informacje o klientach, którzy mogą się z serverami łączyć(jakieś loginy i hasła), którzy mają prawo na serverach dane składować i je pobierać. Dane będę w prosty sposób musiał zanonimizować, tzn. w plikach DICOM są tagi odpowiadające danym pacjenta, którego badanie mamy w tym pliku: anonimizacji dokonam podmianą zawartości tego tagu jakimiś nawet losowymi wartościami tak by jeśli jakaś niepowołana osobą dostała się badania nie wiedziała czyje ono jest. Potem składuje gdzieś tą nową wartość wraz z oryginalną i w momencie gdy autoryzowana osoba chce odzyskać plik badania to wtedy dla niej przysyłany jest plik badania z odtworzonymi danymi pacjenta. Muszę też uwzględnić jakiś backup danych na serverach, który np ulegał by kasacji bo jakimś z góry określonym czasie. Jestem właśnie w materii sieciowej zielony i dla tego zgłosiłem się tutaj o rady. Jeszcze raz naprawdę dziękuje za każdą pomoc.
Jakub L.

Jakub L. Programista

Temat: Oprogramowanie archwizacyjne-Servery Linux

git?

konto usunięte

Temat: Oprogramowanie archwizacyjne-Servery Linux

Ale zamieszałeś.
Z tego co rozumiem potrzebujesz systemu kontroli wersji albo drbd z backupem.
Poczytaj o git'cie jak kolega powiedział, może o svn i o drbd i sprawdź czy takie rozwiązanie odpowiada Twoim potrzebom (wszystko jest darmowe i za darmo i nic nie trzeba płacić i można modyfikować kod i kasować i dodawać).
Łukasz Bednarczyk

Łukasz Bednarczyk web developer /
administrator
systemów linux

Temat: Oprogramowanie archwizacyjne-Servery Linux

Nie wiem czy to nadal aktualne ale ostatnio miałem do czynienia z fajnym softem o nazwie glusterFs (http://www.gluster.org/). Oczywiście OpenSource. Pakiety w repozytoriach Debiana są raczej stare, próbowałem używać i nie polecam. Najlepiej sciągnąć ze strony developera - są pakiety pod Ubuntu, CentOSa, RedHata i Fedore, pod Debka trzeba niestety kompilować ze źródeł ale jest to do przewalczenia nawet dla początkującego.
Program pozwala na udostępnianie zasobów w kilku trybach. Konfiguruje się go bezboleśnie w porównaniu z NFSem.
Podstawowy jest podobny do dostępu do udziału NFS (jest nawet możliwość dostępu do glusterfs przez klienta NFS), za to szczególnie ciekawa i pasująca do tematu zapytania byłaby replikacja. Wygląda to tak że udostępniony zasób jest replikowany w czasie rzeczywistym pomiędzy wszystkimi podłączonymi maszynami. Czyli mamy wielokierunkową replikację, dokładnie tak jak kolega zapytywał.Łukasz Bednarczyk edytował(a) ten post dnia 23.11.11 o godzinie 14:46

Następna dyskusja:

PROGRAMISTA C/LINUX




Wyślij zaproszenie do