większość administratorów serwera uruchamia SSH w celu utrzymania swoich serwerów. Kiedy zarządza wieloma serwerami, może potrzebować otworzyć wiele sesji SSH. Jeśli czynności konserwacyjne używają tych samych poleceń na każdym serwerze, wpisywanie poleceń jeden po drugim dla każdego serwera może zużywać więcej razy. Czy możliwe jest uruchamianie poleceń na jednym serwerze i powielanie ich na innym serwerze? Na Linuksie możesz. Użyjemy polecenia ClusterSSH, aby rozwiązać tę sytuację.
Co To jest ClusterSSH
ClusterSSH to aplikacja, która może zarządzać wieloma sesjami SSH w tym samym czasie. Dzięki ClusterSSH możesz wykonywać te same polecenia na grupie serwerów (klastrze) w tym samym czasie. Zapewni to synchronizację wszystkich serwerów.
instalacja
Korzystanie z menedżera pakietów
na Linuksie opartym na Debianie / Ubuntu :
$ sudo apt-get install clusterssh
na Linuksie opartym na RedHat / CentOS:
# yum -y install clusterssh
używając tarball
aby upewnić się, że zainstalowałeś najnowszą wersję, możesz pobrać plik źródłowy ClusterSSH i skompilować go ręcznie. W tej chwili ten artykuł jest napisany, najnowsza wersja ClusterSSH jest 3.28. Źródło można pobrać ze stron SourceForge.
po pobraniu, oto kroki, jak go zainstalować.
1. Rozpakuj plik źródłowy
2. Przejdź do folderu, w którym wyodrębniono plik źródłowy
3. Typ :
$ ./configure$ make# make install
4. Done
zauważ, że klastry używają Perla i jego biblioteki do uruchomienia. Na moim Linuksie Zorin (opartym na Ubuntu) znalazłem kilka błędów podczas kompilacji klastrów.
nie można znaleźć plików x include przez / include
nie można znaleźć plików x include gdziekolwiek
aby rozwiązać ten błąd, pobiegłem :
$ sudo apt-get install libx11-dev
po zakończeniu instalacji libx11-dev próbowałem skompilować ją ponownie i zadziałała !
nie mogę zlokalizować Tk.pm
ClusterSSH potrzebuje modułu Perla. Rozwiązaniem tego błędu jest instalacja Tk.pm moduł. Najprostszym sposobem instalacji jest użycie CPAN.
$ cpan -i Tk
po zainstalowaniu Tk.pm jest zrobione, spróbuj wpisać cssh przez konsolę.
nie może zlokalizować X11/protokołu.pm
w przypadku wystąpienia tego błędu można zainstalować moduł X11/Protocol.pm poprzez CPAN.
$ cpan -i X11::Protocol
po zainstalowaniu Tk.pm jest zrobione, spróbuj wpisać cssh przez konsolę.
jak używać ClusterSSH
aby uruchomić ClusterSSH, możesz wpisać
$ cssh -l username server_ip_address
ale moc ClusterSSH polega na zarządzaniu wieloma sesjami SSH. Możesz także wpisać :
$ cssh -l username server_ip_address_1 server_ip_address_2 server_ip_address_n
ale to może nie być dobry sposób, że masz wiele serwerów. Innym sposobem uruchomienia wielu sesji SSH jest umieszczenie adresu każdego serwera w pliku konfiguracyjnym CSSH. Istnieją dwa rodzaje plików konfiguracyjnych. Pierwszy to globalny plik konfiguracyjny. Ten plik znajduje się w /etc/clusters. Po drugie .csshrc, który znajduje się w katalogu domowym użytkownika.
w tym artykule używamy .plik csshrc do konfiguracji klastrów. Na przykład dodajemy nazwę klastra (nazwa grupy) wywoływanych serwerów. Następnie dodajemy członka jego grupy. Oto … plik csshrc wygląda jak :
clusters=serversservers=10.0.6.12 10.0.14.6 10.0.6.149
aby uruchomić klaster, wpisz :
$ cssh -l pungki.arianto servers -T "Server Farm"
gdzie:
1. pungki.arianto to nazwa logowania tych serwerów
2. – T „farma serwerów” da tagi farmy serwerów do każdego okna SSH.
następnym krokiem jest wprowadzenie hasła dla każdego serwera. Zobaczysz Konsolę administracyjną, która ma farmę serwerów nagłówkowych (3). Jeśli chcesz uruchomić polecenia na wszystkich serwerach, musisz je wpisać w konsoli administracyjnej. Możesz nie zobaczyć tego, co wpisujesz w polu, ale zobaczysz to na wszystkich serwerach.
jeśli nie chcesz echo polecenia do wszystkich serwerów, możesz wyłączyć hosty, które chcesz wykluczyć. Wystarczy kliknąć menu Hosts w konsoli administracyjnej i wybrać serwer, który chcesz wykluczyć.
ważne
zaletą powtarzania wszystkich poleceń na wszystkich serwerach jest zapewnienie synchronizacji wszystkich serwerów. I oczywiście zaoszczędzimy czas na powtarzaniu tych samych poleceń na wszystkich serwerach. Ale kiedy wykonasz niewłaściwe polecenia, wpłynie to na wszystkie serwery. Upewnij się, że wpisujesz poprawne polecenie przed naciśnięciem klawisza Enter.
wniosek
Klastrysh może pomóc administratorom uruchomić to samo polecenie na serwerach w tym samym czasie, o ile jest używane ostrożnie. Jak zwykle, zawsze możemy wpisać man cssh lub cssh – h, aby wyświetlić jego stronę podręcznika i zbadać więcej szczegółów.