Ustawienie klastru
Potrzebna jest panna i dziadek.
Pród jak klasztor
Książka jak jeden serwer
Posiadamy trzy sery sandbox:
100 64.1 złA1 - Mistrz
100 64.1 złB1 - słownictwo
100 64.1 złc1 – wspólna baza danych (mysql)
Po wejściu na stronę internetową klient trafi na serwer master lub slave.Baza danych jest tam wspólna, znajduje się na trzecim serwerze.Synchronizacja między serwerami master i slave jest ustawiona dwustronna (master slave), jeśli zmienić plik na serwerze master, to trafi na slave, i odwrotnie.Do synchronizacji plików wydaje się korzystać z programu rsync.- w czym problem bieżących ustawień Problem bieżących ustawień klastru internetowego polega na synchronizacji plików między serwerami master i slave.- Pierwszy problem, klient wszedł do serwera master i uaktualnił jądro systemu, który znajduje się w katalogu /bitrix.W wyniku tych działań, gdy działa dwustronna synchronizacja plików, z serwera slave na master zapisane stare pliki, które powinny być aktualizowane.W rezultacie otrzymaliśmy niewłaściwie zaktualizowane jądro systemu, w którym została usunięta część plików.- drugi problem, gdy deweloperzy pracują na serwerze master (tworzą / edytują pliki), pojawia się problem, z serwera slave działa synchronizacja i usuwa wszystkie zmiany.Zmiany muszą być wprowadzane kilka razy, aby były dostępne na dwóch serwerach.- Trzecim problemem jest to, że pliki automatyczne nie działają na serwerze.Kiedy pobieramy aktualizowane pliki do serwera, natychmiast są one wycięte ze starych plików.Pliki z serwera slave pobierają nowe pliki na serwerze master.- co należy dodatkowo ustawić i jakie rozwiązanie widzimy (może nie być poprawne, do czego się zastanawiamy) Aby rozwiązać problem z synchronizacją plików, znaleźliśmy następujące rozwiązanie:
- Konieczne jest ustawienie jednostronnej synchronizacji plików master -> slave (aby działała tylko z jednej strony).Z synchronizacji należy wyłączyć katalog /home/bitrix/www/bitrix/managed_cache, /home/bitrix/www/bitrix/cache, /home/bitrix/www/bitrix/backup.- Do przechowywania plików utworzono nowy odrębny serwer, do niego trzeba przenieść katalog /home/bitrix/www/upload, tam przechowywane są pliki robocze portalu (zdjęcia, dokumenty itp.)Na serwerach master i slave trzeba zrobić, aby katalog upload był podłączony z danego serwera, ale fizycznie wszystkie pliki muszą znajdować się na czwartym nowym serwerze.Umożliwia to, aby z podanych adresów IP użytkownicy weszli tylko do serwera master.Lub dla serwera master zrobić oddzielny adres, aby można było wstąpić do niego.Jest to konieczne, na przykład do odnowienia systemu.
- як зараз воно налаштоване
Описую як налаштований веб-кластер на sandbox(DEV). (Робочий кластер(PROD) налаштований таксамо, але там інші сервера)
У нас є три серери sandbox:
100.64.1.**a1 - master
100.64.1.** b1- slave
100.64.1.** c1- спільна база даних (mysql)
При вході на сайт клієнт попадає на сервер master або slave. База даних там спільна, знаходиться на третьому сервері.
Синхронізація між серверами master та slave налаштована двохстороння (master <-> slave), якщо змінити файл на сервері master, то він потрапить на slave, і навпаки.
Для синхронізації файлів здається використовують програму rsync.
- в чому проблема поточного налаштування
Проблема в поточному налаштуванні веб кластера полягає в синхронізації файлів між серверами master та slave.
- перша проблема, замовник зайшов на сервер master та оновив ядро системи яке знаходиться у каталозі /bitrix. В результаті цих дій коли відпрацювала двостороння синхронізація файлів, із сервера slave на master записались старі файли, які мали бути оновленні. В результаті ми отримали не правильно оновлене ядро системи, у якому була затерта частина файлів.
- друга проблема, коли розробники працюють на сервері master (створюють/редагують файли), то виникає проблема, із сервера slave спрацьовує синхронізація і затирає усі зміни. Доводиться вносити у файл зміни декілька разів, щоб вони були на двох серверах.
- Третя проблема, не працює автодеплой файлів на сервер. Коли завантажуємо оновлені файли на сервер, вони одразу затираються старими файлами. Файли із сервера slave затирають нові файли на сервері master.
- що треба додатково налаштувати і яке рішення ми бачимо(воно може бути не правильним, того і звертаємося)
Щоб вирішити проблему із синхронізацією файлів, ми знайшли таке рішення:
- Потрібно налаштувати односторонню синхронізацію файлів master -> slave (щоб вона працювала лише в одну сторону). Але із синхронізації потрібно відключити каталоги /home/bitrix/www/bitrix/managed_cache, /home/bitrix/www/bitrix/cache, /home/bitrix/www/bitrix/backup.
- Для файлового сховища створили новий окремий сервер, на нього потрібно перенести каталог /home/bitrix/www/upload, там зберігаються робочі файли порталу (картинки, документи та ін.). На серверах master та slave потрібно зробити, щоб каталог upload був під'єднаний з даного сервера, але фізично усі файли мають знаходитись на четвертому новому сервері.
- зробити, щоб із заданих ip адрес користувачі заходили лише на сервер master. Або для сервера master зробити окрему адресу, щоб на нього можна було заходити. Це потрібно, наприклад для оновлення системи.
Aktualne zlecenia dla freelancerów w kategorii DevOps
Konfiguracja systemu kopii zapasowej i optymalizacja infrastruktury serwerowejCel prac: Zapewnienie niezawodnego przechowywania danych systemu CRM i aplikacji poprzez wdrożenie zautomatyzowanego systemu tworzenia kopii zapasowych (Backups), a także przeprowadzenie szeregu poprawek serwerowych w celu zwiększenia stabilności, bezpieczeństwa i wydajności… DevOps, Bazy danych i SQL ∙ 2 dni 3 godziny temu ∙ 23 oferty |
Rozwój projektu Ruby on Rails na VPS + Routing e-maili przychodzącychPotrzebna pomoc w wdrożeniu platformy do automatyzacji zapytań o informacje publiczne (na bazie open-source silnika Alaveteli). Projekt działa jak router pocztowy: generuje unikalne adresy e-mail dla każdego zapytania, wysyła je do organów państwowych, a odpowiedzi przyjmuje z… DevOps, Linux i Unix ∙ 8 dni 5 godzin temu ∙ 11 ofert |
Inżynier infrastruktury proxy mieszkalnychBudujemy sieć proxy dla użytkowników od podstaw — w pełni własną, bez dostawców zewnętrznych. Potrzebujemy jednego wyjątkowego inżyniera sieci, który zbuduje całą podstawę techniczną. Co zbudujesz: - SDK w tle dla Androida, które kieruje ruch proxy przez urządzenia użytkowników… C i C++, DevOps ∙ 10 dni 7 godzin temu ∙ 15 ofert |