Я тут на днях решил попробовать OpenVZ, однако не могу определиться с выбором. Всё началось с того, что я не смог пробросить сокет с хоста в свежесозданный OpenVZ-контейнер:
ln /var/run/mysqld/mysqld.sock /vz/private/11/var/run/mysqld/mysqld.sock
ln: failed to create hard link `/vz/private/11/var/run/mysqld/mysqld.sock' => `/var/run/mysqld/mysqld.sock': Invalid cross-device link
Из-за различных фс не линкуется.
На офф сайте (http://openvz.org/Shared_webhosting) есть мануал, как прокидывать сокет между OpenVZ-контейнерами, а вот насчет связи хоста и контейнера ничего нет, поэтому обращаюсь к специалистам с вопросом: не понизится ли производительность, если перенести mysql сервер с хостовой машины в OpenVZ-контейнер, да и стоит вообще переносить, может есть решение?
p.s. интересует только связь через mysql-сокет, а не посредством TCP-соединения.
Приветствую.
Есть 1-й сервер, не имеющий прямого доступа к интернету.
Есть 2-й сервер с динамическим IP (в примере ниже пусть будет 1.2.3.4), имеющий прямой доступ к интернету.
Есть программа, не имеющая исходников, не работающая через всякие соксификаторы и проверяющая свою лицензию через интернет.
Так как в данный момент проверка лицензии идет по единственному статичному IP-адресу, я сделал на 2-м сервере port-mapping на IP сервера лицензии, а на 1-м сервере прописал в /etc/hosts соответствующую строчку:
license.server.ip 1.2.3.4
Теперь, при каждом изменении IP-адреса у 2-го сервера мне приходится менять вышеприведенную строку на 1-м сервере.
Конечно, есть простой вариант - написать скрипт, добавить в крон, но хочется решить вышеописанную проблему каким-то правильным способом.
p.s. к DNS-серверу доступа нет, а свой поднимать не хочу ради подмены одной записи.
Имеются две серверные машины, которые держат веб-портал. Поддомены раскиданы по обеим машинам, для снижения общей нагрузки. Отказоустойчивость тихо плачет в сторонке Решил сделать отказоустойчивый кластер на базе этих двух машин.
Текущая архитектура: фронтенд nginx (на обеих серверах), бэкенд php-fpm (на обеих серверах). Машины связаны линком в 1 гигабит, однако обе имеют отдельный внешний канал.
Предполагаемая архитектура: HAProxy (на первой машине) на внешнем интерфейсе и фронтенды (nginx) + бэкенды (php-fpm) на локальных.
Специально хочу уточнить, что идея с RRDNS режется на корню кэширующими серверами провайдеров, отдающих единственный IP. Поэтому принято решение использовать балансировщик нагрузки HAProxy на первую серверную машину (она имеет более широкий канал).
То есть в теории будет так: запрос клиент попадает на балансировщик, который отправляет запрос на одну из нод. В случае отказа второй ноды балансировщик будет использовать только первую ноду, в случае отказа первой ноды (и балансировщика), увы, придется менять A-записи на неймсерверах и поднимать nginx на внешнем интерфейсе.
Однако, плюс этого решения в том, что все поддомены (сайты) будут доступны, а не только часть с работающего сервера (как это сейчас).
Возможно, мое решение не совсем верное и я хотел бы услышать ваши советы по этому поводу, но, как я понимаю, в данном случае отказоустойчивость предполагает наличие распределенной файловой системы, имеющей поддержку двусторонней репликации (так как придется хранить полные копии сайтов на обеих машинах, а также синхронизировать все изменения). Поэтому мне наиболее интересен именно этот момент и я жду ваших советов по выбору такой фс (отмечу, что сайты в большинстве содержат мелкие файлы, сильно крупных нет, максимум в 10-15 мегабайт, а в среднем не превышая мегабайт).
Есть 2 идентичных сервера с примерно одинаковой сетевой нагрузкой. Исходя из нижеприведенных графиков, скажите, как вы думаете, сетевые настройки какого из серверов более правильные и почему.
Здравствуйте. К примеру, на пути к серверам стоит файр, который дропает ЧАСТЬ пакетов от клиентов к этим серверам. Каким образом можно проверить с клиента, сколько/какой процент пакетов дропается на определенный порт назначения сервера? То есть что-то вроде пинга, только по TCP/UDP?