вторник, 3 сентября 2024 г.

вторник, 20 августа 2024 г.

про обновления Dell

 > Firmware update with iDRAC fail with RED007: Unable to verify Update Package signature.

Такое можно поймать, если вообще забили на обновления и idrac версии типа 2.21.21.21 (актуальная 86)

Pre 2.40.x.x_xx version -> 2.40.40.40_A00 -> 2.63.60.61_A00 -> 2.70.70.70_A00 -> 2.84.84.84_A00 […]

https://www.itechlounge.net/2024/06/servers-firmware-update-with-idrac-fail-with-red007-unable-to-verify-update-package-signature/

Пакеты Dell Update Package (DUP) iDRAC7 и iDRAC8 больше не содержат цифровых подписей SHA-1. Это изменение DUP было введено в микропрограмме iDRAC 2.61.60.60 и более поздних версиях. В iDRAC7 и iDRAC8 версии 2.40.40.40 или более поздних версий добавлена поддержка проверки подписей SHA256. iDRAC должен работать под управлением одной из следующих версий для поддержки полезных нагрузок SHA-256 DUP с помощью обновлений по дополнительному каналу.

(с трусливо сбежавшего сайта делл)

И момент: если старый драк то при попытке войти можно получить ошибку

sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: denyAfter constraint check failed: SHA1 used with Constraint date: Tue Jan 01 01:00:00 CET 2019 [...]

https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0101395

Нужно обновить драк и/или выполнить фикс в конфиге по примеру из линка (удалить SHA1 usage SignedJAR & denyAfter 2019-01-01)

понедельник, 12 августа 2024 г.

ansible: ограничить количество одновременных хостов

 Штатно, ansible катит по 5 хостов за раз. Но бывает нужно как больше, так и меньше, например если мы катим какой-то сервис, то одновременный перезапуск всех инстансов сразу -- это проблема (всякие canary deploy и прочее опустим, тут другой инструмент). Вообще, раньше работала опция --forks=10 (и --forks=1 тоже), в 2.9 уже не работает. Но есть второе решение, очень неочевидное если не знать об этом: serial

Можно указывать как штуки, так и проценты.

вторник, 6 августа 2024 г.

angie+grafana

https://angie.software/configuration/grafana/

1) проверить, что есть

include prometheus_all.conf;

2) добавить блок для статов (и лучше вообще на отдельный порт, с этим работать проще)

    location =/p8s {
        prometheus all;
    }

! Нюанс: если данная лока смотрит не на локалхост, обязательно или добавить авторизацию, или конструкцию вида

allow 127.0.0.1;
allow 192.168.0.0/16;
deny all;

3) в prometheus

scrape_configs:
  - job_name: "angie"
    scrape_interval: 15s
    metrics_path: "/p8s"
    static_configs:
      - targets: ["192.168.1.100:80"]

4) в графану добавляем график 20719

PS Если нужно просто смотреть статы одной ноды, графана не нужна:

https://angie.software/configuration/monitoring/

ставим Console Light пакет, несколько строк конфига, и будет https://console.angie.software/

четверг, 11 июля 2024 г.

mysql медленная репликация

 Бывает что слейв начинает отставать от мастера, поскольку на слейве репликация прокатывается в один поток. И тут помогает (для mariadb):

https://mariadb.com/kb/en/parallel-replication/

Впрочем, был подсказан ещё вариант, менее надёжный, более быстрый (на слейве):

SET GLOBAL sync_binlog = 0; SET GLOBAL  innodb_flush_log_at_trx_commit = 0;

суббота, 15 июня 2024 г.

Компактные домашние NAS

 Требования (мои) к компактному, домашнему хранилищу:

1) размеры, все коробки даже под 3.5" достаточно большие

2) поддержка m.2

3) достаточная тишина

4) полностью готовое, условный запуск в работу - максимум 10 минут от момента распаковки.

5) минимум обслуживания

6) для дома означает разумный бюджет, synology тут вообще никаким боком, разве что ежедневно мониторить авито на предмет того ds126 + не соответствие п.1 по размеру. Туда же всякие asustor

Да, есть rpi + всякие модули, типа radxa hat или вообще usb to sata конвертер или внешний сата диск, очень кастом, но требует много времени и сил - отпадает по п.4. Как и клоны rpi с набортным m.2 слотом по той же причине. Да, там много решений, но смотрим п.4 + п.5 + п.6

Что же в принципе есть?

KubeSail + pibox, под 2.5" SSD, на базе raspbian CM4, что даёт много возможностей, и да, из коробки k3s. Можно просто на свой rpi поставить pibox. Но проект выглядит полузаброшенным, а купить в рф очень проблемно

ORICO CD2510

NasCloud Angel 1 - размер минимален, но дисков не содержит вообще, как и места под них, то есть подключать надо по usb

Да и как-то всё... дополню если что-то адекватное ещё найду.

ЗЫ был найден orico за 6к и он и был взят.

среда, 5 июня 2024 г.

ansible, docker, Error connecting: Error while fetching server API version: Not supported URL scheme http+docker

 FAILED! => {"changed": false, "msg": "Error connecting: Error while fetching server API version: Not supported URL scheme http+docker"}

фикс

pip install requests==2.31.0

https://github.com/docker/docker-py/issues/3256

что-то не первый раз косяк с этим requests

понедельник, 3 июня 2024 г.

amazon aws s3 - path styles

