Чек-лист по установке ECSS-10
| Шаг | Пункт документации | Результат | Примечание |
|---|---|---|---|
| 1. Проверка соответствия аппаратных требований к системе | |||
| 1.1 Установлены актуальные версии ПО внутренних устройств и контроллеров сервера (BIOS, RAID, iDRAC, iLO и т.д.) | См. документацию к используемому серверу | ||
| 1.2 Наличие в системе по меньшей мере двухъядерного CPU | Разработка проекта системы | Определяется проектом на систему | |
| 1.3 Наличие в системе по меньшей мере 8 ГБ RAM | Разработка проекта системы | Определяется проектом в зависимости от требуемой нагрузки. В тестовых целях допускается уменьшение до 4 ГБ | |
| 1.4 Имеется достаточно дискового пространства | df -h | ||
| 1.5 Произведена верная разметка разделов | Таблица 1 — Вариант размещения информации в файловой системе на физических носителях для серверов | df -h | |
| 1.6 В системе НЕ используется файл подкачки SWAP | "Оптимизация" Операционной Системы /Отключить SWAP | free -h | |
| 2. Проверка соответствия программных требований к системе | |||
2.1 Установлена корректная версия и разрядность операционной системы (Ubuntu Server 18.04.x LTS 64bit) | Ubuntu Server 18.04 x64 | ||
| 2.2 Выставлено корректное имя хоста hostname: ecss1 или ecss2 | Настройка /etc/hosts | При использовании резервирования | |
| 2.3 В системе установлены актуальные обновления | Обновление программного обеспечения операционной системы | ||
| 2.4 В системе установлено рекомендуемое ПО | Установка и настройка программного обеспечения | ||
| 2.5 В системе добавлен репозиторий ECSS-10 и имеется доступ к нему | Обновление программного обеспечения операционной системы | ||
| 2.6 В системе корректно настроены сетевые интерфейсы: | Настройка сети | ||
| - адреса сетевых интерфейсов статичны, не изменяются динамически по DHCP | Настройка сети | sudo ifconfig | |
| - сервис keepalived (VRRP) настроен и работает | Настройка VRRP для SIP-адаптера | При использовании резервирования sudo ifconfig | |
| - как минимум на интерфейсах lo включена поддержка IPv6 | Пример: ssw@ecss1:~$ ip -6 addr show lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
| ||
| 2.7 Ключ eToken/RuToken подключен к USB-порту сервера: | Проверка работы Token | ||
| - Ключ eToken/RuToken определился в системе (lsusb) | Проверка работы Token | ||
| - Проверка ключа eToken/RuToken | Проверка работы Token | ||
| 2.8 Проверка сетевой доступности между хостами ecss1 и ecss2: | При использовании резервирования | ||
| - задержка ping между хостами не превышает 100 мс | Необходимо минимизировать задержки трафика между хостами, насколько это возможно | ||
| - отсутствуют потери пакетов при обмене данными между хостами | Запускается команда ping на несколько минут, после чего снимается статистика комбинацией клавиш: CTRL+| Пример: ssw@ecss1:~$ ping -q -c 200 ecss2 PING ecss2 (192.168.1.22) 56(84) bytes of data. 177/177 packets, 0% loss, min/avg/ewma/max = 0.062/0.131/0.117/0.489 ms | ||
| - хосты доступны между собой по DNS-имени (как прописано в /etc/hosts/ и в соответствии с лицензией) | Настройка /etc/hosts | Проверяется ping c ecss1 на ecss2 и наоборот | |
| - между хостами настроена авторизация по ключам | Настройка /etc/hosts | Сгенерировать ssh-ключ и передать на другой сервер: ssh-keygen ssh-copy-id ssw@ecss2 Аналогично с ecss2 на ecss1 | |
| 2.9 На сервере работает синхронизация времени c NTP-сервером: | Установка ecss-node | Проверить статус: ntpq -p | |
| - выставлен корректный часовой пояс | Установка часового пояса | Просмотреть: date +%Z | |
| - на хостах ecss1 и ecss2 настроена синхронизация времени в режиме orphan либо синхронизация с единого NTP | Установка ecss-node | При использовании резервирования | |
| 2.10. Установлен glusterfs-server рекомендуемой версии: | Установка остальных пакетов ecss и их настройка/ glusterfs | Не ниже версии ПО 3.13.2 | |
| 3. Проверка корректности установки ECSS-10 | |||
| 3.1 Установка пакетов компонентов системы завершилась успешно без ошибок: | dpkg -l | grep ecss | ||
| - ecss-mysql | Установка ecss-mysql | ||
| - ecss-node | Установка ecss-node | ||
| - ecss-media-resources | Установка ecss-media-resources | ||
| - ecss-media-server | Установка ecss-media-server | ||
| - ecss-restfs | Установка ecss-restfs | ||
| - ecss-user | |||
| - ecss-web-conf | Установка ecss-web-conf | ||
| - ecss-dns-env | DNS | ||
| - дополнительные необязательные пакеты в соответствии с проектом | Установка дополнительных пакетов | ||
| 4. Проверка работоспособности системы ECSS-10 | |||
| 4.1 Проверка установленной лицензии ECSS-10: | |||
| - сервис pcscd находится в работе | Установка ПО и подключение Token | pkcs11-tool --module $(find /usr/lib/ecss/ecss-ds/lib/ -name librtpkcs11ecp.so | head -n1) -L | |
| - в системе установлен корректный паспорт | CoCon команда: /cluster/storage/ds1/licence/show-passport | ||
| - в системе установлена актуальная лицензия | CoCon команда: /cluster/storage/ds1/licence/current-limits | ||
| 4.2 Сервис dnsmasq запущен и работает: | |||
| - если система с резервом, в конфигурации dnsmasq прописаны корректные адреса primary.broker.ecss и secondary.broker.ecss | Обратить внимание, что на обоих серверах содержимое одинаковое. address=/primary.broker.ecss/<Адрес ecss1> address=/secondary.broker.ecss/<Адрес ecss2> | ||
| - адреса доступны по DNS-имени | DNS | ping -c1 cocon.mysql.ecss ping -c1 dialer.mysql.ecss ping -c1 statistics.mysql.ecss ping -c1 tc.mysql.ecss ping -c1 tts.mysql.ecss ping -c1 system.restfs.ecss | |
| 4.3 На хостах ecss1 и ecss2 прописаны listen-интерфейсы для сервиса epmd | sudo systemctl cat epmd.service | ||
| 4.4 Сервер БД MySQL запущен и работает: | sudo systemctl status mysql.service | ||
| - к MySQL серверу возможно подключиться по DNS-имени | mysql -uroot -p -h ecss1 | ||
| - при использовании резерва запущенна и корректно работает репликация БД | Схема развертывания MySQL master-master replication с использованием keepalive | mysql -uroot -p -e 'show slave status \G;' На обоих серверах: Slave_IO_Running: Yes
Slave_SQL_Running: Yes
| |
| - порт mysql должен слушать на 0.0.0.0. | netstat -nl | grep 3306 | ||
| 4.5 В системе с резервом прописано имя кластера (не undefined) | cat /etc/ecss/ecss-mycelium/mycelium1.config | grep name | ||
4.6 Сервисы ecss запущенны и работают (находятся в состоянии running):
| Проверка статуса сервисов | Примеры: systemctl list-units --type service --all | grep ecss Состояние должно показывать "active" systemctl status <service name> Также и с ключом is-active: sasha@ecss1:~$ systemctl is-active ecss-core ecss-ds ecss-pa-sip ecss-mycelium ecss-media-server ecss-web-conf ecss-restfs active active active active inactive active active active | |
| - Команда cocon "system-status" выдает пустой Alarms list | |||
| 4.7 Медиасервер MSR настроен и подключен к ECSS-10: | MSR Настройка медиасервера | ||
| - конфигурация MSR настроена на подключение к ECSS-10 | Настройка конфигурационного файла MSR | Из shell-серверов: cat /etc/ecss/ecss-media-server/config.xml | |
| - MSR задекларирован в системных медиаресурсах | Команды управления медиаресурсами | CoСon: /system/media/resource/list /system/media/registrar/info Если система с резервированием, проверить, что подключен к обоим ядрам. | |
| - На хосте ecss2 аналогичным образом сконфигурирован MSR | При использовании резервирования | ||
| 4.8 Restfs настроен и доступен с сервера ECSS-10: | |||
| - RestFS доступен для записи и скачивания медиафайлов | Из shell-серверов: wget http://ecss1:9990/system/sounds/ai_you.wav wget http://ecss2:9990/system/sounds/ai_you.wav | ||
| 4.9 Сервис TTS (преобразование текста в голосовое сообщение) настроен и работает: | Если выбран tts при установке ecss-restfs | ||
| - Сервис возвращает голосовой файл после преобразования из текста | Из shell-серверов: wget http://ecss1:9990/generate?key=<Key>&text=<Text>&format=wav&lang=ru-RU&speaker=alyss&emotion=good&quality=hi wget http://ecss2:9990/generate?key=<Key>&text=<Text>&format=wav&lang=ru-RU&speaker=alyss&emotion=good&quality=hi где: | ||
| 4.10 Настроены пользователи, их права и роли | cocon/list users | ||
| 4.11 Настроены правила ограничения обслуживания абонентов | Тип доступа, режим обслуживания, категория доступа и барринги | ||
| 5. Проверка корректности настройки домена в ECSS-10 | |||
| 5.1 В домене настроен SIP-транспорт (ip-set) | |||
| - Адреса (node_ip) и порты (listen_port) выставлены в соответствии с проектом | /cluster/adapter/sip1/sip/network/info | ||
| - Адреса node_ip назначены на обеих нодах SIP-адаптера ecss1 и ecss2 | При использовании резервирования | ||
| - Адреса node_ip совпадают с адресами резервируемых интерфейсов, настроенных в keepalived | При использовании резервирования | ||
| - На домене выставлен ipset | /domain/<DOMAIN>/sip/network/info | ||
| 5.2 В домен добавлены необходимые услуги: | Инсталляция и управление услугами | ||
| - произведена установка в систему услуг | Инсталляция и управление услугами | cluster/storage/ds1/ss/install ds1@ecss1 * | |
| - домен добавлен в access-list к услугам | Инсталляция и управление услугами | Просмотреть установленные в доменах услуги: /cluster/storage/ds1/ss/access-list show Для добавления услуг на домене: /cluster/storage/ds1/ss/access-list add <DOMAIN> <SS> | |
| - настроена система сбора CDR (при необходимости) | Управление системой сбора CDR | ||
| 5.3 Произведена настройка контекста маршрутизации: | Виртуальная АТС. Маршрутизация телефонных вызовов | /domain/<DOMAIN>/routing/list /domain/<DOMAIN>/routing/show <CTX> | |
| - настроены нужные транки | Команды управления SIP-транками | При необходимости. /domain/<DOMAIN>/trunk/sip/info /domain/<DOMAIN>/trunk/info | |
| - настроены нужные бриджи | Команды управления bridge-интерфейсами | При необходимости. /bridge/info | |
| - маршруты отрабатываются как в режиме набора enblock, так и overlap | /domain/<DOMAIN>/routing/trace | ||
| 5.4 Произведены корректные настройки SIP-абонента(-ов): | Виртуальная АТС. Подключение и настройка SIP-абонентов | ||
| - абоненты созданы | Создание SIP-абонента | domain/<DOMAIN>/sip/user/list | |
| - установлены надежные логин/пароль SIP-авторизации | domain/<DOMAIN>/sip/user/info * * или отфильтровать (из shell): ssh admin@ecss1 -p8023 '/domain/<DOMAIN>/sip/user/info * *' | grep '(ds)' | ||
| - установлен trusted ip | Аутентификация абонентов | В случае необходимости SIP-регистрации без авторизации domain/<DOMAIN>/sip/user/info | |
| - у абонента установлен корректный контекст маршрутизации | Добавление абонента | domain/<DOMAIN>/sip/user/info или cluster/storage/ds1/iface/list <DOMAIN> * <GROUP> routing_context ~ ctx_from_local (подставить нужный) | |
| - выставлен корректный тип терминала (basic/smart) | Настройка параметров абонента | /cluster/storage/ds1/iface/list <DOMAIN> * <GROUP> terminal_type ~ smart (или basic) | |
| - у абонента активированы необходимые услуги | Инсталляция и управление услугами | /domain/<DOMAIN>/ss/info | |
| 5.5 Установка контекстов маршрутизации для системных интерфейсов: | Команды управления системными интерфейсами | /domain/<DOMAIN>/iface/user-set .system .system system:ivr routing.context | |
| - настроен system:ivr | Команды управления системными интерфейсами | При необходимости использования сервиса IVR. В большинстве случаев прописывается только контекст маршрутизации /domain/<DOMAIN>/iface/info .system .system system:ivr | |
| - настроен system:teleconference | Команды управления системными интерфейсами | При необходимости использования сервиса Teleconference. В большинстве случаев прописывается только контекст маршрутизации: /domain/<DOMAIN>/iface/info .system .system system:teleconference |