Re: [RFC] Skrypty startowe dla wielu instancji usługi

Pawel Golaszewski blues at pld-linux.org
Sun Mar 13 12:47:20 CET 2011


On Sun, 13 Mar 2011, Remigiusz Marcinkiewicz wrote:
> > > jakiś czas temu okazało się, że potrzebuję czegoś takiego, jak 
> > > uruchamianie wielu instancji jednej usługi, z mniej lub bardziej 
> > > różną konfiguracją na instancję i pełnym wsparciem ze strony 
> > > skryptów startowych. Istniejących rozwiązań tego typu doliczyłem się 
> > > w PLD sztuk dwa - MySQL i PostgreSQL
> > Do głowy mi przychodzi jeszcze socat i mrtg.
> Fakt, o tych nie wiedziałem. Z tego socat działa nawet podobnie do tego, co 
> sam zrobiłem, chociaż nie spełnia założenia b), które dla mnie było kluczowe. 
> Poza tym wykonanie całkiem podobne, czyli ktoś już miał zbliżone pomysły.

Zapomniałem jeszcze - vserver jest też podobnym przypadkiem. Chyba nawet 
najlepszym pod kątem framework.

> > > a oba dość siermiężne, nienadające się do zastosowania dla 
> > > niektórych typów usług
> > Bo potrzeba nam ogólnego "framework" dla takich sytuacji. Nie ma 
> > jakiegoś schematu postępowania, a w zasadzie wszystkie usługi 
> > potrzebują takiej konfiguracji.
> I dlatego zacząłem ten wątek i dołączyłem swoje wynalazki. Może z 
> działającym punktem wyjścia powstanie coś sensownego.

Chyba należałoby na angielski przejść, bo podejrzewam, że glen może być 
też zainteresowany :)

> Oczywiście, lighttpd używa całych katalogów na konfiguację, nie 
> pojedyńczych plików, więc główne funkcje skryptu będą wymagały drobnych 
> modyfikacji żeby obsłużyć taki przypadek. Podzielę się efektami jak 
> tylko zrobię.

To nie ma znaczenia czy jest katalog czy plik. "init" usługi jest tylko 
trudniejszy.

Jest jedna rzecz, którą można na taką okazję pożyczyć od debiana na 
przykład. Tam są skrypty włączające i wyłączające moduły (na pewno dla 
apache, nie wiem jak light). To byłoby bardzo przydatne do obsługi 
instancji.

> > plus możliwość w włączenia/wyłączenia w konfiguracji którejś 
> > instancji.
> To chciałem robić bitem x na pliku, ale wspomniałem, że to może być 
> nadużycie.

Dlatego też napisałem, że to jest zły pomysł.

> Równie dobrze można zrobić jakąś zmienną w stylu INSTANCE_ENABLED i 
> sprawdzać z is_yes. Pewnie coś takiego wprowadzę w następnej wersji.

Raczej w /etc/sysconfig/<service> powinny być 2 zmienne:
- decydująca czy włączamy wszystkie, żadną czy zgodnie z listą, np.: 
  START_INSTANCES=(all|none|list)
- lista instancji, jeżeli to powyżej jest "list", np.: ENABLED_INSTANCES

> Jakieś komentarze na temat samych skryptów?

Wygląda dobrze, ale to są typowe przypadki zrobienia multistart dla jednej 
usługi. Nie da się tego przenieść na inną...

-- 
pozdr.  Paweł Gołaszewski          jid:blues<at>jabber<dot>gda<dot>pl
--------------------------------------------------------------------------
If you think of MS-DOS as mono, and Windows as stereo, then Linux is Dolby
Pro-Logic Surround Sound with Bass Boost and all the music is free.


More information about the pld-devel-pl mailing list