Перейти к содержанию

Требования к инфраструктуре Почты VK WorkSpace

Классификация дисков

Ниже приведен пример классификации. Для другой инфраструктуры параметры могут отличаться.

Класс дисков Примеры Кол-во операций чтения-записи Задержка Типовые нагрузки
Быстрые SSD NVMe / Enterprise Flash 50 000 – 1 000 000 и более на узел < 0,5 мс OLTP, БД, кэш (PostgreSQL/Redis), воркеры очередей
Обычные SSD SATA / Enterprise SSD 5 000 – 50 000 на узел 0,5 – 2 мс Смешанные нагрузки, логи, индексы, не real-time аналитика
Медленные HDD 7.2K/10K RPM 100 – 5 000 (на массив) 5 – 50 мс Архивы, бэкапы, холодные данные, последовательная запись

Хранилища

Поддерживаются 2 варианта размещения хранилищ:

  • Внешняя СХД: SAN, FC, iSCSI и подобные.
  • Встроенные диски (DAS). Локальные диски сервера, включая JBOD.

Общие требования к размещению:

  • Под компоненты Почты необходимо выделить отдельные LUN/разделы/диски.
  • По возможности не размещайте другие системы на тех же разделах/пулах СХД. Следует избегать влияния нагрузки сторонних систем на Почту.
  • Выделите отдельные LUN/разделы/диски для:
    • Файлов ОС.
    • Системных журналов.
    • Данных сервисов системы.
  • Не используйте тонкие диски (thin provisioned disks) — диски с отложенным выделением пространства, как на уровне СХД, так и на уровне виртуализации.

Какие диски использовать для сервисов

  • Для ETCD используйте отдельные LUN на быстрых дисках. Требование по задержке: p99 latency I/O ≤ 10 мс при 10 000 IOPS
  • Серверы БД (PostgreSQL, MySQL, Tarantool) разместите на обычных дисках. При этом каждый экземпляр БД размещайте на отдельном LUN, разделе или диске. Даже табличные пространства баз данных рекомендуется определять на разные разделы.
  • Сервисы хранения (zepto, mescalito) разместите на обычных дисках. Допускается размещение на медленных дисках только при кратном увеличении количества сервисов и дисков, чтобы компенсировать низкую производительность. При размещении учитывайте объем данных и интенсивность использования.
  • Для файловых хранилищ можно использовать медленные диски.

Сеть

  • Локальная сеть: 10 GbE.
  • Требование по задержке: RTT/latency ≤ 10 мс (в пределах локального контура/ЦОД/между ЦОД).
  • Пропускная способность каналов для пользовательского доступа рассчитывается исходя из количества пользователей и профиля активности. Ориентировочное значение: 5 МБ/с на пользователя.

CPU

  • Используйте процессоры Intel Xeon Gold 6140 и новее. Допускается использовать эквивалетные модели по количеству ядер и производительности.
  • CPU должен поддерживать следующие инструкции: 3DNow, ADX, AES, AVX, AVX2, BMI, BMI2, CMOV, MMX, MODE64, NOT64BITMODE, NOVLX, PCLMUL, SHA, SSE1, SSE2, SSE41, SSE42, SSSE3 и XOP.

Виртуализация

Если вы используете системы виртуализации для развертывания серверов VK WorkSpace необходимо учитывать особенности выделения ресурсов:

vCPU

Не допускайте переподписку. Суммарные vCPU на хосте не должны превышать количество физических ядер, выделенных всем виртуальным машинам. При этом не рекомендуется считать Hyper-Threading полноценными ядрами.

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

RAM

Не назначайте суммарную vRAM выше физической RAM хоста.

Механизмы экономии памяти

Не включайте механизмы ballooning и сжатия памяти.

swap

Не используйте swap — как на гипервизоре, так и внутри виртуальных машин.

Резервирования ресурсов виртуальных машин

Устанавливайте всю выделенную память и процессоры в резерв для виртуальных машин системы.

Диски и бэкапы

  • Не используйте тонкие диски (диски типа Thin) — диски с отложенным выделением пространства на СХД.
  • Виртуальные диски для следующих разделов должны быть разнесены по разным физическим устройствам:
    • ОС.
    • Файлы.
    • Журналы.
    • Данные.
  • Резервное копирование и снапшоты должны выполняться в периоды минимальной нагрузки.

