четверг, 22 апреля 2021 г.

Загрузка драйверов Nutanix VirtIO в среде восстановления Windows

Однажды случилось так, что виртуальная машина под управлением Windows Server 2016, запущенная на Nutanix AHV, отказалась загружаться. Чтобы понять, что происходит с севером, можно загрузиться в среду восстановления Windows, но тут есть один нюанс - консоль восстановления не видит дисков виртуальной машины.
Если запустить diskpart, то его вывод будет немного пугающим
X:\sources>diskpart

Microsoft DiskPart, версия 10.0.19041.1

(C) Корпорация Майкрософт (MicrosoftCorporation)
На компьютере: MININT-615R7LA

DISKPART> list disk
Жесткие диски отсутствуют.

DISKPART>

среда, 3 марта 2021 г.

Создание записей для IVR без дополнительных затрат времени и денег и без дополнительного ПО

Если необходимо создать голосовые записи для IVR, то первое, что приходит в голову, это попросить кого-то надиктовать их, или сделать это самому, но есть более простой способ это сделать.
Для демонстрации возможностей Yandex SpeachKit есть сервис, который позволяет озвучить текст до 5000 символов совершенно бесплатно (на момент написания заметки) как мужским, так и женским голосом. Есть так же возможность расставлять ударения и паузы в тексте. На выходе получается ogg-файл, который сразу, без конвертации, можно загрузить во FreePBX.

понедельник, 1 марта 2021 г.

Использование нескольких устройств одновременно на одном внутреннем номере FreePBX

Для того чтобы одновременно подключать на FreePBX два и более устройства на одном номере, нужно для этого внутреннего номера использовать канальный драйвер pjsip, а так же во вкладке Расширенный (Advanced) параметров внутреннего номера указать необходимое количество устройств в поле Максимальное количество Контактов (Max Contacts).

При использовании двух канальных драверов одновременно нужно учитывать что они используют разные порты при подключении. Массовая конвертация chain_sip номеров в chain_pjsip и изменение портов для подключения описаны в конце заметки об обновлении FreePBX.

Sip-клиент MicroSIP со списком контактов из Active Directory

Когда необходимо использвовать sip-клиент в корпоративной среде, то к нему выдвигается несколько требований, в которых, среди прочего, лёгкость автоматической настройки для разворачивания на компьютеры пользователей и возможность использовния централизованного телефонного справочника, формируемого из данных о пользователях в Active Directory. И лучше всего получить это без лишних материанльных затрат.
По поводу автоматической установки на компьютеры пользователей есть статья на Хабре. Там описан достаточно простой способ разворачивания MicroSIP на компьютеры пользователей, так что изобретать велосипед нет смысла. В этой же заметке будет описано как сформировать единый телефонный справочник для пользователей.

четверг, 18 февраля 2021 г.

Подключение к беспроводной сети Ubuntu Server 20.04

С подключением к беспроводной сети, при наличии какого-либо окружения рабочего стола, обычно проблем не возникает, если в системе присутствует драйвер для беспроводной сетевой карты.
В моём случае потребовалось подключить к беспроводной сети Ubuntu Server 20.04 с использованием сетевой карты, созданной на основе чипа Broadcom BCM94352HMB. А это означает, что ни графического окружения, ни дравера нет в системе.

понедельник, 8 февраля 2021 г.

Изменение маршрута по умолчанию на layer 3 коммутаторе Cisco

Для Layer 3 коммутаторов и маршрутизаторов Cisco указание маршрута по умолчанию вроде бы делается достаточно просто
config t
ip default-gateway 192.168.2.2
end
Но после этого, если выполнить команду
show ip route
то маршрут по умолчанию останется прежний
IP Forwarding: enabled
Codes: > - best, C - connected, S - static, R - RIP

S   0.0.0.0/0 [1/1] via 192.168.1.1, 560:00:38, vlan 2
При этом, если повторно попробовать добавить этот же маршрут по умолчанию, то будет сообщение о том, что такая запись в таблице машрутизации уже присутствует.
Чтобы маршрут по умолчанию измнился на желаемый нужно удалить старый маршрут из таблицы маршрутизации
no ip default-gateway 192.168.1.1

четверг, 24 декабря 2020 г.

Миграция или обновление до актуальной версии FreePBX без использования convert.freepbx.org

