Используя GlusterFS для простой репликации

База данных Informix, чей самый занятый, большая часть важнейшей таблицы имела 16k степени, была до чего-то как 38 000 степеней на табличной области (думайте фрагментированный диск), и был дважды поддерживаемый уровень. (Поставщик на самом деле записал бумажную букву, которая сказала, что что-то как "Ваша база данных откажет в любое время"),

Предыдущая DBA, SA и сетевой оставленный человек и я был приблизительно 6 неделями из школы. Я провел большое исследование и выяснил, как устранить проблему, которая потребует 6 часов времени простоя. Босс отказался планировать отключение электричества.

Таким образом в один из самых напряженных дней года, системных замораживаний. 500 операторов центра обработки вызовов и коммерческий веб-сайт снижаются. При фиксации его после того, как отказ был трудным, потому что поставщик никогда не делал этого прежде на таблице того размера и ни с чем как "интересная" схема базы данных, которую мы использовали. Таким образом, мы сделали точно, что я запланировал сделать первоначально, кроме целостности БД, проверка заняла еще 5 часов.

4
задан 30 May 2010 в 16:44
3 ответа

На самом деле Gluster идеально подходит для этого сценария. Вы получаете двунаправленную репликацию и способность смонтировать файловую систему от любой машины, давая Вам (теоретически) дважды, эффективная способность ввода-вывода NFS и активной обработки отказа должна один из сбоя полей.

Проблема с выполнением активного rsync этот путь блокирует ввод-вывод из-за блокировок файла. В зависимости от Вашего приложения и изменения в данных это могло быть не важно или иметь катастрофические последствия! Распределенные файловые системы имеют очень определенную семантику блокировки, которые предотвращают это. Даже если inotify имеет лучшую блокировку (когда я в последний раз попробовал его, это не сделало), в эти дни затем, Ваши доступы к файлу могут заблокироваться, в зависимости от того, может ли Ваша сеть справиться с изменениями. Это все теоретические протесты, но стоящий изучения в зависимости от того, что делает Ваше приложение.

5
ответ дан 3 December 2019 в 02:28

Было бы намного легче установить rsync, чтобы сделать активное зеркальное отражение, или просто установить долю nfs и иметь их обоих получение по запросу от того же фактического диска.

0
ответ дан 3 December 2019 в 02:28
  • 1
    Я думаю, что GlusterFS является излишеством для 2 полей. GlusterFS хорош для больших кластеров HPC. It' s большой, если Вы хотите сделать это (много полезных ресурсов там, чтобы показать Вам как), но you' d, вероятно, быть более обеспеченным движением с NFS. –  churnd 30 May 2010 в 19:45

Мне наконец удалось получить решенное использование GlusterFS в обоих полях. Некоторые вещи изучены в процессе:

  • Сначала я попробовал универсальную установку RAID 1. Основная проблема с этим состоит в том, что клиент всегда использует tcp для контакта с обоими серверами, даже когда один из них находится в той же машине. Таким образом, я должен изменить клиентские конфигурации для замены tpc 'локального' объема прямым доступом (storage/posix) объем
  • Чтобы постараться не подчеркивать сетевой канал, каждый клиент читал, используют локальное устройство хранения данных с директивой option read-subvolume. От курса для сохранения целостности RAID1 GlusterFS всегда проверяют другие объемы также, но фактический файл получен непосредственно от диска
  • Производительность хороша, но клиентский процесс походит на объятие памяти. Я думаю, связан с quickread объемом, я должен заняться расследованиями далее

Измененная клиентская конфигурация:

# Server1 configuration (RAID 1)
volume server2-tcp
    type protocol/client
    option transport-type tcp
    option remote-host server2
    option transport.socket.nodelay on
    option transport.remote-port 6996
    option remote-subvolume brick1
end-volume

volume posix-local
    type storage/posix
    option directory /shared
end-volume

volume locks-local
    type features/posix-locks
    subvolumes posix-local
end-volume

volume brick-local
    type performance/io-threads
    option thread-count 8
    subvolumes locks-local
end-volume

volume mirror-0
    type cluster/replicate
    option read-subvolume brick-local
    subvolumes brick-local server2-tcp
end-volume

.....

Ответ на мои оба вопроса:

Это копирует файлы на том же поле?

Нет, фс смонтирована с помощью FUSE. Текущая/etc/fstab строка:

/etc/glusterfs/client.vol/mnt/shared glusterfs значения по умолчанию 0 0

Вместо этого я должен использовать файловую систему непосредственно, локально пишущий на совместно использованном/? Репликация работает таким образом, не монтируя клиент?

Нет, всегда используйте смонтированные объемы для создания чтения-записей, использование непосредственно файловой системы может привести к несоответствиям.

8
ответ дан 3 December 2019 в 02:28

Теги

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