Я новичок в этой концепции. :)
Могу ли я использовать распределенную файловую систему как способ резервирования веб-приложений?
На сервере A и сервере B в распределенной файловой системе должен быть установлен Apache / mySql, а сервер C управляет подключениями (если sA не работает, перейдите к sB или к DNS с циклическим перебором). Хотелось бы, чтобы это сработало?
Если так, это было бы здорово, так как мне не пришлось бы беспокоиться о синхронизации db и синхронизации файлов.
Спасибо!
Изменить: Большое спасибо за информативные ответы! Мне нужно много чего переварить. Я (почти) случайно выдвинул ответ.
Поскольку вам не ясно, о какой технологии вы на самом деле говорите, я предполагаю, что под «распределенной файловой системой» вы подразумеваете DFS.
DFS-R не работает с базами данных. Вам все равно потребуется обеспечить избыточность на уровне базы данных, однако это будет работать для веб-контента. Вам нужно обновить только один сервер, и изменения будут реплицированы на другие серверы в пуле DFS-R.
Могу ли я использовать распределенную файловую систему как способ резервирования веб-приложений?
Что вы можете.
На сервере A и сервере B в распределенной файловой системе должен быть установлен Apache / mySql, а сервер C управляет подключениями (если sA не работает, перейдите к sB или к DNS с циклическим перебором). Хотелось бы, чтобы это сработало?
Вы можете использовать репликацию MySQL или взглянуть на: http://dev.mysql.com/doc/refman/5.0/en/ha-overview.html
И Apache, вы можете настроить A и B с помощью DRBD в двойном первичном режиме и кластерной файловой системе, например GFS или OCFS2. Что касается C, вы можете использовать HAProxy или Pacemaker.
MySQL не может работать из общей или синхронизированной файловой системы. Для этого вам нужно будет изучить другие решения, например, с помощью MySQL Cluster.
Apache и другие веб-серверы должны нормально работать в общем или синхронизированном хранилище. Убедитесь, что вы также используете хранилище сеансов для своего языка сценариев (например, PHP), иначе пользователь потеряет сеанс при смене сервера.
Циклический перебор DNS не является хорошим решением для HA (высокой доступности) и, возможно, даже для балансировки нагрузки. Подумайте об использовании другой техники. Например, есть несколько решений для балансировки нагрузки, которые также обеспечивают высокую доступность. Сверху в голове: Linux Virtual Server (LVS), Varnish и, возможно, Nginx.
Что касается бита MySQL, вы можете настроить конфигурацию MultiMaster ( http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-replication-multi-master.html ), или у вас может быть главный / подчиненный сервер, синхронизированный через DRBD ( http://www.mysql.com/why-mysql/drbd/ ), с датчиком биения для обработки аварийного переключения - или вы можете просто синхронизировать главный / подчиненный сервер через внутреннюю репликацию MySQL; это безумно просто встать и работать. Существует около миллиона способов переключения между двумя серверами.
Другие люди дали хорошие ответы на проблему Apache.