LINUX.ORG.RU
ФорумAdmin

Вопрос по OpenVZ

 , ,


0

1

Доброго времени суток.

Я тут на днях решил попробовать 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-соединения.


не понизится ли производительность, если перенести mysql сервер с хостовой машины в OpenVZ-контейнер

Думаю это в первую очередь зависит от настроек контейнера.

А чем плох вариант с tcp через 127.0.0.1? Если мсье знает толк в извращениях то думаю можно использовать mysql-proxy для трансляции запросов от локального сокета в TCP соекет (:
Вообще проброс сокетов через границу контейнеров не кажется мне здравой идеей. Прозреваю проблемы с безопасностью.

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

Вот я и опасаюсь, что могут быть проблемы с производительностью, так как связь через мускул-сокет получше будет. С другой стороны, более безопасно, да и плюшки всякие от OpenVZ в виде живой миграции и т.п. не помешают в случае чего. А извращаться с проксированием не буду однозначно :) Ох и не люблю я эти виртуализированные дела, постоянно производительность страдала, однако вдруг OpenVZ лучше окажется в этом плане, все же отзывы хорошие и народные бэнчмарки неплохие результаты дают.

Lamko ()
Ответ на: комментарий от Lamko

TCP сокет через lo может давать несколько большую задержку чем unix-сокет (особенно если открывать новое соединение на каждый запрос), да и то не факт. Полагаю на этом разница исчерпывается.

Просто проведи эксперимент, чего гадать-то? Без всяких контейнеров запусти тест через сетевой сокет и через юникс-сокет, да и сравни. Только не поленись прогнать тест тыщёнку другую раз и посчитать средний результат, одиночный результат не показателен.

Думаю просесть может только скорость отзыва (из-за TCP-рукопожатия), его и тестировать.

MrClon ★★★★★ ()
Ответ на: комментарий от Lamko

Что значит безопасно? Если в контейнер смонтировать ФС с хоста и туда положить сокет (и если с ним оттуда будет можно нормально работать, вот это я не в курсе) то его можно будет читать и из контейнера и с хоста. Безопасно это или нет — зависит от условий, от какого несанкционированного доступа нужно предостеречься.

sin_a ★★★★★ ()
Ответ на: комментарий от sin_a

Если в контейнер смонтировать ФС с хоста и туда положить сокет (и если с ним оттуда будет можно нормально работать, вот это я не в курсе)

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

MrClon ★★★★★ ()
Ответ на: комментарий от sin_a

У меня OpenVZ живого под рукой нет, а эксперимент с моим криво настроенным и древним LXC думаю будет не показателен.

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

Завтра проверю, отпишусь по этому поводу. А на счет проброса сокета - у меня сейчас в chroot-окружения прокидывается мускул сокет и всё работает, а насчет безопасности не заморачивался, так как делал по статье с securitylab, думаю, они не дураки, такой совет давать.

Если решение, которое предоставил товарищ sin_a, заработает, то оставлю мускул на хосте, если же нет - тогда разверну мускул на виртуалке и проброшу сокеты, как указано на офф. сайте OpenVZ.

p.s. post-factum, неа, симлинк точно не работает.

Lamko ()
Ответ на: комментарий от Lamko

Всё работает, только необходимо монтировать в режиме read-only, чтобы пользователь OpenVZ-контейнера не мог удалить mysql-сокет.

Lamko ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.