Чек-лист по установке ECSS-10 версии 3.14
Шаг | Пункт документации | Результат | Примечание |
---|---|---|---|
1. Проверка соответствия аппаратных требований к системе | |||
1.1 Установлены актуальные версии ПО внутренних устройств и контроллеров сервера (BIOS, RAID, iDRAC, iLO и т.д.) | См. документацию к используемому серверу | ||
1.2 Наличие в системе по меньшей мере 2-х ядерного CPU | Определяется проектом на систему | ||
1.3 Наличие в системе по меньшей мере 8 Гб RAM | Определяется проектом в зависимости от требуемой нагрузки. В тестовых целях допускается уменьшение до 4 Гб | ||
1.4 Имеется достаточно дискового пространства | Инсталляция операционной системы | ||
1.5 Произведена верная разметка разделов | Инсталляция операционной системы | ||
1.6 В системе НЕ используется файл подкачки SWAP | Инсталляция операционной системы | ||
2. Проверка соответствия программных требований к системе | |||
2.1 Установлена корректная версия и разрядность операционной системы | Ubuntu Server 18.04 x64 | ||
2.2 Выставлено корректное имя хоста hostname: ecss1 или ecss2 | Инсталляция операционной системы | При использовании резервирования | |
2.3 В системе установлены актуальные обновления | Обновление ОС и инсталляция необходимого ПО | ||
2.4 В системе установлено рекомендуемое ПО | Обновление ОС и инсталляция необходимого ПО | ||
2.5 В системе добавлен репозиторий ECSS-10 и имеется доступ к нему | Обновление ОС и инсталляция необходимого ПО | ||
2.6 В системе корректно настроены сетевые интерфейсы | Настройка сетевых интерфейсов, bonding, VRRP | ||
- адреса сетевых интерфейсов статичны, не изменяются динамически по DHCP | |||
- сервис keepalived (VRRP) настроен и работает | При использовании резервирования | ||
- как минимум на интерфейсах 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) | |||
- Проверка ключа eToken/RuToken | Проверка работы Token | ||
2.8 Проверка сетевой доступности между хостами ecss1 и ecss2 | При использовании резервирования | ||
- задержка ping между хостами не превышает 100 ms | Необходимо минимизировать задержки трафика между хостами на сколько это возможно | ||
- отсутствуют потери пакетов при обмене данными между хостами | Запускается команда 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/ и в соответствии с лицензией) | Проверяется ping c ecss1 на ecss2 и наоборот | ||
- между хостами настроена авторизация по ключам | Сгенерировать ssh-ключ и передать на другой сервер ssh-keygen ssh-copy-id ssw@ecss2
| ||
2.9 На сервере работает синхронизация времени c NTP сервером | Синхронизация времени на серверах | Проверить статус: ntpq -p | |
- выставлен корректный часовой пояс | Просмотреть: date +%Z | ||
- на хостах ecss1 и ecss2 настроена синхронизация времени в режиме orphan либо синхронизация с единого NTP | Синхронизация времени на серверах | При использовании резервирования | |
2.10. Установлен glusterfs-server рекомендуемой версии | Не ниже версии ПО 3.10.11 | ||
3. Проверка корректности установки ECSS-10 | |||
3.1 Установка пакетов компонентов системы завершилась успешно без ошибок: | Установка пакетов ECSS | dpkg -l | grep ecss | |
- ecss-node | |||
- ecss-media-resources | |||
- ecss-media-server | |||
- ecss-mysql | |||
- ecss-restfs | |||
- ecss-cc-ui | При использовании APM CC | ||
- ecss-user | |||
- ecss-web-conf | |||
- ecss-dns-env | |||
4. Проверка работоспособности системы ECSS-10 | |||
4.1 Проверка установленной лицензии ECSS-10: | Запуск и активация системы | ||
- сервис SACSrv находится в работе | Установка ПО и подключение Token | ps aux | grep SACSrv | grep -v grep | |
- сервис pcscd находится в работе | Установка ПО и подключение Token | ps aux | grep pcscd | grep -v grep | |
- в системе установлен корректный паспорт | Запуск и активация системы | 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-имени | 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 controlchannel.zmq.ecss ping -c1 system.restfs.ecss | ||
4.3 На хостах ecss1 и ecss2 прописаны listen-интерфейсы для сервиса epmd | Настройка listen-интерфейса для сервиса epmd | sudo systemctl cat epmd.service | |
4.4 Сервер БД MySQL запущен и работает | |||
- к MySQL серверу возможно подключиться по DNS ecss-cc-ui имени | mysql -uroot -p -h ecss2 | ||
- при использовании резерва запущенна и корректно работает репликация БД | Схема развертывания 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> | |
- ecss-mycelium | |||
- ecss-ds | |||
- ecss-core | |||
- ecss-pa-sip | |||
- ecss-pa-megaco | |||
- ecss-mediator | |||
- ecss-media-server | |||
- ecss-web-conf | |||
- ecss-restfs | |||
- ecss-subscriber-portal | |||
- ecss-cc-ui | |||
- Команда cocon "system-status" выдает пустой Alarms list | |||
4.7 Медиасервер MSR настроен и подключен к ECSS-10: | Настройка программного медиасервера | ||
- конфигурация MSR настроена на подключение к ECSS-10 | Настройка конфигурационного файла MSR | Из shell серверов: cat /etc/ecss/ecss-media-server/config.xml | |
- MSR задекларирован в системных медиаресурсах | Команды управления медиаресурсами | Cocon: /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 (преобразование текста в голосовое сообщение) настроен и работает: | |||
- Сервис возвращает голосовой файл после преобразования из текста | Из 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 где: | ||
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> | |
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 |