LINUX.ORG.RU

Сообщения gobot

 

Подскажите почему не работает

bash -c  "function getppid { echo "xxx=$1"; }; getppid $$;"



$1 - пусто. Если создать файл xxx.sh запустить его, то нормально

 

gobot
()

Как автоматически завершить все процессы после отключения ssh

Выполнил команду через ssh, отключился от сервера - команда завершилась. Как сделать такое?

Как я могу находясь в ssh убить все процессы, созданные конкретным подключением? Допустим у меня 3 подключения и в одном я хочу убить все процессы, а в других не трогать ничего

 

gobot
()

Выполнения бинаря из памяти

В nodejs есть фича - создания бинаря из скрипта, а также в этот бинарь можно втюхать другой бинарь, ну и вообще любые assets. В самом коде после компиляции я получаю этот «втюханый» банарь в виде ArrayBuffer - короче в памяти он. Как мне его запустить собственно и получить результат? Сохранять на диск и выполнять через spawn это понятно (но теряется single-executable, а хочется чтобы красиво было, хоть и файлик раздуется до 200 мб - но что в наше время эти 200 мегов), какие другие варианты?

 nodejs

gobot
()

Лагает тунель

Поднял wireguard через amnezia, работало шикарно, но вчера начались лаги, потери пакетов большие. С чего начать, может какие то буфера переполняются? Бегло посмотрел - нет кучи соединений, проц не нагружен, сеть 10Gbps. СпидТест показывает 30bmps через тунель, правда часто Socker Error. Куда смотреть, с чего начать? Сам хост пингуется хорошо.

Через другой тунель на этом же компе, но через другой сервер - работает хорошо


UPD

