У меня есть реплицированное хранилище Gluster, которое используется серверами с автоматическим масштабированием. И автоматическое масштабирование, и хранилище распределяются в двух зонах доступности.
Блеск:
Number of Bricks: 4 x 2 = 8
Transport-type: tcp
Bricks:
Brick1: gluster01:/storage/1a # Zone A
Brick2: gluster02:/storage/1b # Zone B
Brick3: gluster03:/storage/2a # Zone A
Brick4: gluster04:/storage/2b # Zone B
Brick5: gluster01:/storage/3a # Zone A
Brick6: gluster02:/storage/3b # Zone B
Brick7: gluster03:/storage/4a # Zone A
Brick8: gluster04:/storage/4b # Zone B
Я использовал Round Robin DNS для точки входа Gluster, поэтому DNS-имя разрешается для всех адресов серверов хранения, которые все время возвращаются в разном порядке:
# host storage.domain.com
storage.domain.com has address xx.xx.xx.x1
storage.domain.com has address xx.xx.xx.x2
storage.domain.com has address xx.xx.xx.x3
storage.domain.com has address xx.xx.xx.x4
Хранилище смонтировано с помощью собственного клиента Gluster:
# grep storage /etc/fstab
storage.domain.com:/storage /storage glusterfs defaults,log-level=WARNING,log-file=/var/log/gluster.log 0 0
Я слышал, что Gluster может быть смонтирован с первым IP-адресом сервера, а после этого он получит свою конфигурацию с остальными серверами. Лично я никогда не тестировал установку монтирования на одном сервере и не знаю, как Gluster с этим справляется.
На EC2 трафик между одной зоной доступности бесплатный, а между разными зонами - нет. Когда клиент в зоне A записывает в хранилище и возвращается IP-адрес хранилища в зоне B, это будет стоить мне вдвое дороже за передачу данных: клиент (зона A) -> сервер хранилища (зона B) -> репликация на сервер хранилища (зона A) ).
Вопрос: Было бы лучше смонтировать сервер хранения в той же зоне, чтобы плата за передачу данных применялась только для репликации (A -> A -> B)?
Выполнение монтирования на сервер в той же зоне избавит трафик начальной настройки сеанса gluster от прохождения платных ссылок. Однако это не заставит трафик данных в местный АЗ. Распределенно-реплицированные тома Gluster, такие как ваш, считают, что все блоки равны. Это означает, что он может размещать файлы в непредсказуемых местах; вполне возможно, что две реплики находятся в одной зоне доступности, и в этот момент весь доступ к этому файлу из другой зоны доступности будет проходить по измеряемой ссылке. Поскольку обе реплики находятся в другой зоне доступности, с вас будет взиматься плата за передачу данных по сети в два раза больше из-за того, как Gluster обрабатывает репликацию.
Единственное место, где Gluster имеет хоть какое-то представление о сайте, - это их Гео-репликация модуль. Что, к сожалению, асинхронно.