LINUX.ORG.RU

Сообщения Ramirezkiv2

 

Как увеличить очередь сообщений для PHP7-FPM

Форум — Web-development

Доброго всем!

Дано:

  1. тестовая машинка с Linux на борту, веб-сервером Apache2, php7.4 и fpm.
  2. из веб-контента: index c вызовом phpinfo().

Требуется: понять можно ли (и как если да) увеличить очередь входящих TCP-соединений (Listen/Accept), которая слушается веб-сервером на 80-м порту и обрабатывается FPM-мом.

Что делал:

  1. через sysctl в системе выставлял параметры somaxconn, tcp_max_syn_backlog.
  2. в конфиге FPM’а www.conf ставил параметр listen.backlog.

В итоге:

  1. вывод команды #ss -lnt упорно для 80-го порта показывает максимальное значение в 511.
  2. максимальное количество одновременно обрабатываемых клиентов сервером равно 511, при это ни память ни процессор ни диски не загружены. Упор именно в длину очереди.

Вопрос: 511 - это хардкод в FPM или можно как-то изменить?

Спасибо.

Перемещено hobbit из general

 

Ramirezkiv2
()

Внезапное удаление контейнера на Docker-сервере после успешного завершения теста в проекте на Gitlab-сервере

Форум — General

Добрый день, Всем!

Столкнулся вот с такой особенностью функционирования связки «проект на Gitlab-сервере - контейнер на Docker-сервере»:

  1. имеется тестовый проект на Gitlab-сервере с простеньким Python-скриптом на борту, который предполагается тестить на контейнере.

  2. на Docker-сервере создан соответствующий Gitlab-runner, который используется в проекте Gitlab-сервера.

  3. при запуске теста на Gitlab-сервере на Docker-сервере создаётся соответствующий контейнер, в котором отрабатывается запуск и выполнение Python-скрипта.

После успешной отработки Python-скрипта контейнер с Docker-сервера удаляется. Такое поведение вполне нормально и меня устраивает, но хотелось бы разобраться поглубже и понять, где находится та настройка, которая отвечает за удаление контейнера после выхода из него?

Если на Docker-сервере я руками создаю контейнер, то при выходе из него он не удаляется.

Нигде в настройках проекта на Gitlab-сервере ни на Docker-сервере явным образом я не указываю обязательность удаления контейнера. В конфиге gitlab-runner’а, в .config-ci.yml также нет команд по удалению контейнера.

 

Ramirezkiv2
()

Настройка Gitlab-runner'а на использование Docker-сервера

Форум — General

Добрый день Всем!

Пытаюсь решить следующую задачу.

Есть свой локальный в ЛВС сервер Gitlab. Создаю свой тестовый проект из единственного файла на Python, который выводит на экран информацию и всё.

Есть в ЛВС второй сервер, доступный по ssh.

И есть третий сервер в установленным на нём Docker’ом и прикрученной к нему вебкой на Portainer.

Когда создаю gitlab-runner для своего проекта с executor’ом «ssh» и указываю IP-адрес второго сервера, то всё отрабатывается в pipeline на Gitlab-сервере нормально.

Пытаюсь создать раннер, чтобы моя задача из Gitlaba выполнялась в контейнере на третьем сервере с Docker’ом и не могу понять, где в executor’ах: docker, docker-ssh, docker+machine, docker-ssh+machine указать IP-адрес хоста, на котором установлен Docker.

Gitlab-runner создаю из консоли Gitlab-сервера командой #gitlab-runner register и отвечаю на вопросы мастера регистрации.

Не пойму, где указывается связь между образом для конта и хостом с Docker’ом, на котором предполагается запускать контейнеры?

В ssh проще - config.toml чётко и ясно указывается хост, логин и пароль к нему.

Смотрел это: https://docs.gitlab.com/runner/configuration/advanced-configuration.html https://docs.gitlab.com/runner/executors/docker.html

ЧЯДНТ?

 

Ramirezkiv2
()

Контейнеры vs виртуальные машины

Форум — General

