Я веб-разработчик в своей компании и, по всей видимости, имею квалификацию ИТ-специалиста. В настоящее время у меня есть один веб-сервер и файловый сервер Ubuntu, но я хочу разделить серверные задачи на две разные системы, обе из которых я хочу быть высокодоступными. У нас нет системы резервного копирования, поэтому, если этот ящик выйдет из строя, все готово.
Все мои компьютеры, использующие файловый сервер, - это Mac, поэтому я рассматривал возможность использования двух Mac Pro для переключения при отказе IP. У меня уже есть два компьютера, на которых я могу установить дистрибутив Linux для веб-сервера. Я хочу, чтобы данные обоих компьютеров с Linux отражали друг друга, а данные обоих компьютеров Mac Pro зеркально отображали друг друга, хотя я еще не нашел для этого решения.
Я правильно подхожу к этому? Соответствует ли мое мышление отраслевым стандартам? Я понимаю, что, вероятно, есть множество способов противостоять этому. Я пытаюсь подготовиться к росту, исправляя проблему с резервным копированием.
Для высокодоступных веб-серверов изучите OpenAIS, Pacemaker и DRBD, чтобы создать кластер высокой доступности. OpenAIS это программное обеспечение для обмена сообщениями в кластере, Pacemaker - это программное обеспечение для управления ресурсами кластера, а также DRBD (Распределенное реплицированное блочное устройство) - это «сетевой RAID1». Комбинируя их, вы можете построить кластер из двух или более узлов.
Есть два основных способа сделать это: активный / пассивный и активный / активный. Активный / пассивный будет проще всего настроить (и поддерживать). В активном / пассивном режиме одна машина предоставляет услуги, в то время как другая находится в режиме ожидания и ожидает отказа активной машины. В активном / активном состоянии обе машины будут предоставлять услуги.
OpenAIS будет обрабатывать передачу сообщений между узлами кластера, чтобы убедиться, что они доступны и отвечают.
Pacemaker будет обрабатывать ваш ресурс, например Apache, DRBD, FTP и т. Д. Он также обрабатывает перемещение ресурсов между узлами (например, в случае сбоя узла) и обрабатывает остановку / запуск / управление ресурсами.
DRBD, довольно круто. Он находится между ядром и файловой системой и (в протоколе C), когда выполняется запись, DRBD выполняет запись на другой узел кластера, и как только оба узла подтверждают запись на диск, это считается подтвержденным. Таким образом, для фиксации запись должна быть на диске на обоих узлах. Таким образом вы убедитесь, что все, что вы обслуживаете с помощью Apache, одинаково на обеих машинах, поэтому в случае аварийного переключения вы обслуживаете одно и то же.
Если у вас есть общее хранилище (например, iSCSI SAN), вы можете удалить DRBD из этого микса.
Вы можете найти в Google Clusters From Scratch (это на ClusterLabs.org) пошаговое руководство, как это сделать.