это мой первый пост здесь, и я пока безуспешно искал хороший ответ на этот вопрос. Я занимаюсь обновлением нашего веб-сервера (стек LAMP в CentOS 6) до нового оборудования и более свежего программного обеспечения. Я перенесу наши сайты на этот сервер, когда закончу его настройку. Я хотел бы также переустановить старое оборудование и, по сути, выполнить настройку аварийного переключения нового оборудования.
Мой вопрос может быть простым, а может и непростым. Я ни в коем случае не эксперт, когда дело касается этой стороны программного стека. Было бы лучше установить полный стек LAMP на каждом сервере, rsync сайтов и настроить зеркальное отображение базы данных в MariaDB, или было бы лучше зеркалировать только сайты с помощью rsync, а затем указать два веб-сервера на отдельную базу данных сервер? Я понимаю, что последнее может стать единственной точкой отказа, но, никогда не настраивая зеркальное отображение базы данных, я хочу быть уверенным, что выбираю правильный вариант.
Или оба эти варианта не подходят, и следует ли мне настроить кластер серверов из 2 узлов?
Вы можете настроить активный резервный кластер mariadb, используя Corosync / Pacemaker. На официальном сайте MariaDB есть хороший документ с инструкциями по настройке с нуля. Существует несколько способов настройки балансировщика нагрузки apache, например UltraMonkey и многих других. Надеюсь, это поможет.
Прочтите про "Репликацию". Это обеспечивает постоянную синхронизацию одной машины (Master) с другой (Slave). Вариант Master-Slave - Dual Master. Но если вы это настроите, обязательно пишите только одному Мастеру. «Отработка отказа» все еще выполняется вручную, но это лучше, чем загрузка старой резервной копии. В Dual Master уже выполнены некоторые работы по аварийному переключению.
В качестве альтернативы, поскольку вы начинаете с MariaDB, рассмотрите возможность использования кластера Galera, поскольку он связан с MariaDB. Чтобы быть HA, вам нужно 3 сервера, а не только два. Так что это может быть для вас слишком большой натяжкой.
Остальная часть стека LAMP не будет знать и не заботиться о том, что вы делаете на пути репликации. За исключением того, что букве «P» необходимо знать, где находится Мастер - локально или на другой машине. И изменение этого - часть «отработки отказа».