# Настройка скриптов для учёта кратковременных обрывов связи

Для настройки учёта кратковременных обрывов связи необходимо выполнить следующие шаги:

1. Предварительно следует создать каталог /opt/wisla5/scripts/ на серверах ЦОД1 и ЦОД2. Владельцем каталогов должен быть пользователь wisla. На серверах wislaserver03 и wislaserver06 эти каталоги будут созданы автоматически после установки wiSLA. Далее приведена команда для создания каталога:  
    ```bash
    mkdir -p /opt/wisla5/scripts
    ```
    
    Архив со скриптами можно загрузить по ссылке ftp://ftp.wellink.ru/Deploies/Centos/cluster/failover\_scripts.tar.gz, скопировать на любой из серверов кластера для пользователя wisla и распаковать с помощью команды:  
    ```bash
    tar zxvf failover_scripts.tar.gz
    ```
    
    Владельцем скриптов и конфигурационных файлов должен быть пользователь wisla.
2. На сервере wislaserver04 в каталоге /opt/wisla5/pgpool/current/sbin/ переименовать файл ifconfig на ifconfig1 с помощью команды:  
    ```bash
    sudo mv /opt/wisla5/pgpool/current/sbin/ifconfig /opt/wisla5/pgpool/current/sbin/ifconfig1
    ```
3. Скопировать скрипты на сервера контура.  
    Для копирования рекомендуется использовать консольную утилиту scp. Пример команды копирования:  
    ```bash
    scp TRUSTED_SERVERS wisla@wislaserver01:/opt/wisla5/scripts/
    ```
    
    В примере администратор находится в каталоге с распакованными скриптами, копирует файл  
    TRUSTED\_SERVERS на сервер wislaserver01 в каталог /opt/wisla5/scripts/.  
    <span style="color: rgb(35, 111, 161);">Таблица 7 – Размещение скриптов для учёта кратковременных обрывов связи.</span>  
    <table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; width: 100%; border-spacing: 0px; height: 522.042px;"><tbody><tr style="height: 23.7292px;"><td style="width: 26.8846%; border: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="160">**Сервер**
    
    </td><td style="width: 40.327%; border-top: 1pt solid black; border-right: 1pt solid black; border-bottom: 1pt solid black; border-image: initial; border-left: none; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">**Файл**
    
    </td><td style="width: 32.7751%; border-top: 1pt solid black; border-right: 1pt solid black; border-bottom: 1pt solid black; border-image: initial; border-left: none; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">**Путь**
    
    </td></tr><tr style="height: 23.7292px;"><td rowspan="6" style="width: 26.8846%; border-right: 1pt solid black; border-bottom: 1pt solid black; border-left: 1pt solid black; border-image: initial; border-top: none; padding: 0cm 5.4pt; height: 142.375px;" valign="top" width="160">wislaserver01
    
    </td><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">TRUSTED\_SERVERS</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">isolation\_test.sh</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">pgpool\_connect.sh
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">DATA\_PROCESSING\_CENTER\_SERVERS
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/pgpool/current/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">TRUSTED\_SERVERS
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/pgpool/current/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">failover.sh
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198"><span lang="EN-US" style="mso-ansi-language: EN-US;">/opt/wisla</span>5<span lang="EN-US" style="mso-ansi-language: EN-US;">/pgpool/current/</span>
    
    </td></tr><tr style="height: 23.7292px;"><td rowspan="2" style="width: 26.8846%; border-right: 1pt solid black; border-bottom: 1pt solid black; border-left: 1pt solid black; border-image: initial; border-top: none; padding: 0cm 5.4pt; height: 47.4584px;" valign="top" width="160">wislaserver02
    
    </td><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">TRUSTED\_SERVERS</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">isolation\_test.sh</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td rowspan="2" style="width: 26.8846%; border-right: 1pt solid black; border-bottom: 1pt solid black; border-left: 1pt solid black; border-image: initial; border-top: none; padding: 0cm 5.4pt; height: 47.4584px;" valign="top" width="160">wislaserver03
    
    </td><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">TRUSTED\_SERVERS</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">isolation\_test.sh</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td rowspan="7" style="width: 26.8846%; border-right: 1pt solid black; border-bottom: 1pt solid black; border-left: 1pt solid black; border-image: initial; border-top: none; padding: 0cm 5.4pt; height: 166.104px;" valign="top" width="160">wislaserver04
    
    </td><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">TRUSTED\_SERVERS</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">isolation\_test.sh</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">pgpool\_connect.sh
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">DATA\_PROCESSING\_CENTER\_SERVERS
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/pgpool/current/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">TRUSTED\_SERVERS
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/pgpool/current/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">failover.sh
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/pgpool/current/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280">ifconfig
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198"><span lang="EN-US" style="mso-ansi-language: EN-US;">/opt/wisla5/pgpool/current/sbin/</span>
    
    </td></tr><tr style="height: 23.7292px;"><td rowspan="2" style="width: 26.8846%; border-right: 1pt solid black; border-bottom: 1pt solid black; border-left: 1pt solid black; border-image: initial; border-top: none; padding: 0cm 5.4pt; height: 47.4584px;" valign="top" width="160">wislaserver05
    
    </td><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">TRUSTED\_SERVERS</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">isolation\_test.sh</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td rowspan="2" style="width: 26.8846%; border-right: 1pt solid black; border-bottom: 1pt solid black; border-left: 1pt solid black; border-image: initial; border-top: none; padding: 0cm 5.4pt; height: 47.4584px;" valign="top" width="160">wislaserver06
    
    </td><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">TRUSTED\_SERVERS</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr><tr style="height: 23.7292px;"><td style="width: 40.327%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="280"><span lang="EN-US" style="mso-ansi-language: EN-US;">isolation\_test.sh</span>
    
    </td><td style="width: 32.7751%; border-top: none; border-left: none; border-bottom: 1pt solid black; border-right: 1pt solid black; padding: 0cm 5.4pt; height: 23.7292px;" valign="top" width="198">/opt/wisla5/scripts/
    
    </td></tr></tbody></table>
