Tworzenie serwerów lustrzanych metodą push

Metoda push tworzenia serwerów lustrzanych minimalizuje czas potrzebny, aby zmiany w archiwum pojawiły się na serwerach lustrzanych. Serwer główny używa mechanizmu spustowego (triggerów), aby natychmiast poinformować podległy serwer lustrzany, że musi on dokonać aktualizacji.

Tworzenie serwerów lustrzanych metodą push wymaga nieco wysiłku przy konfiguracji, gdyż administratorzy nadrzędnego i podrzędnego serwera lustrzanego muszą wymieniać między sobą informacje. Zyskiem jest to, że serwer nadrzędny inicjuje proces tworzenia kopii lustrzanej natychmiast po aktualizacji swojej zawartości. Pozwala to na niezwykle szybką propagację zmian.

Wyjaśnienie metody

Zacznijmy od pewnego wprowadzenia do ssh. Ssh pozwala na łączenie się z kontami na różnych komputerach w bezpieczny sposób. Nie tylko hasła nie są nigdy przesyłane w jawnej formie, ale też kiedy już raz połączysz się z jakimś komputerem, to praktycznie masz gwarancję, że przyszłe połączenia będą nawiązywane z tym samym komputerem. Zapobiega to wielu atakom typu man-in-the-middle.

Jedną ze zalet ssh jest możliwość przeniesienia przez użytkownika publicznego klucza określającego jego tożsamość z innego komputera i dodanie go do pliku zawierającego zaufane klucze na Twoim komputerze. Domyślnie użytkownik na innym komputerze (który ma prywatny klucz określający jego tożsamość powiązany z kluczem publicznym, który otrzymałeś) ma możliwość zalogowania się na konto na Twoim serwerze. Jednakże jest możliwe dodanie do klucza tekstu ograniczającego typ dostępu osoby korzystającej z konta i będącej w posiadaniu tego klucza.

Zatem, aby chronić podrzędny serwer lustrzany, klucz dostarczony przez serwer nadrzędny jest opatrzony tekstem, który ogranicza uprawnienia osoby korzystającej z konta do jednej tylko rzeczy — uruchomienia programu, który uaktualni zawartość serwera lustrzanego. Nawet jeśli komuś (osobie postronnej) uda się złamać klucz, jedyne co będzie mógł zrobić, to uruchomić program uaktualniający. Nie trzeba nawet martwić się o uruchomienie wielu kopii tego programu, gdyż używany jest plik blokujący (ang. lock file).

Po stronie serwera nadrzędnego rsync może być tak skonfigurowany, aby ograniczać możliwość tworzenia obrazów lustrzanych określonych obszarów poprzez podanie nazwy użytkownika i hasła. Są one całkowicie niezależne od /etc/passwd, więc serwer korzystający z techniki push nie musi się martwić o zapewnienie dostępu dla innych osób. Zgodnie z konfiguracją nazwa użytkownika i hasło są przesyłane w formie jawnej. Jednakże nie powinno to być problemem, ponieważ w najgorszym wypadku osoba postronna może uzyskać możliwość stworzenia obrazu lustrzanego Debiana z tego serwera.

Konfiguracja klienta dla metody push

Zaleca się dokonanie poniższej konfiguracji jako zwykły użytkownik, a nie jako administrator (root). Zawartość publicznego klucza ssh, który otrzymałeś od serwera nadrzędnego powinna zostać umieszczona w pliku ~<user>/.ssh/authorized_keys.

Aby zostać klientem w metodzie push dla archiwum FTP trzeba skonfigurować serwer za pomocą naszego standardowego zestawu skryptów ftpsync. Skopiuj ftpsync.conf.sample do nazwy ftpsync.conf i wprowadź zmiany odpowiednie dla Twojego systemu, zgodnie ze wskazówkami przekazywanymi przez serwer nadrzędny.

Podstawowi klienci metody push

Podstawowi klienci techniki push (ang. Push-Primary), nazywani również serwerami lustrzanymi typu Tier-1, to klienci, którym wolno pobierać dane bezpośrednio z naszego głównego archiwum.

Jeśli Twój serwer posiada bardzo dobre łącze (zarówno bardzo dobrą przepustowość, jak i bardzo dobre połączenie z najważniejszymi sieciami szkieletowymi) i chcesz pozwolić innym serwerom na tworzenie obrazów lustrzanych z Twojego serwera, możesz dać nam znać, abyśmy mogli rozważyć Twoją kandydaturę na podstawowego klienta metody push. Jednakże nie spodziewaj się, że stanie się to szybko, jako że mamy już dostateczną liczbę serwerów lustrzanych typu Tier-1.

Jeśli Twój serwer zostanie serwerem Push-Primary dla archiwum FTP, musisz mieć jeden z plików:

Jeśli Twój serwer zostanie serwerem Push-Primary dla stron www, musisz mieć klucz publiczny SSH2 używany przez www-master.debian.org.

Konfiguracja serwera w technice push

Ze względu na dużą ilość serwerów lustrzanych oraz wielkość archiwum Debiana, nie jest możliwe, aby wszystkie serwery lustrzane używały głównego archiwum jako źródła plików (tzn. jako ich serwera push). Większą efektywność można uzyskać, jeśli obciążenie zostanie rozdzielone między wiele serwerów metody push rozmieszczonych na całym świecie.

Mirrory push powinny być klientami głównego archiwum (albo innego serwera push) i powinny zawierać obraz lustrzany całego archiwum Debiana.

Przeczytaj szczegółowy opis konfiguracji serwera metodą push.