Требования к инфраструктуре Почты 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.
Пример настройки параметров ОС
Важно
Установка данных параметров возможна только после консультации с вашими системными администраторами.
-
Создайте файл
/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 -
Создайте файл
/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:
-
Внесите изменение в конфигурации
/etc/systemd/system.conf: -
Установите следующие пакеты из репозитория РЕД ОС 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
Установить пакеты можно с помощью команды:
-
-
Примените изменения:
sysctl -p /etc/sysctl.d/98-vkworkspace.conf sysctl -p /etc/security/limits.d/98-vkworkspace-limits.conf sysctl --systemИли перезагрузите операционную систему.
Требования к синхронизации системного времени
Все сервера должны быть синхронизированы с одним сервером NTP. Этим обеспечивается отсутствие значимой разницы во времени между серверами в кластере.