https://community.aws/content/2biM1C0TkMkvJ2BLICiff8MKXS9/format-and-parse-amazon-s3-url

Суть:

есть масса форматов путей у S3, включая особенности про дефолтный регион (вне его такое не работает) - и просто не прочитав про это, можно долго думать что не так.

Если используется амазон и S3 - читать обязательно.

суббота, 1 июня 2024 г.

Форк nginx без маразма: встречаем angie

 Оказывается, существует форк nginx: angie

Суть проблемы: nginx (почти) остановился в развитии, вкладывая основные силы в nginx plus, и масса нужных вещей, таких как предварительный опрос апстримов, толковая работа балансировки, статистика не в 3 строчки, нативные экспортеры в тот же node_exporter - извольте платить (есть несколько вариантов типа VTS, но разработчикам не нравится что их жадность обходят и не рекомендуют такое). 

ЦЕНА. Тут они вообще поехали крышей, "Стоимость Nginx Plus составляет от $2500 до $5000" - в год. На каждый сервер. пример (учесть что это за 2 года). Даже западные мастодонты типа оракла более адекватные. Вообще никому не советую брать плюс. Если выкинуть поддержку 24/7 - цена этой лицензии баксов 100 максимум, тогда можно рассмотреть.

Но. Теперь можно просто перейти на angie, и сразу видим

То есть минус VTS, полностью

  • Режим привязки сессий, при котором все запросы в рамках одной сессии будут направляться на один и тот же проксируемый сервер.

  • Механизм плавного ввода проксируемого сервера в работу после сбоя с помощью опции slow_start директивы server.

То есть уже большой кусок плюса - есть. Да, это далеко не всё (смотрим сайт про Энджи про), но именно мне перекинуты очень нужные вещи. При этом если открыть раздел динамические модули, есть и инструкция по переходу с nginx, и настройка prometheus и grafana.

К большому удивлению, даже vts есть из коробки, только непонятно зачем - это по сути экспортер prometheus.


четверг, 30 мая 2024 г.

Docker hub всё?

 Что имеем: Docker hub перестал работать в России

Кому интересно - в комменты, там много всего.

И небольшой итог:

1) поднимаем кэш

https://docs.docker.com/docker-hub/mirror/ (2)

2) настраиваем короткие пути

https://www.redhat.com/en/blog/be-careful-when-pulling-images-short-name

3) хельмчарт как пример

https://artifacthub.io/packages/helm/docker-registry-mirror/docker-registry-mirror

4) зеркала, но без пуша, писать в /etc/docker/daemon.json, ключ "registry-mirrors": [] (подобрать сами прокси) (https://mirror.gcr.io работает у большинства)


https://gallery.ecr.aws/

https://mirror.gcr.io

https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images

https://daocloud.io

https://c.163.com

https://registry.docker-cn.com

5) не забываем про /etc/containerd/config.toml

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]

        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]

          endpoint = ["https://registry-1.docker.io", "https://mirror.gcr.io"]

Так штатно работает например docker pull nginx

(не забываем сказать systemctl reload docker.service, если не помогло то повторяем с restart)

понедельник, 20 мая 2024 г.

defunct процессы

 # ps -ef | grep defunct

sshd     2094514 2094513  0 Feb15 ?        00:00:00 [sshd] <defunct>

# ps auxww | grep ssh

root     2094513  0.0  0.1  16760  8652 ?        Ss   Feb15   0:00 sshd: unknown [priv]

sshd     2094514  0.0  0.0      0     0 ?        Z    Feb15   0:00 [sshd] <defunct>

Итак, что видим: defunct процесс (2094514) в Z state == zombie. Нужно прибить его родителя (2094513) и его отпустит, напрямую его прибить невозможно, даже с kill -9 2094514 ему ничего не будет.

вторник, 30 апреля 2024 г.

подбираем замену hashicorp vault

 В связи с неадекватностью фирмы hashicorp, творящей всякую дичь типа закрытия доступа с опенсорс (!) продуктам из рф, а также переходом на закрытые лицензии, для teraform уже есть замена opentofu, а теперь смотрим замену для vault

https://thenewstack.io/meet-openbao-an-open-source-fork-of-hashicorp-vault/

И это openbao

Впрочем, с запуском в докере/кубере там не так хорошо, если волт можно было запустить как

docker run --rm --cap-add=IPC_LOCK -e VAULT_ADDR=http://localhost:8200 -p 8200:8200 -d --name=dev-vault vault:1.2.2

то образа openbao/openbao на данный момент не существует, а их дока на попытку получить хельм даёт 404, что странно и печально, форк прошлого года.

суббота, 27 апреля 2024 г.

переход с supervisor на systemd

 Автоматический перезапуск решается штатно, через Restart=always или более правильное Restart=on-failure. Помним про дополнительные StartLimit* итд для постоянного рестарта при нескольких неудачах.

Вопрос сложнее - чем заменить numprocs из supervisor. Мне удалось найти только 1 вариант, через имя с @

https://unix.stackexchange.com/questions/288236/have-systemd-spawn-n-processes

Ну и логи иногда нужны в файлах, тогда есть

StandardOutput=/path_to_log/service.log

StandardError=/path_to_log/service_error.log

Может быть =syslog, тогда будет пойдёт через подсистему рсислога (+ SyslogIdentifier=)

Ну и помним про "костыль" вида ExecStart=aaa >/var/log/1 2>&1