Создание катастрофоустойчивого кластера S3

Создание катастрофоустойчивого кластера S3#

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

Предварительные требования

  • DNS-имена всех конечных точек S3 должны принадлежать одному и тому же домену и соответствовать следующей схеме:

    • <domain> — DNS-имя единой конечной точки S3 (например, s3.example.com);

    • <prefix1>.<domain> и <prefix2>.<domain> — DNS-имена конечных точек S3 базовых кластеров (например, cluster-a.s3.example.com и cluster-b.s3.example.com).

  • SSL-сертификат базовых кластеров должен быть выдан доверенным удостоверяющим центром. В этом сертификате должны быть указаны следующие DNS-имена: <domain> и *.<domain> (например, "s3.example.com" и "*.s3.example.com").

Создание катастрофоустойчивого кластера S3

  1. Создайте два базовых кластера S3 (см. раздел Создание кластера S3).

    Примечание

    Для каждого базового кластера должна быть настроена балансировка нагрузки (например, посредством DNS с циклическим перебором или HAProxy).

  2. Включите георепликацию для базовых кластеров S3 (см. раздел Включение георепликации S3).

  3. Укажите DNS-имя единой точки доступа в настройках базовых кластеров S3 (например, s3.example.com). Для этого на любом из серверов каждого базового кластера S3 выполните команду:

    ostor-ctl put-settings S3GW.ha_server_name=\'HOSTNAME\'
    

    В этой команде HOSTNAME — DNS-имя единой точки доступа (DNS-имя, которое соответствует IP-адресу общего балансировщика нагрузки и которое будет использоваться в приложениях S3).

  4. Настройте общий балансировщик нагрузки так, чтобы серверы первого базового кластера S3 являлись основными, а серверы второго — резервными. Пример конфигурации для балансировщика нагрузки HAProxy:

    frontend fe-s3
        bind            10.10.10.10:443
        mode            tcp
        default_backend be-s3
    
    backend be-s3
        mode            tcp
        balance         roundrobin
        option          allbackups
        server          s3-cluster-a-server-01 192.168.10.11:443 check
        server          s3-cluster-a-server-02 192.168.10.12:443 check
        server          s3-cluster-a-server-03 192.168.10.13:443 check
        server          s3-cluster-b-server-01 192.168.20.21:443 check backup
        server          s3-cluster-b-server-02 192.168.20.22:443 check backup
        server          s3-cluster-b-server-03 192.168.20.23:443 check backup
    

    В этом примере:

    • 10.10.10.10 — IP-адрес общего балансировщика нагрузки;

    • 192.168.10.11192.168.10.13 — IP-адреса серверов первого базового кластера S3;

    • 192.168.20.21192.168.20.23 — IP-адреса серверов второго базового кластера S3.

  5. Создайте пользователей и корзины в первом базовом кластере S3 и включите георепликацию для этих корзин (см. раздел Включение георепликации S3).