Создание кластера S3

Создание кластера S3#

Ограничения

  • После развертывания кластера S3 можно изменить только схему избыточности. Изменение метода обеспечения избыточности не поддерживается. Например, можно изменить схему избыточности репликации с "2 реплики" на "3 реплики" или схему избыточности помехоустойчивого кодирования с "3+2" на "5+2", но нельзя изменить метод обеспечения избыточности с "репликация" на "помехоустойчивое кодирование" или наоборот.

  • Изменение схемы избыточности помехоустойчивого кодирования может снизить производительность кластера, так как для перекодирования необходим большой объем ресурсов кластера в течение длительного времени.

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

Настройка сервисов хранилища объектов на узлах кластера

  1. На экране Сервисы хранилища → S3 нажмите Создать хранилище S3.

  2. На шаге Серверы выберите от одного до нескольких серверов. Можно выбрать только серверы с состоянием сети Настроено. Чтобы создать кластер S3 с высокой доступностью, выберите не менее трех серверов. Нажмите Далее.

    image1

  3. На шаге Политика хранения данных задайте политику хранения данных S3:

    1. Выберите уровень хранения, область отказа и режим избыточности данных.

    2. Укажите максимальное количество потерянных реплик или блоков данных/четности, при котором сохраняется возможность записи данных. Нажмите Далее.

    image2

  4. На шаге Параметры кластера задайте следующие параметры:

    • Количество NS в кластере — число служб имен (NS) в кластере. Значение по умолчанию — 16.

    • Количество ОS в кластере — число служб объектов (OS) в кластере. Значение по умолчанию — 24.

    • Количество шлюзов S3 на сервере на каждую сеть с типом трафика 'S3 public' — число служб шлюза S3 (GW) на каждом сервере в расчете на один сетевой интерфейс, подключенный к сети с типом трафика S3 public. Значение по умолчанию — 6.

    • Максимальное количество сервисов управления S3 — максимальное число служб управления S3 (CFGD) в кластере. Значение по умолчанию — 5.

    • Количество сервисов ACC — число служб политики корзин (ACC) в кластере. Значение по умолчанию — 1.

    В процессе создания кластера эти службы будут равномерно распределены по серверам кластера, настроены и запущены.

    Нажмите Далее.

    image5

  5. На шаге DNS укажите внешнее (публично разрешимое) доменное имя для оконечной точки S3, которая будет использоваться конечными пользователями для доступа к хранилищу объектных данных, например s3.example.com. Нажмите Далее.

    Важно

    Настройте свой DNS-сервер в соответствии с примером, приведенным на панели администратора.

    Примечание

    В сложных средах можно использовать HAProxy для создания масштабируемой избыточной платформы балансировки нагрузки, которую можно легко перемещать или переносить, независимо от продукта Кибер Инфраструктура. Дополнительные сведения см. в статье Как запустить хранилище за HAProxy.

    image6

  6. На шаге Протокол выберите протокол оконечной точки S3: HTTP, HTTPS или оба. Для производственного развертывания рекомендуется использовать только HTTPS.

    После выбора протокола HTTPS

    • Выберите вариант Сгенерировать сертификат, чтобы получить самоподписанный сертификат (не рекомендуется для производственного развертывания).

      Примечание

      • Для георепликации S3 требуется сертификат от доверенного центра. Она не работает с самоподписанными сертификатами.

      • Для доступа к данным в кластере S3 с помощью браузера добавьте самозаверяющий сертификат в исключения браузера.

    • Получите ключ и доверенный подстановочный SSL-сертификат (wildcard SSL certificate) для домена нижнего уровня конечной точки. Например, конечной точке s3.storage.example.com потребуется подстановочный сертификат для *.s3.storage.example.com с альтернативным именем субъекта s3.storage.example.com.

      Если вы получили SSL-сертификат от промежуточного центра сертификации (ЦС), у вас должен быть сертификат конечного пользователя наряду с пакетом ЦС, содержащим корневой и промежуточные сертификаты. Чтобы можно было использовать эти сертификаты, сначала необходимо объединить их в цепочку. Цепочка сертификатов включает в себя сертификат конечного пользователя, сертификаты промежуточных ЦС и сертификат доверенного корневого ЦС. В данном случае SSL-сертификат может быть доверенным только в том случае, если каждый сертификат в цепочке надлежащим образом выпущен и действителен.

      Например, если у вас имеется сертификат конечного пользователя, два сертификата промежуточных ЦС и сертификат корневого ЦС, создайте новый файл сертификата и добавьте в него все сертификаты в следующем порядке:

      # End-user certificate issued by the intermediate CA 1
      -----BEGIN CERTIFICATE-----
      MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1X<...>
      -----END CERTIFICATE-----
      # Intermediate CA 1 certificate issued by the intermediate CA 2
      -----BEGIN CERTIFICATE-----
      MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9ON9<...>
      -----END CERTIFICATE-----
      # Intermediate CA 2 certificate issued by the root CA
      -----BEGIN CERTIFICATE-----
      MIIC8jCCAdqgAwIBAgICZngwDQYJKoZIhvcN<...>
      -----END CERTIFICATE-----
      # Root CA certificate
      -----BEGIN CERTIFICATE-----
      MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqG<...>
      -----END CERTIFICATE-----
      

      Передайте подготовленный сертификат и, в зависимости от его типа, выполните одно из следующих действий:

      • укажите парольную фразу (файлы PKCS#12);

      • передайте ключ SSL.

    Нажмите Далее.

    При необходимости настройки протокола можно будет изменить после создания кластера на экране Сервисы хранилища → S3 → Настройки → Протокол.

    image7

  7. На шаге Сводка просмотрите указанные сведения и нажмите Создать, чтобы создать кластер.

    image8

Используйте следующую команду:

vinfra service s3 cluster create [--tier {0,1,2,3}] [--failure-domain {0,1,2,3,4}]
                                 [--replicas <norm>:<min> | --encoding <M>+<N>]
                                 [--self-signed | --no-ssl | --cert-file <cert_file>]
                                 [--insecure] [--key-file <key_file>] [--password]
                                 [--os-count <OS_COUNT>]
                                 [--ns-count <NS_COUNT>]
                                 --nodes <nodes> --s3gw-domain <domain>
--tier {0,1,2,3}

Уровень хранилища.

--failure-domain {0,1,2,3,4}

Область отказа хранилища (0 — диск, 1 — узел, 2 — стойка, 3 — ряд, 4 — комната).

--replicas <norm>

Схема репликации хранилища для данных S3 в формате:

  • norm — количество сохраняемых реплик;

  • min — минимальное количество активных реплик, при котором сохраняется возможность записи данных.

--encoding <M>+<N>

Схема помехоустойчивого кодирования хранилища для данных S3 в формате:

  • M — число блоков данных;

  • N — число блоков четности.

--self-signed

Сгенерировать самоподписанный сертификат (используется по умолчанию).

--no-ssl

Использовать только протокол HTTP для доступа к данным кластера.

--cert-file <cert_file>

Путь к файлу сертификата.

--insecure

Разрешить незащищенные соединения наряду с защищенными (может использоваться только с параметрами --cert-file и --self-signed).

--key-file <key_file>

Путь к файлу закрытого ключа сертификата (может использоваться только с параметром --cert-file).

--password

Считать пароль сертификата из стандартного ввода (может использоваться только с параметром --cert-file).

--os-count <OS_COUNT>

Количество служб объектов (OS) в кластере.

--ns-count <NS_COUNT>

Количество служб имен (NS) в кластере.

--nodes <nodes>

Список имен хостов или идентификаторов серверов через запятую.

--s3gw-domain <domain>

DNS-имя конечной точки кластера S3.

Например, чтобы создать кластер S3, который будет состоять из узлов node001 и node002 и использовать самоподписанный сертификат, выполните:

# vinfra service s3 cluster create --nodes node001,node002 --tier 0 --failure-domain 1 \
--encoding 1+2 --self-signed --s3gw-domain dns.example.com

Эта команда также указывает уровень хранения данных, режим избыточности, область отказа и DNS-имя.

Посмотреть конфигурацию хранилища S3 можно в выводе команды vinfra service s3 show:

# vinfra service s3 show
+----------------+--------------------------------------------+
| Field          | Value                                      |
+----------------+--------------------------------------------+
| failure_domain | 1                                          |
| id             | 0100000000000002                           |
| name           | cluster1                                   |
| nodes          | - id: ca334b1d-20a1-1241-96a5-eb9acadb8ecd |
|                | - id: ab36b523-91dc-e78d-53a7-88baed44541e |
| np             |                                            |
| nusers         | 0                                          |
| protocol       | scheme: https                              |
| redundancy     | m: 1                                       |
|                | n: 2                                       |
|                | type: raid6                                |
| s3gw_domain    | dns.example.com                            |
| tier           | 0                                          |
+----------------+--------------------------------------------+

Чтобы проверить, успешно ли развернут кластер S3 и имеют ли к нему доступ пользователи, откройте в браузере адрес https://<S3_DNS_name> или http://<S3_DNS_name>. Должен отобразиться следующий ответ в формате XML:

<Error>
    <Code>AccessDenied</Code>
    <Message/>
</Error>

Чтобы начать пользоваться хранилищем S3, также потребуется создать как минимум одного пользователя S3.