установите Gluster в VM или настройте VM сверху Gluster?

Я настраиваю совместно использованную высокую доступность - ничто географически распределенный веб-сервер, с помощью нескольких A-записей для его домена. Прямо сейчас я более обеспокоен высокой доступностью - "Когда я отключаю любой шнур питания, каждый браузер может все еще видеть мой веб-сайт" - чем скорость.

Программное обеспечение веб-сервера работает в одной виртуальной машине на физическое поле. (Это действительно имеет значение, какой веб-сервер и гипервизор я использую? Если это делает, я в настоящее время использую Apache и VirtualBox),

Кто-то рекомендовал, чтобы я вывел существующую ужасающе сложную систему собственной разработки, которую я планировал использовать, чтобы сохранить веб-серверы синхронизируемыми и заменить его Gluster.

Какая из этих альтернатив лучше?

  1. Имейте хост, ОС выполняет только гипервизор и хранит только образ диска VM. В каждой виртуальной машине установите программное обеспечение Gluster, настройте точку монтирования GlusterFS, указал на некоторую папку (кирпич) в образе диска VM, и используйте ту точку монтирования (или папка в нем) как веб-корень.

  2. Имейте хост, ОС выполняет только гипервизор и хранит и образ виртуальной машины и отдельно папку (кирпич), что я позволяю VM доступу. В каждой виртуальной машине установите программное обеспечение Gluster, настройте точку монтирования GlusterFS, указал на кирпич вне образа диска VM, и используйте ту точку монтирования (или папка в нем) как веб-корень.

  3. Имейте хост, ОС выполняет гипервизор и Gluster. На хосте ОС настроенная, точка монтирования GlusterFS указала на некоторую папку (кирпич) в другом месте на фактическом физическом диске. Позвольте VM получать доступ к точке монтирования GlusterFS как к веб-корню. (Никакая потребность установить программное обеспечение Gluster в виртуальной машине).

  4. Имейте хост, ОС выполняет гипервизор и Gluster. На хосте ОС настроенная, точка монтирования GlusterFS указала на некоторую папку (кирпич) в другом месте на фактическом физическом диске. Так как оба веб-сервера должны быть идентичными, сказать гипервизору хранить изображение виртуального диска в точке монтирования GlusterFS.

  5. Что-то еще?

Я подозреваю кого-то, кто знает больше, чем я делаю о Gluster, может сразу сказать, "Если Вы сделаете № 4, то (некоторая ужасная вещь произойдет), и (некоторое другое число) причины (некоторая другая ужасная вещь)..., таким образом, единственная опция, которая на самом деле работает, (единственное остающееся число)". (Т.е. я не думаю, что это - субъективный вопрос).

("Оптимизация" упомянула в Can, кто-то объясняет эту установку GlusterFS? мог относиться к любой из этих альтернатив).

2
задан 13 April 2017 в 15:33
2 ответа

Если с прошлого года ничего не изменилось, я советую не использовать glusterfs AFR на географически разнесенном оборудовании. Он плохо справляется с задержкой, и отсутствие указания read-subvolume приведет к тому, что он будет случайным образом (по-видимому, случайным образом, это не совсем случайно) пытаться читать с удаленного блока. В качестве теста настройте два ваших самых скрытых узла в репликации gluster, затем попробуйте коснуться тестового файла и тестового файла статистики времени в этой файловой системе, чтобы увидеть, сколько времени займет каждая операция FS, как минимум. Даже если вы указали, что ваше приложение не использует общий доступ, оно все равно будет выполнять проверку блокировок и проверки согласованности, что означает опрос метаданных со всех других реплик.

После выполнения указанного теста, если вы все еще хотите использовать gluster, это это то, что вы спросили:

Если вы используете №4 и пытаетесь смонтировать образ виртуальной машины на нескольких виртуальных машинах одновременно, вы столкнетесь с проблемами согласованности в FS. Обычные файловые системы Linux вообще не поддерживают энергозависимое резервное хранилище.

Передача файловой системы, как в № 2, имеет низкую производительность во всех системах виртуализации, которые я пробовал. Намного лучше использовать NFS в качестве транспорта вместо чего-то вроде 9p virtio (kvm) или другого эквивалента для vbox; Windows-host fs passthrough для vbox довольно ужасен (читай: медленный, хрупкий), я полагаю, что эквивалент, размещенный в Linux, похож. Даже если у вас работает сквозная передача fs, скорее всего, она не будет поддерживать xattr, который требуется для репликации glusterfs. Исторически настроить NFS для расширенных атрибутов было довольно сложно, но с NFSv4 вам может повезти больше. Этот подход чреват ловушками, я бы его избегал.

# 3 имеет некоторые перспективы. Настройте gluster на хосте, затем запустите прослушиватель клиента NFS gluster и подключите к нему виртуальную машину. Его также легче всего преобразовать, когда вы обнаружите, что A. не хотите использовать виртуальные машины и / или B. не хотите использовать glusterfs.

№1 также работает, но не имеет преимущества перед голым железом - - любые улучшения в безопасности фактически сводятся на нет, поскольку вы говорите, что это для системы с одним приложением. В этом отношении и №3 тоже. Единственная разница в том, что вы можете использовать собственный драйвер linux для glusterfs. Вы можете настроить другой виртуальный диск для блока, чтобы его можно было отсоединить, если вам нужно повторно создать образ виртуальной машины без повторного заполнения блока.

6
ответ дан 3 December 2019 в 08:42

Я бы сказал потерять все. Не виртуализируйте это с помощью VirtualBox и не используйте какую-либо кластерную / реплицирующую файловую систему. Слои сложности обычно оказываются слоями именно этого: сложности, ошибок, замедлений и нестабильности.

Будьте проще. Запустите Apache на «голом железе» и используйте NFS или rsync для перемещения данных между вашими местоположениями.

4
ответ дан 3 December 2019 в 08:42

Теги

Похожие вопросы