4. Сконфигурировать файлы со списком серверов и скрипты. Файл должен завершаться пустой строкой. Редакторы vi (vim) и nano делают это автоматически при сохранении файла.  
    **wislaserver01:**  
    В файле /opt/wisla5/scripts/TRUSTED\_SERVERS указать список серверов ЦОД2 и третью точку опоры:  
    ```bash
    wislaserver04
    wislaserver05
    wislaserver06
    wislaserver07
    ```
    
    В файле /opt/wisla5/pgpool/current/DATA\_PROCESSING\_CENTER\_SERVERS указать список  
    серверов ЦОД1:  
    ```bash
    wislaserver01
    wislaserver02
    wislaserver03
    ```
    
    В файле /opt/wisla5/pgpool/current/TRUSTED\_SERVERS указать третью точку опоры:  
    ```bash
    wislaserver07
    ```
    
    В конфигурационном файле /opt/wisla5/pgpool/current/etc/pgpool.conf в опции trusted\_servers (по умолчанию строка 442) указать сервер с pgpool ЦОД2 и третью точку опоры:  
    ```bash
    trusted_servers = 'wislaserver04,wislaserver07'
    ```
    
    **wislaserver02:**  
    В файле /opt/wisla5/scripts/TRUSTED\_SERVERS указать список серверов ЦОД2 и третью точку опоры:  
    ```bash
    wislaserver04
    wislaserver05
    wislaserver06
    wislaserver07
    ```
    
    <div>**wislaserver03:**</div>В файле /opt/wisla5/scripts/TRUSTED\_SERVERS указать список серверов ЦОД2 и третью точку опоры:  
    ```bash
    wislaserver04
    wislaserver05
    wislaserver06
    wislaserver07
    ```
    
    **wislaserver04:**  
    В файле /opt/wisla5/scripts/TRUSTED\_SERVERS указать список серверов ЦОД1 и третью точку опоры:  
    ```bash
    wislaserver01
    wislaserver02
    wislaserver03
    wislaserver07
    ```
    
    В файле /opt/wisla5/pgpool/current/DATA\_PROCESSING\_CENTER\_SERVERS указать список серверов ЦОД2:  
    ```bash
    wislaserver04
    wislaserver05
    wislaserver06
    ```
    
    В файле /opt/wisla5/pgpool/current/TRUSTED\_SERVERS указать третью точку опоры:  
    ```bash
    wislaserver07
    ```
    
    В скрипте /opt/wisla5/pgpool/current/sbin/ifconfig указать (отредактировать) дополнительный IPадрес, который был зарезервирован для работы pgpool:  
    ```bash
    PGPOOL_ALIAS="192.168.1.110"
    ```
    
    В конфигурационном файле /opt/wisla5/pgpool/current/etc/pgpool.conf в опции trusted\_servers (строка 442) указать сервер с pgpool ЦОД1 и третью точку опоры:  
    ```bash
    trusted_servers = 'wislaserver01,wislaserver07'
    ```
    
    **wislaserver05:**  
    В файле /opt/wisla5/scripts/TRUSTED\_SERVERS указать список серверов ЦОД1 и третью точку опоры:  
    ```bash
    wislaserver01
    wislaserver02
    wislaserver03
    wislaserver07
    ```
    
    **wislaserver06:**  
    В файле /opt/wisla5/scripts/TRUSTED\_SERVERS указать список серверов ЦОД1 и третью точку опоры:  
    ```bash
    wislaserver01
    wislaserver02
    wislaserver03
    wislaserver07
    ```
    
    Добавить в crontab задачи на запуск скриптов. Для этого под пользователем wisla нужно выполнить команду:  
    ```
    crontab -e
    ```
    
      
    Открывается конфигурация cron для пользователя wisla в редакторе vim.  
    **wislaserver01:**  
    ```bash
    */1 * * * * /opt/wisla5/scripts/isolation_test.sh
    */1 * * * * /opt/wisla5/scripts/pgpool_connect.sh
    ```
    
    **wislaserver02:**  
    ```bash
    */1 * * * * /opt/wisla5/scripts/isolation_test.sh
    ```
    
    **wislaserver03:**  
    ```bash
    */1 * * * * /opt/wisla5/scripts/isolation_test.sh
    ```
    
    **wislaserver04:**  
    ```bash
    */1 * * * * /opt/wisla5/scripts/isolation_test.sh
    */1 * * * * /opt/wisla5/scripts/pgpool_connect.sh
    ```
    
    **wislaserver05:**  
    ```bash
    */1 * * * * /opt/wisla5/scripts/isolation_test.sh
    ```
    
    **wislaserver06:**  
    ```bash
    */1 * * * * /opt/wisla5/scripts/isolation_test.sh
    ```
    
    Перезапустить систему, используя программу установки wiSLA – в разделе Maintenance вначале выполнить «Stop all», затем «Start all».