Требования к настройкам операционной системы

Поддерживаемые операционные системы для установки Почты:

  • Astra Linux SE Орел — версия 1.7.5+, версия ядра — 5.15.
  • Astra Linux SE Орел — версия 1.8, версия ядра — 6.1.
  • РЕД ОС — версия 7.3.5, версия ядра — 6.1.
  • РЕД ОС — версия 7.3с (сертифицированная), версия ядра — 6.1.
  • РЕД ОС — версия 8, версия ядра — 6.6 или 6.12.
  • MosOS Arbat — версия 15.5, версия ядра — 5.14.

Архитектура системы — x86_64.

Отключите файл подкачки swap.

Разнесите разделы ниже по разным точкам монтирования:

  • /boot;
  • /;
  • /home;
  • /var/log;
  • /var/lib/docker;
  • /opt;
  • /tmp.

Пример настройки параметров ОС

Важно

Установка данных параметров возможна только после консультации с вашими системными администраторами.

  1. Создайте файл /etc/sysctl.d/98-vkworkspace.conf с настройками sysctl:

    kernel.pid_max=4194304
    net.ipv4.tcp_tw_reuse=1
    net.netfilter.nf_conntrack_tcp_timeout_time_wait=3
    net.netfilter.nf_conntrack_tcp_timeout_fin_wait=5
    net.ipv6.conf.all.disable_ipv6=1
    net.ipv6.conf.default.disable_ipv6=1
    net.ipv6.conf.lo.disable_ipv6=1
    net.netfilter.nf_conntrack_max=4194304
    net.ipv4.tcp_syncookies=1
    net.ipv4.ip_forward=1
    
  2. Создайте файл /etc/security/limits.d/98-vkworkspace-limits.conf с настройками лимитов:

    *    hard nofile 1048576
    *    soft nofile 131072
    *    hard nproc  257053
    *    soft nproc  131072
    root hard nofile 1048576
    root soft nofile 262144
    root hard nproc  514106
    root soft nproc  262144
    
    Дополнительные настройки для сертифицированной РЕД ОС 7.3

    Файл /etc/sysctl.d/98-vkworkspace.conf с настройками sysctl для сертифицированной РЕД ОС 7.3 будет отличаться:

    kernel.pid_max=4194304
    net.ipv4.tcp_tw_reuse=1
    net.ipv6.conf.all.disable_ipv6=1
    net.ipv6.conf.default.disable_ipv6=1
    net.ipv6.conf.lo.disable_ipv6=1
    net.ipv4.tcp_syncookies = 1
    

    До установки Почты VK WorkSpace:

    1. Внесите изменение в конфигурации /etc/systemd/system.conf:

      DefaultLimitNOFILE=524288:524288
      
    2. Установите следующие пакеты из репозитория РЕД ОС 7.3, поставляемого с операционной системой:

      • docker-ce-cli-20.10.24-1.el7.x86_64
      • docker-ce-rootless-extras-20.10.24-1.el7.x86_64
      • docker-ce-20.10.24-1.el7.x86_64
      • docker-ce-20.10.24-1.el7.i686
      • docker-compose-2.29.2-1.el7.x86_64
      • docker-compose-switch-1.0.5-1.el7.x86_64

      Установить пакеты можно с помощью команды:

      yum install docker-ce-cli-20.10.24-1.el7.x86_64 docker-ce-rootless-extras-20.10.24-1.el7.x86_64 docker-ce-20.10.24-1.el7.x86_64 docker-ce-20.10.24-1.el7.i686 docker-compose-2.29.2-1.el7.x86_64 docker-compose-switch-1.0.5-1.el7.x86_64
      
    Дополнительные настройки для MosOS Arbat

    Установите docker 20.x и docker-compose из репозитория MosOS:

    zypper install -y docker docker-compose bind-utils ncat
    
  3. Примените изменения:

    sysctl -p /etc/sysctl.d/98-vkworkspace.conf
    sysctl -p /etc/security/limits.d/98-vkworkspace-limits.conf
    sysctl --system
    

    Или перезагрузите операционную систему.

Требования к синхронизации системного времени

Все сервера должны быть синхронизированы с одним сервером NTP. Этим обеспечивается отсутствие значимой разницы во времени между серверами в кластере.