Всем добрый день!

Пытаюсь разобраться на общем уровне в различии, что есть контейнер по сравнению с виртуальной машиной.

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

Контейнеры юзал буквально пару раз в тестовой среде на базе службы контейнеров Lunix - lxd. Обращался к ним через lxc. Созданный контейнер видел в папке /var/lib/lxd/containers со всей служебной инфраструктурой папок /bin /etc /lib /lib64 /usr /tmp /var. Знаком с механизмом Linux под названием chroot. И для меня сейчас контейнер Linux - это один из методов изоляции при работе приложения внутри предсозданной инфраструктуры (образа) с использованием chroot при этом с использованием ядра той операционной системы, где установлена система управления контейнерами.

Хотел бы понять прав я или нет? Нужно для спора с коллегой по работе, который утверждает, что контейнеры - это один из способов/подвидов виртуализации.

ПС: просьба не банить за вопрос.

Спасибо.

 , ,

Ramirezkiv2
()

Linux Containers и сеть

Форум — General

Всем доброго дня!

Вопрос про настройку сети для контейнеров.

Исходные данные: хост на ОС Linux неважно какой дистрибутив, пусть будет Debian два контейнера на хосте с ОС неважно какой, пусть будет тоже Debian. Хост имеет два сетевых интерфейса: enp3s0 с адресацией пусть будет 192.168.1.0/24 и lxdbr0 с адресацией 10.12.132.0/24.

По-умолчанию после создания контейнера он прилинковывается к интерфейсу lxdbr0 и получает адрес из сети 10.12.132.0/24. Всё пингуется.

Но интересует ответ на вопрос: возможно ли технически без танцев с бубном прилинковать контейнер к enp3s0 хоста, чтобы контейнер получал адрес из ЛВС или такая возможность закрыта с точки зрения обеспечения безопасности сети?

Смотрел сюда: /etc/sysconfig/lxc-net. Там это: USE_LXC_BRIDGE=«true» LXC_BRIDGE=«lxcbr0» LXC_ADDR=«10.101.101.1» LXC_NETMASK=«255.255.255.0» LXC_NETWORK=«10.101.101.0/24» LXC_DHCP_RANGE=«10.101.101.2,10.101.101.254» LXC_DHCP_MAX=«253»

И я бы тут всё понял, если бы не lxcbr0. На хосте то lxdbr0.

Что может спасти отца русской демократии от эпик фейла?

[upd] сделал следующее: #lxc network attach enp0s3 VM eth0