Перезагрузил docker container - проблема исчезла (

 , ,

gobot
()

Как подключиться в ВПН

Хочу на СмартТВ смотреть ютуб, он через вайфай. В наличии допотопный роутер. Есть сервер со своим ВПН(анмезия). Там есть wireguard.

Схема такая:

Телевизор ->
Роутер ВайФай ->
Мой комп, на котором установлен Docker на котором установлен docker-wireguard и который поднимает PPPoE в интернет
ВПН ->
Ютуб

Или купить Железную ВайФай плату и поставить ее в комп и выбросить роутер?

Или купить Железный ВайФай роутер со встроенным ВПН? Насколько его хватит? Насколько знаю, протоколы постоянно мониторятся Упырями и блокируются. Выбрасывать потом этот роутер?

Ладно, если остановится на моей тупой схеме, то я не пойму как настроить docker-wireguard как клиента, в доках нихера нет, а просто «Drop your client conf(s) into the config folder as /config/wg_confs/<tunnel name>.conf and start the container»

Нет описания «client conf». Может кто-то делал, поделится примерами конфигов?

Методом тыка, исходя из этого, что-то написал

[Interface]

[Peer]
Endpoint = remote_vpn_server_ip:38396
PublicKey = cnl4o9XhIuYFCknlEsrgnROsb2mCY1iIh3DmXV3YnwQ=


поднялся интерфейс

peer: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1420
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


Дальше чьто? Натить через iptables? PublicKey - это какой KEY? На удаленном сервере? (я его там взял). Секция Interface тоже не понятна, что куда вписывать...

 ,

gobot
()

Блокировка Ютуб. На кого повлияло?

РКН блокирует ютуб с августа. Уже без ВПН ничего не посмотришь. Это раз. Второе, заметил что даже моего приложения android коснулось, не может законектиться к удаленному серверу, reset by peer. Через ВПН - ОК. Что за херня? Или мне показалось?


Перемещено leave из admin

 , , ,

gobot
()

Что то блокирует соединение

Не могу соедениться с фтп(proftpd) сервером, а также с 80 портом(там nginx). Tcpdump смотрю - syn приходят на сервер, но ответа нет. Что может блокировать? В Ipdables нет никаких запрещающих правил.

Ubuntu jammy

 , , ,

gobot
()

Почему пишут «денежные средства», а не деньги?

Почему пишут «денежные средства», а не деньги?

Пример

Что может ещё подразумеваться под этим понятием, кроме как просто ДЕНЬГИ?

Все банки пишут «перевод денежных средств». Да что они ещё могут перевести? Золото что ли? НО, золото это ведь уже не деньги.

 

gobot
()

Экваринг

Хочу принимать бабки на р/с в банке от ип/ооо, не принципиально. Принимать по интернету, конечно. Допустим у меня есть(еще нет) онлайн терминал/касса, там есть считыватель NFC. Я как понимаю этот терминал считывает номер,дату,ccv карты и передает эти данные в банк? Там происходит транзакция, с карты списываются бабки и поступают мне.

Вопрос, как мне удаленно по сети дать комманду терминалу чтобы он передал данные карты в банк и сформировалась транзакция, без нажатия кнопок вручную? Возможно ли такое вообще? Почему везде предланают посредников типа yookassa, robokassa?

 

gobot
()

net::ERR_CONNECTION_RESET

Заметил, что часто в Chrome возникает ошибка при загрузке js скрипта(ов) net::ERR_CONNECTION_RESET. Сервер отдает с кодом 200 все нормально, далее браузер начинает качать файл (около 6MB) и в некоторый момент выдает вот эту ошибку. Кто сбрасывает соединение не понять

написал простой скрипт

for(var i=0; i < 10; i++){
  fetch("https://example.com/js/app.js?v=" + i);
}


три раза эта ошибка вылезла. В логах nginx все нормально, сервер обрабатывает все запросы с кодом 200\304.

Да, есть нюанс один, nginx отдает файл, но content-length в логах наполовину меньший, чем реальный размер (327404(варьируется) вместо 6564513)

 

gobot
()

Слетает ip адрес каждые 24 часа

На интерфейсе пропадает ровно через каждые 24 часа ipv4 адрес. После перезагрузки службы networing сеть снова работает. Все логи пересмотрел, ничего нет. Сервер debian, имел uptime 2 года, ничего не трогалось и тут такое.

systemctl status networking
● networking.service - Raise network interfaces
     Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2024-01-20 06:34:43 MSK; 1min 34s ago
       Docs: man:interfaces(5)
    Process: 1948759 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
   Main PID: 1948759 (code=exited, status=1/FAILURE)
        CPU: 52ms

Jan 20 06:34:43 ifup[1948759]: /sbin/ip -6 addr add 2001:41d0:602:4add::/56  dev eno1
Jan 20 06:34:43 ifup[1949035]: RTNETLINK answers: Permission denied
Jan 20 06:34:43 ifup[1948759]: ifup: failed to bring up eno1
Jan 20 06:34:43 ifup[1948759]: /bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
Jan 20 06:34:43 ifup[1949038]: run-parts: executing /etc/network/if-up.d/000resolvconf
Jan 20 06:34:43 ifup[1949038]: run-parts: executing /etc/network/if-up.d/chrony
Jan 20 06:34:43 ifup[1949038]: run-parts: executing /etc/network/if-up.d/ethtool
Jan 20 06:34:43 systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Jan 20 06:34:43 systemd[1]: networking.service: Failed with result 'exit-code'.
Jan 20 06:34:43 systemd[1]: Failed to start Raise network interfaces.

 , ,

gobot
()

Распознавание порно по фото

Хочу упростить модерирование путем автоматизации: автоматическое распознавание половых органов, голых частей тела и т.д. Первое что приходит какие то облака с AI, но не знаю есть ли такой сервис?

 , ,

gobot
()

Микроконтроллер wifi+ethernet в одном корпусе

Есть ли такое в одном корпусе? Нужна плата или микроконтроллер, который бы имел выход в интернет через ethernet и wifi (желательно бы ещё и через gprs). Сейчас нашел только разные модули w5500(ethernet) и esp8266 (wifi). Если такого не производят, то на ум приходит только разместить эти два модуля на одной печатной плате и связать их через другой микроконтроллер посредством UART\SPI\ХЗ. Я в этом дилетант, посоветуйте по какому пути идти.

 , ,

gobot
()

Разработать прототип макетной платы микроконтроллера

Нужно спроектировать макетную плату со следующими функциями

WiFi, Ethernet, Gprs etc (нужен tcp/ip стек для настройки устройства).
Порты ввода (будут подключаться датчики)
Порты вывода (будет подключаться нагрузка, например реле)

Подобрать популярные комплектующие, которые есть на aliexpress

По сути arduino, только нужно сделать компактней и на одной монтажной плате

Грубо говоря, в идеале, хочу плату размером в спичечный коробок, которая бы питалась от ааа батарейки и работало месяц и стоило 1000 руб. Понятно, что нереал, но отталкиваться от этого нужно.

Нужна больше консультация на первом этапе. Потом посмотрим что и как

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

 

gobot
()

Сборка железки wifi + ethernet

Здравствуйте!

Занимался тут летом всякими датчиками на arduino, сейчас решил возобновить тему. Решил отказаться от компа-шлюза и сделать полноценное устройство с выходом в интернет.

Прототип задачи в том, чтобы собрать устройство, подключить к нему датчик и чтобы управлялось оно через интернет. То есть, соединялось с удаленным сервером и принимала от него команды. Интернет хочу в идеале Wifi+Ethernet

Нашел
WiFi
Ethernet
УЗ Датчик

Я как понимаю мне ещё нужна «базовая» плата, к которой бы все это подключалось?

Нашел также Плату с WIFI на борту. Не совсем понимаю, это Arduino UNO? Что это за комплект по такой цене..?

В общем, я запутался, дайте пинка в нужном направлении.

 

gobot
()

RAID1 ===> RAID0

Установил новый сервер, на нем raid1. Хочу raid0, чтобы больше места было.

Что было

cat /proc/mdstat
md127 : active raid1 sdb1[0] sdc1[1]
      3141632 blocks super 1.2 [2/2] [UU]


затем я сделал raid0
mdadm /dev/md127 --grow --level=0
mdadm: level of /dev/md127 changed to raid0

cat /proc/mdstat
md127 : active raid0 sdc1[1]
      3141632 blocks super 1.2 64k chunks


Ну, и, собственно, хочу добавить освободившийся раздел sdb1
mdadm /dev/md127 --add  /dev/md127 /dev/sdb1
mdadm: /dev/md127 not large enough to join array


Пишет, что диск недостаточно большой, чтобы его добавить. Что делать?

fdisk -l
Disk /dev/sdb: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf4f86955

Device     Boot Start     End Sectors Size Id Type
/dev/sdb1        2048 6291455 6289408   3G 83 Linux


Disk /dev/sdc: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4e1043f4

Device     Boot Start     End Sectors Size Id Type
/dev/sdc1        2048 6291455 6289408   3G 83 Linux


Disk /dev/sda: 10.6 GiB, 11380449280 bytes, 22227440 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6cc04202

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048 20226047 20224000  9.6G 83 Linux
/dev/sda2       20228094 22226943  1998850  976M  5 Extended
/dev/sda5       20228096 22226943  1998848  976M 82 Linux swap / Solaris


Disk /dev/md127: 3 GiB, 3217031168 bytes, 6283264 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes



П.С. Тренируюсь, конечно, пока на VirtualBox, чобы потом сделать на реальном сервере )