Раньше для миграции со старых версий FreePBX на актуальную можно было использовать специальный сервис, который располагался по адресу https://convert.freepbx.org, но теперь он закрыт и альтернативы для него создано не будет. Сервис использовался для миграции со старых версий FreePBX Distro, работавших на виртуальных машинах Hyper-V, т.к. скрипт обновления FreePBX Distro до актульной версии не работет на Hyper-V, либо с FreePBX, установленных на других дистрибутивах, в качестве отдельного приложения.

Если же всё-таки нужно обновить FreePBX до актуальной версии, то не будем отчаиваться и опускать руки, а сделаем всё самостоятельно.

среда, 16 декабря 2020 г.

Ошибка при обновлении Zabbix: "Неподдерживаемая кодовая страница"

После очередного обновления в веб-интерфейсе Zabbix появилось сообщение
Неподдерживаемая кодовая страница или тип сравнения для таблиц: < длинный список таблиц >
то же самое на английском
Unsupported charset or collation for tables: < длинный список таблиц >
и в логе
character set name or collation name that is not supported by Zabbix found in 379 column(s) of database "zabbix", only character set "utf8" and collation "utf8_bin" should be used in database
Это происходит из-за того, что в базе данных MySQL используется кодировка отличная от utf-8. Исправляется это буквално за несколько минут.

вторник, 27 октября 2020 г.

Миграция Jira с H2 на PostgreSQL

Если при устновке Jira Software была выбрана встроенная СУБД H2, а не внешняя, то со временем увеличение объёма данных может отрицательно сказаться на производительности сервиса. В моём конкретном случаем размер файла /var/atlassian/application-data/jira/database/h2db.mv.db приблизился к 5 Гб, что вызывало огромные задержки при выполнении любых действий. Чтобы решить эту проблему было принято решение перенести данные на полноценную СУБД - PostgreSQL. Ставить PostgreSQL будем на тот же сервер, на котором запущена Jira.

пятница, 23 октября 2020 г.

Запись видеоконференций Jitsi Meet с помощью Jibri, запущенного в docker-контейнере

Процесс установки и настройки сервиса видеоконференций Jitsi Meet был описан в одной из предыдущих заметок. Указанная в той заметке конфигурация срвиса была лишена одной немаловажной возможности, а именно возможности вести видеозапись конференции. За наличие этой возможности отвечает сервис Jibri (JItsi BRoadcasting Infrastructure). Его настройка и будет описана далее.

Специфика работы Jibri такова, что один экземпляр этой службы может записывать только одну конференцию. Это происходит из-за того, что при нажатии кнопки "Начать запись" Jibri подключается к конференции как участник и после этого записывает видео. Чтобы решить эту проблему и не плодить при этом серверы с Jibri будем использовать docker-контейнеры.

четверг, 22 октября 2020 г.

Использование SSL-сертификатов Let's Encrypt из репозитория GitLab на Zimbra Collaboration OSE

В предыдущей заметке был описан механизм загрузки SSL-сертификатов Let's Encrypt в репозиторий GitLab. Теперь доставим эти сертификаты на сервер Zimbra Collaboration Open Source Edition. Сертификаты и закрытый ключ хранятся в репозитории, так что триггером для запуска процесса обновления сертификатов на почтовом сервере будет служить наличие нового коммита в нём. Скрипт будет запускаться на почтовом сервере и рассчитан на использование в случае, когда один сервер Zimbra обслуживает один почтовый домен.

вторник, 20 октября 2020 г.

Ошибка git "fatal: unable to access 'https://...': Peer's Certificate issuer is not recognized."

При выполнениии команды git clone https://адрес репозитория.git появляется ошибка
fatal: unable to access 'https://адрес репозитория.git': Peer's Certificate issuer is not recognized.
или
fatal: unable to access 'https://адрес репозитория.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
Это происходит из-за того, что на машине, где выполняется команда, отсутствует доверие к корневому центру сертификации, выдавшему SSL-сертификат, используемый сервером.
Решить это можно 2 путями.

понедельник, 19 октября 2020 г.

Хранение и автоматическая загрузка сертификатов Let's Encrypt в репозиторий GitLab