В итоге контейнер получил адрес из ЛВС, но не доступен из сети((

 

Ramirezkiv2
()

Настройка Streaming Replication на СУБД Postgresql

Форум — General

Добрый день, Всем!

Тестировал настройку потоковой репликации с использованием Postgresql. Протестировал. Заработало. Однако есть пару моментов, которые я хотел бы выяснить для себя.

Делал по этой статье: https://selectel.ru/blog/tutorials/how-to-set-up-replication-in-postgresql/

Детали: ОС: Альт Линукс Сервер 10.0. СУБД: Postgresql 10.23.

СУБД на ОС ставил из репы #apt-get install postgresql postgresql-contrib.

В указанной выше статье задаются параметры конфигов на мастере и реплике таким образом: listen_addresses = ‘localhost, ВНУТРЕННИЙ_IP’ wal_level = hot_standby archive_mode = on archive_command = ‘cd .’ max_wal_senders = 8 hot_standby = on

Непонятно про параметр archive_command.

Вот здесь: https://postgrespro.ru/docs/postgrespro/9.5/continuous-archiving и вот здесь https://wiki.postgresql.org/wiki/Streaming_Replication не осилил и не понял зачем оно вообще нужно?

Также непонятно в каком месте конфига задавать тип потоковой репликации: синхронный или асинхронный?

Может ли кто-нибудь носом ткнуть где читать, чтобы понять?

Спасибо.

 

Ramirezkiv2
()

Как настроить /usr/src/Makefile, чтобы собирал нужное, а не всё-всё-всё

Форум — General

Доброго Всем и вся!

Многоуважаемые форумчане, не даёт спокойно спать не найдённый ответ на следующий вопрос: как при вводе команды #cd /usr/src && make buildworld система не компилировала все пакеты для которых у меня скачены исходники, а компилировала бы только определённые пакеты или точнее, только те, которые нужны для работы системы?

Например, зачем мне собирать sendmail, если он мне не нужен?

Куда ковырять? В синтаксис главного Makefile или просто удалить каталог пакета с исходниками из /usr/src?

Спасибо!

 , ,

Ramirezkiv2
()

Получение нужного времени в системе не меняя временную зону

Форум — General

Доброго всем!

Имеется тачка с Linux’ом на борту. На тачке настроена синхронизация времени со внешним NTP-пулом с помощью chronyd. И даже всё работает и синхронизирует, но синхронизирует системные часы в зависимости от временной зоны, которая в системе указана в формате UTC + чего-то там. Вопрос: можно ли забацать синхронизацию UTC+0 для системных часов, не меняя временную зону?

Всем пасибы!

 

Ramirezkiv2
()

Архитектура загрузочных CD-дисков и/или ISO-образов

Форум — General

Доброго Всем!

Ткните пальцем вкуда смотреть, чтобы понять как устроена архитектура загрузочных обрызов, пожалста: что первым загружается, куда передаётся управление, почему автоматом загружается та или иная программа установки операционки?!

Спасибо.

 

Ramirezkiv2
()

Zabbix 4.2.4 Template PostgreSQL

Форум — General

Бобра!

Уважаемый читатель, помоги автору сего поста отыскать правильную ссылку на рабочий мануал по внедрению шаблона PostgreSQL на рассовый Zabbix версии 4.2.4 ибо автор пробовал вот это: http://cavaliercoder.com/libzbxpgsql/documentation/installation/ но испытал неуверенность из-за этого: «Cannot read XML: (41) Specification mandate value for attribute data-pjax-transient [Line: 44 | Column: 40].» а посему закралась мысль такая, что шаблоны данные для сервера версии 3.2.3.

Дерк, Джони, Чёрный Пёс! Вы не оставите в беде старого слепого Пью? Помогите, ребята и Пью не останется у вас в долгу.

Бобра.

 , ,

Ramirezkiv2
()

QPSQL driver not loaded

Форум — Development

Добрый всем!

Хотел бы поделиться с форумом решением, которое помогло лично мне в решении проблемы указанной в Теме. Может кому тоже поможет.

Дано: 1. станция разработки на Венде 10. 2. Среда разработки Qt Creator 4.9.1. 3. Программа с таким куском кода:

QSqlDatabase db = QSqlDatabase();
db = QSqlDatabase::addDatabase("QPSQL7");
db.setHostName("192.168.1.1");
db.setDatabaseName("test");
db.setUserName("postgres");
db.setPassword("postgres");
if(db.open())    {
	msgbox.setText("Соединение с БД успешно установлено");
        msgbox.exec();
} else {
	msgbox.setText("Неудачная попытка соединения с БД");
	msgbox.exec();
}
db.close();

Проблема: соединение всегда неуспешно с ошибкой, указанной в Теме.

Что делал (по советам Инета): 1. помещал в рабочую папку с бинарником своей программы различные dll-ки. 2. в переменной окружения PATH указывал путь C:\Qt\5.12.4\mingw73_64\plugins\sqldrivers. 3. установил Postgres Pro Standard на станцию разработки с офф. сайта разработчика и указал в PATH путь до либов: C:\Program Files\PostgresPro\11\lib

Что не делал: 1. не использовал в проге драйвер QODBC. 2. не пересобирал libpq.dll из исходников.

Помогло следующее: 1. в переменной окружения PATH указал путь до бинов Postgres'а: C:\Program Files\PostgresPro\11\bin.

У меня всё по данному вопросу. Всем спасибо за внимание.

 

Ramirezkiv2
()

Пересборка ядра FreeBSD: изменение имени

Форум — General

Доброго всем здравия, товарищи Лорчане!

И вот решил я попробовать свои силы в пересборке ядра фряхи ибо интересно получится или нет. Оно конечно получилось, однако после загрузки операционки с пересобранным ядром мучает меня вопрос один - когда смотрю на вывод команды uname -a никак не могу понять, что надо сделать, что выводилось не FreeBSD и версия релиза, а моё собственное.

Добавлял в кастомную конфигурацию ядра значения для параметров ident makeoptions KERNEL

При установке ядра делал так: make installkernel KERNCONF=MYKERNEL INSTKERNNAME=MYKERNEL

Но воз и ныне там. Помогите пжлст куда копать?

Спасибо.

 ,

Ramirezkiv2
()

Redmine + GitLab

Форум — Web-development

Доброго всем!

Админу получилось на одной машине связать Redmine и Git и даже поиспользовать на тестовом проекте.

Но наши девелоперы настолько суровы, что невзрачному Git'у предпочитают взрачный GitLab, развёрнутый на другой машине.

Уважаемый лорщик(-ца), помоги пожалуйста админу понять, можно ли скрестить Redmine и GitLab пусть даже на одной тачке?

Можешь, помочь админу полностью? Помоги админу полностью. Пожалуйста, я тебя прошу, можешь?

Всем бобра!

 ,

Ramirezkiv2
()

Debian, CentOS, MSA 2050 FC и Multipath

Форум — General

Добрый день, Всем!

Собственно имеется: 1. оптический коммутатор FC. 2. СХД HP MSA 2050 FC. 3. Сервер с HBA, подключемый в оптический коммутатор.

Дано: всё настроено: оптика с зонами и СХД с маппированием лунов на сервер, на сервере установлена служба multipathd и модуль ядра dm-multipath, но...

Но: 1. когда на сервере CentOS 7.4 - то в вебке Овирта 4-ре пути к одному луну склеиваются и я вижу один диск, что мне и надо. 2. когда на сервере Debian 9.4 - то в вебке Proxmox я вижу 4-ре пути к разным дискам /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde, которые есть один и тоже ЛУН, что не есть хорошо. 3. multipath.conf настроен на двух осях одинаково. 4. вывод команды multipath -ll показывает одно и тоже - 4-ре пути до ЛУНа, то на CentOS диски склеиваются, а на Debian - нет.

Вопрос: куда копать?

Спасибо.

 ,

Ramirezkiv2
()

Разработка софта в мире GNU GPL

Форум — General

Добрый день, уважаемый Всем!

Возник вопрос по теме следующий: есть мир свободно-распространяемого софта под лицензией GNU GPL и не важной какой версии. Если я беру исходные тексты любой программы, модифицирую их (не трогая копирайты или лефты немодифицированных участков исходников) и получаю на выходе бины, которые собираюсь продавать кому-то, то в соответствии с правилами лицензии GNU GPL, я обязан вместе с бинами поставить и исходные тексты, из которых эти бины получились (кстати как это можно проверить?). С этим всё ясно и понятно.

Но как быть, если я собираюсь разработать софт с нуля, не основываясь на модификации исходников чьей-то программы, и также продавать этот софт другой стороне? Софт будет работать под Линуксом (Debian или CentOS), а это GNU GPL. Соответственно должна ли моя разработка быть выпущена также под лицензией GNU GPL?

ПС: разрабатываемый софт будет использовать вызовы функций API системных библиотек под лицензией GPL/LGPL.

Спасибо.

 ,

Ramirezkiv2
()

CentOS7 + Identity Management Server

Форум — Admin

Хай!

Ставлю 7-ку билд 1708. Вижу в установщике - Identity Management Server. Описание: centralized management of users, servers and authentication policies. Думаю: вот оно, замена Active Directory. Поставил. В итоге: ничего. Лезу в инет: там одни IPA и FreeIPA (Identity, Policy, Audit). Ну поставил с репов ИПУ-сервер. Поставился, сконфигурился, я даже на Вебку зашёл и даже юзеров понасоздавал и тачку в домен включил. Но, но. Внимани вопрос: зачем в дистрибутиве CentOS - этот Identity Managemnt Server, если в нете по нём ничего и IPA ставится из репов? Кто что знает? И с чем его (IMS) готовят?

Пасиб.

 ,

Ramirezkiv2
()

Различие между QEMU и KVM

Форум — General

Добрый, всем Лорчанам!

Юзал - KVM - норм - меня всё устраивает. Но вот непойму зачем нужен QEMU, если есть KVM?

На тырнетах пишут, что KVM - это гипер, использующий аппаратную виртуализацию на уровне проца (Intel VT/AMD-V) , а QEMU - это программная виртуализация, то есть эмуляция.

И если KVM позволяет ставить гостевые ОСи как 64-битные так и 32-битные и не только Линуксовые, но и Виндусятные, то QEMU позволяет ставить только гостевые операционки, совпадающие с ядром хостовой системы, то есть только Линуксовые.

Так ли это? Кто знает точно? Кто может ответить? В тырнетах искал - определённого и точного ответа - не нашёл.

Спасибо.

 , ,

Ramirezkiv2
()

Виртуализация: выбор openSource системы

Форум — General

Добрый день, Всем!

Уважаемый Всем! Если чтишь эти строки и тебе не чужд помощь кому-то, то не вспомнишь ли навскидку систему виртуализации для прода подходящую под следующие критерии: 1. openSource. 2. бесплатная и халявная, ну то есть GNU GPL или Apache GPL. 3. серверная виртуализация. 4. десктопная виртуализация (то есть VDI) (vnc/spice - не предлагать). Дас ист всё. ?

Что делал: смотрел поиск - ответа не нашёл. Что юзал: vmware, hyper-v, openstack, cloudstack, proxmox.

ПС: нужно больше, нужно ещё больше систем виртуализации.

Спасибо Всем!

 

Ramirezkiv2
()

Выбор технологий для создания безопасного Web-приложения

Форум — Web-development

Товарищи! При планировании создания Web-проекта не мог ускользнуть вопрос сей от меня и вот теперь им задаюсь я: что же выбрать, какие технологии, языки программирования, фреймворки при создания Web-проекта, в котором предполагается быть фронт-енду (склоняюсь с использованию nginx'а), бек-енду вычислений (PHP, Python, C/C++) и бек-енду СУБД (будет либо MySQL либо Postgres)?

Могу ли я безбоязненно использовать ЦМС-ки и PHP-фреймворки или в режиме параноика лучше использовать ручной HTML и Си? ПС: не предполагается делать большущий сайт с большой нагрузкой - нужно просто, чтобы пользаки вводили на фронтах начальные данные, а приклад считал кое-что по известному алгоритму и выдавал обратно данные пользаку.

Интересует самый крайний ответ с точки зрения параноика - что использовать, чтобы максмально обезопасить Web-сайт и приклад от взламывания и при этом, чтобы это ещё и работало?

 , ,

Ramirezkiv2
()

Определение нагрузки на Web-приложение

Форум — Web-development

Добрый день всем!

Други, помогите пожалуйста определить степень нагруженности будущего Веб-проекта по следующим данным: максимальное число Интернет-пользователей: около 500 максимальное число зарегистрированных пользователей: около 20000 максимальный объём БД: около 36 ТБ (не гигабайт, а терабайт). интенсивность нагрузки от пользователей: неизвестно. тип нагрузки: расчёт научных величин, трасс, траекторий исходя из начальных данных, хранимых в БД.

Можно ли по этим данным говорить о Веб-проекте, как о высоконагруженном и применять к нему методы построения высоконагруженных систем с несколькими фронтами (nginx), несколькими бек-ендами - DBMS, несколькими бек-ендами с PHP (короче по этой статье https://ruhighload.com/post/Архитектура+высоких+нагрузок) или нет?

Спасибо всем.

 ,

Ramirezkiv2
()

RSS подписка на новые темы