Короче, сам написал, сам с собой поговорил, сам решил. Слава VirtualBox! Там можно поэкспериментировать )

Как перейти с RAID1 to RAID0
//Переход на raid0, но будет 1 диск всего
mdadm /dev/md0 --grow --level=0
mdadm: level of /dev/md0 changed to raid0

//Увеличить размер массива и добавить 1 диск
mdadm /dev/md0 --grow --raid-devices=2 --add /dev/sdb1
mdadm: level of /dev/md0 changed to raid4
//тут будет делаться reshape, долго, в зависимости от объема
//потом перейдет снова на raid0
mdadm: level of /dev/md0 changed to raid0

//Далее нужно увеличить размер ФС, если без параметров, то увеличивается автоматом до всего доступного размера
resize2fs /dev/md0


 , , , ,

gobot
()

Тюнинг диска, барахлит жутко I\O

Копаюсь тута в virtualbox, шаманю с жестким диском, колдую в общем. Сама проблема в том, что на реальном сервере в некоторые моменты времени очень большая задержка отправки\приема с rabbitMQ сервера. Тама отваливаются некоторые службы из-за этого по таймауту (можно конечно выставить большие тайауты, но хочу все же оттюнинговать диск и проблему решить в корне, если получится). То есть послал сообщение в rabbitMQ, тебе ответ пришел, обычно это занимает миллисекунды, но в некоторые моменты доходит аж до 3-6 сек! Графики(zabbix) показывают iowait 5%\48% (средн.\макс. значения за месяц). В связи с этим я пришел к выводу, что причина и узкое место на сервере это I\O и из-за него такие лаги с rabbitMQ.

