Przegląd
W pewnym sensie masz tutaj dwa pytania ...
- Jak zbudować i utrzymywać standardowe serwery?
- Jak utrzymywać standardową konfigurację i wprowadzać zmiany później?
Poniżej podzieliłem moją odpowiedź, odnosząc się do tych dwóch kwestii osobno, ale są one bardzo blisko powiązane. Zajmuję się tutaj rozwiązaniami technologicznymi, a nie żadnymi z najlepszych powiązanych praktyk, takich jak kontrola zmian.
Jeśli nie obejmuje to zakresu twojego pytania, prosimy o wyjaśnienie, a ja chętnie się tym zajmę. Jest to niezbędny fundament, który ma kluczowe znaczenie dla dobrze zarządzanej infrastruktury technologicznej.
Budowanie serwerów
Nie lubię obrazów w świecie UNIX; jest to bardziej podejście oparte na stylu Windows. Wydaje się, że nawet niektórzy ludzie systemu Windows ponownie skupiają się na skryptach dla standardowych wersji.
Wydaje się, że satelita zyskuje na popularności w świecie RHEL. Spacewalk jest odpowiednikiem Open Source. Zdecydowanie musisz całkowicie wykupić podejście RHEL, aby z niego korzystać. Służy to zarówno do budowania serwerów, jak i zarządzania konfiguracją.
Najlepiej byłoby utworzyć lokalne kopie zapasowe i repozytoria na serwerze plików dla całego niezbędnego oprogramowania.
Najpierw skorzystaj z automatyzacji kompilacji dystrybucji, takiej jak Kickstart w RHEL / CentOS. Kickstart byłby linią bazową z odmianami, w zależności od potrzeb. Kompilacje Kickstart mogą być inicjowane z serwera PXE.
W przypadku bardziej zaawansowanej części kompilacji i wszystkiego, co nie było odpowiednie dla pliku Kickstart, można pisać własne skrypty. Jednak może się okazać, że lalka lub cfengine działa dobrze dla ciebie zamiast niestandardowych skryptów. Uważam, że skrypty niestandardowe są najbardziej elastyczne i nie ograniczają się do żadnego pojedynczego podejścia.
Jeśli zdecydujesz się pisać własne skrypty, polecam skrypt podstawowy do uniwersalnej konfiguracji. Byłaby to konfiguracja zabezpieczeń, hartowanie i wszystko, co dotyczy wszystkich kompilacji. Następnie ostatni skrypt do sfinalizowania roli serwera. Na przykład serwer WWW lub serwer bazy danych.
Utrzymanie standardów
To, co opisujesz, również podlega utrzymaniu konfiguracji. Standardy kompilacji, aktualizacje oprogramowania i inne rzeczy są powiązane z kompilacjami, ale na wiele sposobów są osobne.
Jeśli zdecydujesz się polegać na pakietach systemowych, a nie na tworzeniu własnych kompilacji źródłowych dla najważniejszych ról serwera, wiele z nich można utrzymać za pomocą rodzimych narzędzi systemowych. Może to być tak prosty skrypt, aby uruchomić for
pętlę na liście serwerów i uruchomićyum -y update package
.
W przypadku zarządzania konfiguracją to tutaj zarządzanie marionetką, cfengine i innym zarządzaniem konfiguracją w grę wchodzą narzędzia do . Są to bardzo przydatne narzędzia i zapewniają niezbędną podstawę bez pisania własnych skryptów od zera.
Podczas aktualizacji standardów konfiguracji dla serwerów ważne jest, aby wypełnić je zapasowo w standardowych kompilacjach serwerów.