Let's Encrypt предоставляет удобный сервис для получения бесплатного SSL-сертификата, но у него есть один нюанс, сертификат выпускается со сроком действия 90 дней. Это не будет вызвать каких-либо неудобств, если сертификат используется на той же машине, на которой происходит его выпуск и обновление. В случае же, если получается wildcard-сертификат, то он будет использоваться и на других машинах, так что нужно его как-то туда доставить.
Первое, что нужно решить, это определить место хранения сертификата, доступное с любой дугой машины. Решено было использовать для этого репозиторй на локальном GitLab. Это даёт возможность контролировать версионность файлов и откатить изменения, в случае ошибки, чего не позволяет использование обычного общего smb-ресурса.

четверг, 15 октября 2020 г.

Конвертация образов дисков виртуальных машин

Для переноса виртуальной машины с одного гипервизора на другой может потребоваться конвертация образа диска этой виртуальной машины. С этой задачей на отлично справляется qemu-img. Програма поддерживает форматы дисков для всех распространённых гипервизоров:
  • KVM, Xen - qcow2
  • VMware - vmdk
  • Hyper-V - vhd, vhdx
  • VirtualBox - vdi
Так же возможна конвертация образов дисков, созданных с помощью dd.

среда, 14 октября 2020 г.

Локальный сервер обновлений 2ГИС на Linux

По непонятной причине 2ГИС удалили со своего сайта инструкцю по настройке локального сервера обновлений на Linux для ПК-версии своего продукта. Если что-то было в интернете, то WebArchive это точно помнит, так что инструкция всё ещё доступна, если знать где искать. В случае с Linux локальный сервер обнвлений из себя представляет обычный Nginx, работающий в качестве кеширующего прокси.

среда, 7 октября 2020 г.

Квадраты вместо русских букв в консоли CentOS 8

Зайдя в консоль свежеустановленного CentOS 8 можно увидеть вместо русских букв квадраты.
Чтобы это исправить нужно выполинть команду
setfont UniCyr_8x16
Чтобы эффект сохранился после перезагрузки нужно файл /etc/vconsole.conf привести к виду
KEYMAP="ru"
FONT="UniCyr_8x16"

Установка временной зоны в CentOS

Настроить временную зону можно с помощью timedatectl.
Список доступных зон можно увидеть выполнив команду
timedatectl list-timezones
Установка необходимой временной зоны:
timedatectl set-timezone Asia/Yekaterinburg
Проверить результат:
timedatectl status

               Local time: Ср 2020-10-07 16:02:26 +05
           Universal time: Ср 2020-10-07 11:02:26 UTC
                 RTC time: Ср 2020-10-07 16:02:25
                Time zone: Asia/Yekaterinburg (+05, +0500)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

пятница, 25 сентября 2020 г.

Установка и настройка GitLab Community Edition с авторизацией пользователей в ActiveDirectory

В данной заметке будет описан процесс установки GitLab Community Edition на CentOS 8 и настройки его для авторизации пользователей в Active Directory. Мануалов по установке и настройке GitLab множество, просто запишу все необходимые этапы в одном месте.

среда, 12 августа 2020 г.

Миграция контроллера HYCU на другой кластер Nutanix AHV

В руководстве пользователя HYCU процесс миграции контроллера резервного копирования с одного кластера на другой описан следующим образом:
  1. Поднимите временный контроллер резервного копирования HYCU;
  2. Предоставьте временному контроллеру HYCU доступ к кластерам Nutanix, с которого будет переноситься существующая виртуальная машина HYCU, и на который она будет переноситься;
  3. Зайдите в веб-интерфейс HYCU и переведите контроллер в состояние Suspend All, для этого нажмите на кнопку шестерни и выберте соответствующий пункт в меню Power Options;
  4. Зайдите в веб-интерфейс временного контроллера HYCU и сделайте резервную копию виртуальной машины HYCU, после чего восстановите эту виртуальную машину на новый кластер;
  5. Выключите оригинальную виртуальную машину HYCU на старом кластере;
  6. Включите восстановленную виртуальную машину HYCU на новом кластере;
  7. Переведите новый контроллер резервного копирования в состояние Resume, выбрав соответствующий пункт в меню Power Options.
Если следовать этой инструкции, то контроллер HYCU будет пернесён на новый кластер и будет исправно функционировать, но при этом на нём будет недоступно последующее обновление ПО.

вторник, 7 июля 2020 г.

Завершение всех экземпляров приложения

Чтобы завершить все экземпляры приложения, например Google Chrome, нужно от имени администратора запустить командрую строку и выполнить команду
taskkill /IM "chrome" /F
то же самое на PowerShell, тоже от имени администратора

Stop-Process -Name "chrome" -Force