Потом я начал грешить на raid1. Ядренный процесс jbd (в моем случае это jbd2/md2-8) который отвечает за журнализацию ext4, постоянно, без остановки, чем то занят, iotop этого процесса постоянно скачет 5..10...99%! Хотя, по сути, должен отрабатывать каждые 15 сек., ибо в параметрах монтирования raid1 я указал commit=15. То есть каждые 15 сек. должен записывать в журнал. Ещё я заметил, что если отключить zabbix-server, то процесс этот запускается как положено через каждые 15 сек. Почему так?

Посмотрел iotop ещё раз, нет других процессов с большим %, ну mysql промелькивает 0.05%, nginx и прочие потроха.

Что пробовал (три раза запуск)

dd if=/dev/zero of=/tmp/output.img bs=16k count=30k
838860800 bytes (839 MB, 800 MiB) copied, 1.05715 s, 794 MB/s
838860800 bytes (839 MB, 800 MiB) copied, 0.442051 s, 1.9 GB/s
838860800 bytes (839 MB, 800 MiB) copied, 9.11132 s, 92.1 MB/s

Скорость записи скачет в 10 раз...какие-то блокировки ужасные

А вот если больший count поставить 70k, но уже rabbitMQ идет с задержкой и все потроха валятся из-за timeout и процессу jbd2/md2-8 сносит голову до 99% I\O
dd if=/dev/zero of=/tmp/output.img bs=16k count=70k
1174405120 bytes (1.2 GB, 1.1 GiB) copied, 6.25328 s, 188 MB/s


cat /etc/fstab
/dev/md3        /       ext4    commit=15,errors=remount-ro,relatime    0       1
/dev/md2        /boot   ext4    errors=remount-ro,relatime      0       1
/dev/sda4       swap    swap    defaults        0       0
/dev/sdb4       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0
devpts          /dev/pts        devpts  defaults        0       0

mount | grep "/dev/md3"
/dev/md3 on / type ext4 (rw,relatime,errors=remount-ro,commit=15,data=ordered) 

cat /proc/mdstat
md2 : active raid1 sdb2[1] sda2[0]
      523200 blocks [2/2] [UU]

md3 : active raid1 sdb3[1] sda3[0]
      1952461760 blocks [2/2] [UU]
      bitmap: 15/15 pages [60KB], 65536KB chunk

unused devices: <none>


df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.8T  1.4T  312G  83% /
devtmpfs        7.9G     0  7.9G   0% /dev
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           7.9G  772M  7.1G  10% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/md2        487M   23M  435M   5% /boot
overlay         1.8T  1.4T  312G  83% /var/lib/docker/overlay2/29d42b8f520821ac9c12919a53c6eb7f4b1cf25c63cd03fe7f2a3341e547a42f/merged
shm              64M     0   64M   0% /var/lib/docker/containers/c1d856a4dce5aeb0d0e67e4bdb1e2123a1a2fbecfbb4c4fdfe91b1d75bf0b8a8/mounts/shm




