Witaj Marcin,
W Twoim liście datowanym 7 grudnia 2004 (21:39:45) można przeczytać:
Radoslaw 'Goblin' Pieczonka wrote:
Czy nie bylo by pieknie gdyby w momecie klikniecia podlacz/odlacz wykonywal sie skonfigurowany odpowiednio wczesniej zestaw regolek (iptables, tc itp) tak by nie trzeba bylo klikac przeladuj?
Pytanie główne - jak? Anyway w planach dopiero jest na 2.0
IMO sudo.
Co sudo?
If dopiero w 2.0 to mozna by odrazu calosc tak zrobic rzeby poniekad natywnie bylo wspierane, mozna by calosc wykonac na zasadzie podzialu skryptow na czesc ogolna i per host. per host wywolywac definiowane np. w konfigu or innym miejscu zestawy polecen. W trakcie pelnego przeladowania wywolywane byly by ogolne i per host, a przy zmianie w hoscie konkretnym tylko regolki przeladowywujace danego hosta. kurde... nie wem czy w miare jasno napisalem co mam na mysli...
Niebardzo. Przynajmniej ja Cię nie rozumiem ;)
Ale być może zabieramy się do tego nie od tej strony co trzeba. Ja widzę 2 rozwiązania. Za 1 dostanę pewnie ostry opieprz[1], a drugi być może komuś się spodoba.
Pewna część lmsa jest już realtime. Są to konta i wiadomości administracyjne (przy zastosowaniu lms-squid). Można by, przy zachowaniu pewnych warunków (przykładowo baza znajdująca się na localhoscie i niski load) pokusić się o skonfigurowanie reszty daemonów/usług tak, aby pobierały informacje bezpośrednio z bazy. Połaczenie binda ze squidem ztcw jest możliwe, z dhcp może być już gorzej, ale z iptables może być porażka. Chociaż kto wie, przy odpowiednim cache'owaniu informacji[2], i sprawdzaniu np. tylko pakietów SYN być może wydajność nie będzie taka zła. Ale tak czy siak, ktoś by musiał napisać odpowiednie dodatki bo afik nie ma żadnej łatki do iptables która by pozwalała korzystać z mysql, a sam łap w to pchał nie będę ;)
Co do drugiego pomysłu, to można by ustawiać reload przy _każdej_ zmianie czegokolwiek w bazie. I ustawić w daemonie interwał sprawdzania czy wykonać reload np. co 5 minut. Mamy wtedy pewność że reload nastąpi automatycznie w ciągu najbliższych 5 minut (no, prawie jak realtime ;) a częste reloady spowodowane tym że ktoś się lmsem bawi, czy też wprowadza bardzo ważne zmiany każdemu z 500 użytkowników nie wystąpią więc możemy być w miare spokojni jeśli chodzi o load maszyny. Zaimplementowanie tego w lmsie też nie powinno być trudne.
[1] A gugiel mi wypluł Hunterka besztającego kogoś za tak niedorzeczny pomysł ;) [2] Tablica w pamięci zawierająca potrzebne dane wszystkich komputerów dla których mamy regułki, i dodatkowo osobny proces który ma za zadanie odpytywanie bazy i w razie czego odświerzenie danych w tej tablicy zawartych.
A może by tak wydawać polecenia z php. Kwestia tylko uprawnień przeglądarki, ale polecenia iptables -I albo -D powinny działać bez problemu. Można też np. odpalić drugiego apacha z uprawnieniami roota na interfejsie localhost i wydawać polecenia przez odpowiednie aplikacje. Jest to do zrealizowania i postaram się nad tym trochę popracować, ale dopiero w przyszłym tygodniu.
uczestnicy (1)
-
Marek Adamski