UCARP — реализация протокола отказоустойчивой маршрутизации CARP в пространстве пользователя (user-space) CARP (Common Address Redundancy Protocol) позволяет сделать так, чтобы у нескольких хостов в одной сети (широковещательном домене) был общий IP-адрес. Эта группа хостов называется группой избыточности (redundancy group). Группе назначается один IP-адрес, которые используется совместно (но не одновременно!) всеми членами этой группы. Внутри группы […]
Архивы за месяц Август, 2016
Настройка отказоустойчивого IP-адреса на основе Ucarp на Debian/Ubuntu
Установка и настройка нескольких экземпляров Odoo на одном сервере с использованием Nginx в качестве proxy-сервера на Ubuntu14
Установим две копии Odoo с разными системными пользователями, разными PostgreSQL-пользователями, разными базами данных, на разных xml-портах. В качестве frontend-сервера установим Nginx, который будет проксировать запросы на Odoo-приложения. 1.Установка всех необходимых зависимостей/пакетов
1 |
# apt-get install subversion git bzr bzrtools python-pip postgresql postgresql-server-dev-9.3 python-all-dev python-dev python-setuptools libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev pkg-config libtiff5-dev libjpeg8-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev python-tk libyaml-dev fontconfig |
2.Добавление системного пользовател(odoo) и создание необходимых каталогов
1 |
# adduser --system --home=/opt/odoo --group odoo |
Создание каталога для хранения лог-файлов Odoo
1 |
# mkdir /var/log/odoo |
Создание каталога для установки в него Odoo-приложения […]
Установка и настройка LXC на Ubuntu14
1.Установка LXC
1 |
# apt-get install lxc |
При установке LXC автоматически установятся необходимые пакеты, такие как
1 |
bridge-utils debootstrap cgmanager |
и др. Базовая конфигурация сети, которая применяется к контейнерам при их создании находится в файле /etc/lxc/default.conf Например
1 |
# cat /etc/lxc/default.conf |
1 2 3 4 |
lxc.network.type = veth lxc.network.link = lxcbr0 lxc.network.flags = up lxc.network.hwaddr = 00:16:3e:xx:xx:xx |
После установки LXC на хосте автоматически поднимается интерфейс типа Bridge lxcbr0 Когда USE_LXC_BRIDGE установлена в true в файле /etc/default/lxc (как устанавливается по умолчанию), […]
Установка и настройка HAProxy на Debian/Ubuntu
Установка HAProxy Debian8
1 |
# echo "deb http://httpredir.debian.org/debian jessie-backports main" >> /etc/apt/sources.list.d/backports.list |
1 |
# apt-get update |
1 |
# apt-get install haproxy -t jessie-backports |
Debian7
1 |
# echo "deb http://cdn.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list.d/backports.list |
1 |
# apt-get update |
1 |
# apt-get install haproxy -t wheezy-backports |
Ubuntu14
1 |
# apt-get install haproxy |
Либо
1 |
echo "deb http://archive.ubuntu.com/ubuntu trusty-backports main universe" >> /etc/apt/sources.list.d/backports.list |
1 |
# apt-get update |
1 |
# apt-get install haproxy -t trusty-backports |
2.Настройка логирования HAProxy Настройка HAProxy
1 |
# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg~ |
1 |
# nano /etc/haproxy/haproxy.cfg |
1 2 |
global log 127.0.0.1 local2 notice |
Настройка Rsyslog
1 |
# nano /etc/rsyslog.conf |
1 2 3 4 5 6 |
# provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 $UDPServerAddress 127.0.0.1 #### RULES #### local2.* /var/log/haproxy.log |
1 |
# /etc/init.d/rsyslog restart |
1 |
[ ok ] Restarting rsyslog (via systemctl): rsyslog.service. |
3.Настройка HAProxy
1 |
# nano /etc/haproxy/haproxy.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
###### Описание секции global ####### global # системный лог сервера, в который нужно отправлять предупреждения и извещения log 127.0.0.1 local2 notice # Запуск HAProxy в chroot-окружении chroot /var/lib/haproxy # пользователь и группа, от которых работает процесс user haproxy group haproxy # Запуск HAProxy как сервиса daemon # количество одновременных подключений на внешнем интерфейсе(максимальное число одновременных подключений для каждого процесса) maxconn 10000 # nbproc «number» (nbproc 2) — задает количество проццессов. По умолчанию только один процесс будет создан # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private # Default ciphers to use on SSL-enabled listening sockets. # For more information, see ciphers(1SSL). This list is from: # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS ssl-default-bind-options no-sslv3 ####### Описание секции defaults ####### defaults # Включает в журналирование информацию о трафике log global # Режим работы HAProxy, в http режиме происходит анализ Layer 7 трафика mode http # Добавляет в лог HTTP запросы, состояние сеанса и таймеры option httplog # Отключает логирование пустых соединений option dontlognull # количество повторных попыток подключения к backend-серверу после сбоя подключения. retries 3 # перераспределение сессии в случае сбоев соединения c каким-либо backend-сервером option redispatch # количество одновременных подключений на внешнем интерфейсе(максимальное число одновременных подключений для каждого процесса) maxconn 10000 # автоматически закрывать соединения после завершения передачи данных option httpclose # Включение X-Forwarded-For для передачи IP-адреса клиента backend-серверу option forwardfor # максимальное время ожидания для успешного подключения к серверу timeout connect 5000 # когда клиент или сервер должны подтвердить приём данных или отправить данные в TCP-процессе. Рекомендуется установить для них одинаковое значение timeout client 50000 timeout server 50000 # Включение страницу статистики stats enable # URL, по которому доступна статистика Haproxy stats uri /haproxy # Заголовок странички статистики stats realm Haproxy\ Statistics # HTTP-базовая авторизация логин/пароль для просмотра статистики HAProxy stats auth admin:123456 # Автообновление статики каждые 30 секунд stats refresh 30s # Скрывать версию HAProxy в статистике # stats hide-version # Отображение в статистеке дополнительной информацию о параметрах # stats show-legends # stats show-node # Определение страниц ошибок errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http ####### Описание секции frontend ####### # Имя Frontend-сервера frontend WEBLoadBalancer-HTTP # Режим работы фронтенда mode http # IP-адрес и порт, на котором будет слушать запроcы HApoxy bind 10.10.1.43:80 # Имя Backend-сервера, на который необходимо направлять запросы default_backend webcluster ####### Описание секции backend ####### # Имя Backend-сервера backend webcluster # Режим работы backend-сервера mode http # Алгоритм балансировки запросов # roundrobin/leastconn/static-rr/uri/source/url_param balance roundrobin option httpclose option forwardfor # Проверка состояния/доступности backend-серверов option httpchk HEAD /test.php HTTP/1.0 # например,если нужно мониторить доступность виртуального хоста # option httpchk HEAD / HTTP/1.0\r\nHost:kamaok.org.us # сервера бэкенда # синтаксис server <name> <address>[:port] [param*] # name - будет появляться в логах и предупреждениях. # check - проверку состояния сервера через проверку,определенную параметром httpchk # cookie - вставка имени сервера(name) в занчение cookie server app01 192.168.10.54:80 check server app02 192.168.10.55:80 check server app03 192.168.10.56:80 check http-request add-header X-Forwarded-Proto https if { ssl_fc } |
Вся статистика по кластеру HAproxy становится доступна по адресу http://IP-haproxy-server/haproxy с логином и паролем,указанными в параметре stats auth Доступность […]