Документация по установке и развертыванию AntDB
В этом разделе описывается конфигурация системы Linux перед установкой AntDB, включая регистрацию пользователя, установку зависимостей и настройку системных параметров.
Конфигурация пользователя
Создание нового пользователя
Создайте нового обычного пользователя, например uatadb, на всех хостах, где будет установлена AntDB (или используйте существующего обычного пользователя). Пример ссылки на нового пользователя.
useradd -d /home/uatadb uatadb
passwd uatadb
Настройка параметров пользовательских лимитов
Отредактируйте файл /etc/security/limits.conf
и настройте параметр
antdb user parameters.
antdb soft nproc 65536
antdb hard nproc 65536
antdb soft nofile 278528
antdb hard nofile 278528
antdb soft stack unlimited
antdb soft core unlimited
antdb hard core unlimited
antdb soft memlock 250000000
antdb hard memlock 250000000
После сохранения файла выполните команду su - antdb
для перехода к пользователю antdb и выполните команду ulimit -a
, чтобы проверить, действует ли она.
Настройка привилегий пользователя sudo
Если позволяет безопасность, рекомендуется добавить пользователю antdb привилегии sudo. Выполните команду visudo
для пользователя root для редактирования интерфейса, найдите строку "Allow root to run any commands anywhere" и добавьте строки ниже.
antdb ALL=(ALL) ALL
Сохраните файл и выйдите. Переключитесь с su - antdb на пользователя antdb и выполните команду sudo id
. Ожидайте запроса на ввод пароля пользователя, и в результате получите следующее:
uid=0(root) gid=0(root) groups=0(root)
указывает на то, что привилегии sudo были успешно добавлены.
Настройка параметров системы
Выключите брандмауэр
В качестве примера можно использовать операционную систему centos 7:
- Отключите функцию брандмауэра.
systemctl stop firewalld.service
- Отключите функцию самостоятельного запуска брандмауэра.
systemctl disable firewalld.service
- Проверьте состояние брандмауэра.
systemctl status firewalld.service
Отключение numa и настройка
В качестве примера можно привести операционную систему redhat/centos 7.
- Выключите numa.
grubby --update-kernel=ALL --args="numa=off " #this command modifies the following file:
/etc/grub2.cfg
grub2-mkconfig
- Выключите настроенный сервис.
systemctl stop tuned
systemctl disable tuned
- Перезагрузите хост после того, как изменения, внесенные этим способом, вступят в силу.
reboot
- Проверьте cmdline программы grub после перезагрузки.
cat /proc/cmdline
- Проверьте numa
numactl --hardware
Ожидаемый результат: Доступно: 1 узел (0)
Отключение огромных прозрачных страниц
Использование огромных прозрачных страниц (Transparent Huge Pages (сокращенно: THP)) может вызывать проблемы с производительностью, поэтому их рекомендуется отключать.
- Проверьте статус работы THP.
cat /sys/kernel/mm/transparent_hugepage/enabled
Если результат: [always] madvise never
, то Transparent Huge Pages включены и их необходимо отключить; Если результат: always madvise [never]
, то Transparent Huge Pages отключены и этот шаг можно пропустить
- Выключите огромные прозрачные страницы.
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag checks the on status of Transparent Huge Pages
- Ещё раз убедитесь, что Transparent Big Page включена.
cat /sys/kernel/mm/transparent_hugepage/enabled
Настройка sysctl.conf
- Модифицируйте файл
sysctl.conf
.
cat >> /etc/sysctl.conf << EOF
# add for antdb
kernel.shmmax=137438953472 137438953472
kernel.shmall=53689091
kernel.shmmni=4096
kernel.msgmnb=4203520
kernel.msgmax=65536
kernel.msgmni=32768
kernel.sem=501000 641280000 501000 12800
fs.aio-max-nr=6553600
fs.file-max=26289810
net.core.rmem_default=8388608
net.core.rmem_max=16777216
net.core.wmem_default=8388608
net.core.wmem_max=16777216
net.core.netdev_max_backlog=262144
net.core.somaxconn= 65535
net.ipv4.tcp_rmem=8192 87380 16777216
net.ipv4.tcp_wmem=8192 65536 16777216
net.ipv4.tcp_max_syn_backlog=262144
net.ipv4.tcp_keepalive_time=180
net.ipv4.tcp_keepalive_intvl=10
net.ipv4.tcp_keepalive_probes=3
net.ipv4.tcp_fin_timeout=1
net.ipv4.tcp_synack_retries=1
net.ipv4.tcp_syn_retries=1
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_max_tw_buckets=256000
net.ipv4.tcp_retries1=2
net.ipv4.tcp_retries2=3
vm.dirty_background_ratio=5
vm.dirty_expire_centisecs=6000
vm.dirty_writeback_centisecs=500
vm.dirty_ratio=20
vm.overcommit_memory=0
vm.overcommit_ratio= 120
vm.vfs_cache_pressure = 100
vm.swappiness=10
vm.drop_caches = 2
vm.min_free_kbytes = 2048000
vm.zone_reclaim_mode=0
kernel.core_uses_pid=1
kernel.core_pattern= /data/antdb/core/core-%e-%p-%s-%t
fs.suid_dumpable=1
kernel.sysrq=0
EOF
Путь kernel.core_pattern
должен быть изменён в соответствии с информацией о реальной среде.
- Выполните следующую команду для введения в действие указанных параметров.
sysctl -p
Дополнительно от нас предлагается продолжение данной темы, мы предлагаем изучить команды, связанные с таблицей узлов в развернутом кластере AntDB.