| 408 | | == Настраиваем общий адрес == |
| 409 | | |
| 410 | | Общий адрес - это IP адрес, используя который один из двух серверов (активный) будет предоставлять сервис. Пусть для определенности это будет адрес {{{192.168.0.63}}}. |
| 411 | | |
| 412 | | Для начала установим пакет arping: |
| 413 | | |
| 414 | | {{{ |
| 415 | | $ sudo apt-get install arping |
| 416 | | }}} |
| 417 | | |
| 418 | | В файле /etc/network/interfaces обоих серверов добавляем настройку для общего адреса: |
| 419 | | |
| 420 | | {{{ |
| 421 | | iface eth0:0 inet static |
| 422 | | address 192.168.0.63 |
| 423 | | netmask 255.255.255.0 |
| 424 | | }}} |
| 425 | | |
| 426 | | где вместо "eth0" следует вписать имя используемого сетевого интерфейса. |
| 427 | | |
| 428 | | Отредактируем файл /etc/default/arping, вписав в него {{{IPUP=1}}} и {{{DOWN=1}}}. |
| 429 | | |
| 430 | | На первом сервере выполняем команду |
| 431 | | |
| 432 | | {{{ |
| 433 | | $ sudo ifup eth0:0 |
| 434 | | }}} |
| 435 | | |
| 436 | | Выполнение этой команды на втором сервере должно дать ошибку, так как адрес уже присутствует в сети: |
| 437 | | |
| 438 | | {{{ |
| 439 | | $ sudo ifup eth0:0 |
| 440 | | * Using arping to check duplicity of 192.168.0.63... |
| 441 | | ...fail! |
| 442 | | run-parts: /etc/network/if-up.d/arping exited with return code 1 |
| 443 | | Failed to bring up eth0:0. |
| 444 | | }}} |
| 445 | | |
| 446 | | Теперь необходимо изменить настройки odbc таким образом, чтобы оба сервера !FreeSwitch подключались к базе данных используя общий адрес и, таким образом, подключались к одному и тому же серверу mysql. Для этого в ранее созданном файле /etc/odbc.ini указываем адрес сервера {{{192.168.0.63}}}. |
| 447 | | |
| 448 | | Устанавливаем параметр sysctl net.ipv4.ip_nonlocal_bind в значение 1 чтобы дать возможность неактивному серверу !FreeSwitch слушать адрес, отсутствующий на его интерфейсах: |
| 449 | | |
| 450 | | {{{ |
| 451 | | $ sudo sysctl net.ipv4.ip_nonlocal_bind=1 |
| 452 | | }}} |
| 453 | | |
| 454 | | Для автоматической установки этого значения в файл /etc/sysctl.conf добавляем строку |
| 455 | | |
| 456 | | {{{ |
| 457 | | net.ipv4.ip_nonlocal_bind=1 |
| 458 | | }}} |
| 459 | | |
| 460 | | В конфигурации профилей !FreeSwitch устанавливаем параметры {{{sip-ip}}}, {{{rtp-ip}}}, {{{presence-hosts}}}, {{{ext-sip-ip}}} и {{{ext-rtp-ip}}} в значение {{{192.168.0.63}}}. |
| 461 | | |
| 462 | | Теперь можно запустить сервера !FreeSwitch: |
| 463 | | |
| 464 | | {{{ |
| 465 | | $ sudo service freeswitch start |
| 466 | | }}} |
| 467 | | |
| 598 | | На данном этапе у нас настроен переход сервера из резерва в активное состояние по единственному критерию - недоступности мастера, определяемой по протоколу VRRP. Теперь добавим сюда контроль работоспособности !FreeSwitch. Для этого создаем скрипт /etc/keepalived/ka-status.sh: |
| | 540 | Теперь необходимо изменить настройки odbc таким образом, чтобы оба сервера !FreeSwitch подключались к базе данных используя общий адрес и, таким образом, подключались к одному и тому же серверу mysql. Для этого в ранее созданном файле /etc/odbc.ini указываем адрес сервера {{{192.168.0.63}}}. |
| | 541 | |
| | 542 | Устанавливаем параметр sysctl net.ipv4.ip_nonlocal_bind в значение 1 чтобы дать возможность неактивному серверу !FreeSwitch слушать адрес, отсутствующий на его интерфейсах: |
| | 543 | |
| | 544 | {{{ |
| | 545 | $ sudo sysctl net.ipv4.ip_nonlocal_bind=1 |
| | 546 | }}} |
| | 547 | |
| | 548 | Для автоматической установки этого значения в файл /etc/sysctl.conf добавляем строку |
| | 549 | |
| | 550 | {{{ |
| | 551 | net.ipv4.ip_nonlocal_bind=1 |
| | 552 | }}} |
| | 553 | |
| | 554 | В конфигурации профилей !FreeSwitch устанавливаем параметры {{{sip-ip}}}, {{{rtp-ip}}}, {{{presence-hosts}}}, {{{ext-sip-ip}}} и {{{ext-rtp-ip}}} в значение {{{192.168.0.63}}}. |
| | 555 | |
| | 556 | Теперь можно запустить сервера !FreeSwitch: |
| | 557 | |
| | 558 | {{{ |
| | 559 | $ sudo service freeswitch start |
| | 560 | }}} |
| | 561 | |
| | 562 | На данном этапе у нас настроен переход сервера из резерва в активное состояние по единственному критерию - недоступности мастера, определяемой по протоколу VRRP. Теперь добавим сюда контроль работоспособности !FreeSwitch. Для этого сначала установим пакет arping: |
| | 563 | |
| | 564 | {{{ |
| | 565 | $ sudo apt-get install arping |
| | 566 | }}} |
| | 567 | |
| | 568 | Теперь создадим скрипт /etc/keepalived/ka-status.sh: |
| | 642 | |
| | 643 | В этой схеме сервер, на котором поднят общий адрес, определяется командами администратора. Общий адрес - это IP адрес, используя который один из двух серверов (активный) будет предоставлять сервис. Пусть для определенности это будет адрес {{{192.168.0.63}}}. |
| | 644 | |
| | 645 | Для начала установим пакет arping: |
| | 646 | |
| | 647 | {{{ |
| | 648 | $ sudo apt-get install arping |
| | 649 | }}} |
| | 650 | |
| | 651 | В файле /etc/network/interfaces обоих серверов добавляем настройку для общего адреса: |
| | 652 | |
| | 653 | {{{ |
| | 654 | iface eth0:0 inet static |
| | 655 | address 192.168.0.63 |
| | 656 | netmask 255.255.255.0 |
| | 657 | }}} |
| | 658 | |
| | 659 | где вместо "eth0" следует вписать имя используемого сетевого интерфейса. |
| | 660 | |
| | 661 | Отредактируем файл /etc/default/arping, вписав в него {{{IPUP=1}}} и {{{DOWN=1}}}. |
| | 662 | |
| | 663 | На первом сервере выполняем команду |
| | 664 | |
| | 665 | {{{ |
| | 666 | $ sudo ifup eth0:0 |
| | 667 | }}} |
| | 668 | |
| | 669 | Выполнение этой команды на втором сервере должно дать ошибку, так как адрес уже присутствует в сети: |
| | 670 | |
| | 671 | {{{ |
| | 672 | $ sudo ifup eth0:0 |
| | 673 | * Using arping to check duplicity of 192.168.0.63... |
| | 674 | ...fail! |
| | 675 | run-parts: /etc/network/if-up.d/arping exited with return code 1 |
| | 676 | Failed to bring up eth0:0. |
| | 677 | }}} |
| | 678 | |
| | 679 | Теперь необходимо изменить настройки odbc таким образом, чтобы оба сервера !FreeSwitch подключались к базе данных используя общий адрес и, таким образом, подключались к одному и тому же серверу mysql. Для этого в ранее созданном файле /etc/odbc.ini указываем адрес сервера {{{192.168.0.63}}}. |
| | 680 | |
| | 681 | Устанавливаем параметр sysctl net.ipv4.ip_nonlocal_bind в значение 1 чтобы дать возможность неактивному серверу !FreeSwitch слушать адрес, отсутствующий на его интерфейсах: |
| | 682 | |
| | 683 | {{{ |
| | 684 | $ sudo sysctl net.ipv4.ip_nonlocal_bind=1 |
| | 685 | }}} |
| | 686 | |
| | 687 | Для автоматической установки этого значения в файл /etc/sysctl.conf добавляем строку |
| | 688 | |
| | 689 | {{{ |
| | 690 | net.ipv4.ip_nonlocal_bind=1 |
| | 691 | }}} |
| | 692 | |
| | 693 | В конфигурации профилей !FreeSwitch устанавливаем параметры {{{sip-ip}}}, {{{rtp-ip}}}, {{{presence-hosts}}}, {{{ext-sip-ip}}} и {{{ext-rtp-ip}}} в значение {{{192.168.0.63}}}. |
| | 694 | |
| | 695 | Теперь можно запустить сервера !FreeSwitch: |
| | 696 | |
| | 697 | {{{ |
| | 698 | $ sudo service freeswitch start |
| | 699 | }}} |