Выхлоп iotop
Total DISK READ :      68.09 K/s | Total DISK WRITE :       9.27 M/s
Actual DISK READ:      68.09 K/s | Actual DISK WRITE:     594.86 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  313 be/3 root        0.00 B/s  426.44 K/s  0.00 % 73.82 % [jbd2/md3-8]
13682 be/4 bib       0.00 B/s  215.01 K/s  0.00 % 43.27 % nginx: worker process
15381 be/4 mysql       0.00 B/s    3.58 K/s  0.00 %  0.61 % mysqld
15396 be/4 mysql       0.00 B/s    3.58 K/s  0.00 %  0.02 % mysqld
15401 be/4 mysql       0.00 B/s    7.17 K/s  0.00 %  0.02 % mysqld
13678 be/4 bib       0.00 B/s  630.70 K/s  0.00 %  0.00 % nginx: worker process
13679 be/4 bib       0.00 B/s    3.58 K/s  0.00 %  0.00 % nginx: worker process
13680 be/4 bib       0.00 B/s  207.84 K/s  0.00 %  0.00 % nginx: worker process
13681 be/4 bib      64.50 K/s  731.03 K/s  0.00 %  0.00 % nginx: worker process
13684 be/4 bib       0.00 B/s  111.09 K/s  0.00 %  0.00 % nginx: worker process
13685 be/4 bib       0.00 B/s  723.87 K/s  0.00 %  0.00 % nginx: worker process
11076 be/4 root        0.00 B/s    3.58 K/s  0.00 %  0.00 % python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf


На сервере два HDD HGST HUS726020AL по 1.8TB, RAID1

Куда копать в первую очередь? Отчего так просто загрузить IO у сервера? Диск поменять не предлагать

UDP! Не redis, а rabbitMQ )) Перепутал

 , , ,

gobot
()

Увеличение синхронизации ext4 не работает

Хочу уменьшит время commit в ext4. Прописал в fstab commit=15, но в итоге процесс «jbd2/md3-8» постоянно что-то пишет, iotop показывает (10..90%). iowait у процессора все все время > 3. Почему так?

cat /etc/fstab
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/md3        /       ext4    commit=15,errors=remount-ro,relatime    0       1
/dev/md2        /boot   ext4    errors=remount-ro,relatime      0       1
/dev/sda4       swap    swap    defaults        0       0
/dev/sdb4       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0
devpts          /dev/pts        devpts  defaults        0       0



vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0 1046520 5579576 115856 1263852    0    0     4   649    0    0 12  7 78  3  0


iostat
Linux 4.9.87-xxxx-std-ipv6-64 (3.livacha.com)   11/28/2022      _x86_64_        (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.17    0.00    6.74    3.10    0.00   77.99

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              47.06       769.66      5122.38 99346518945 661184744638
sdb              48.08       744.96      5122.43 96157784098 661192082738
md3             209.01        31.80      5104.15 4105132710 658832017368
md2               0.00         0.01         0.00     861337         22

 , ,

gobot
()

Как убить соединение mysql после «upstream timed out»

В настройках nginx стоит
fastcgi_read_timeout 3s;

fpm соединение принудительно закрывается, но mysql запросы, которые были отправлены ранее, продолжают выполняться, потому что соединение не было закрыто в конце скрипта как положено. Я как понимаю в коде никак нельзя определить что тебя грохнул nginx? Хотелось бы закрывать соединение, прежде чем... Или в самом mysql что подкрутить? Пока что на ум приходят всякие wait_timeout...max_execution_time(которое не работает в сессии и глобально)

 ,

gobot
()

Тестирование сайта с разных IP

Хочу потестировать сайт на дос-атаку. Нужно как то симулировать много запросов с разных IP(для проверки всяких limit модулей ngix, iptables и самого сайта). Пока что делаю черех ab(apache bench).

Сейчас на ум приходит только добавить на интерфейс много (ну, хотелось бы хотя бы 5000) IP, но как потом заставить ab брать случайные IP...

Да, делаю это с той же машины с которой тестирую... Хотя идеально с удаленной, но тогда нужны реальные IP

 , ,

gobot
()

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