Как стать автором
Обновить
131.19

Системное администрирование *

Лишь бы юзер был доволен

Сначала показывать
Порог рейтинга

Приглашаем на вебинар, посвященный последним обновлениям IVA MCU — ведущей платформы видеоконференцсвязи на российском рынке*

Вы узнаете, как новая версия помогает повысить безопасность коммуникаций, упростить внедрение и сделать работу сотрудников комфортной и продуктивной. Наши эксперты продемонстрируют интерфейс, расскажут о новых функциях с ИИ, покажут реальные кейсы внедрения и ответят на все ваши вопросы.

Спикеры

  • Дмитрий Журавлев, директор по продукту IVA MCU

  • Дмитрий Чугунов, руководитель управления поддержки продаж

Что вас ждет

  • Обзор ключевых функций новой версии IVA MCU

  • Экскурс: как мы обеспечиваем безопасность платформы

  • Примеры успешного внедрения

  • Дорожная карта развития на 2025 год

  • Ответы на вопросы

Зарегистрироваться прямо сейчас.

 *По данным CNews Analytics: Крупнейшие поставщики решений для видеоконференцсвязи 2023.

Теги:
+1
Комментарии0

Миграция сервера GitLab: инструкция от практика

Нужно перенести GitLab на новый сервер, но боитесь потерять данные? Я покажу проверенный способ миграции, сохраняющий все проекты, настройки и историю.

Подготовка

Убедитесь, что:

  • у вас есть root-доступ к обоим серверам;

  • на старом сервере ≥50% свободного места;

  • Вы знаете точную версию GitLab (критически важно!)

Шаг 1: Подготовка нового сервера

Установите идентичную версию GitLab на новую машину:

sudo apt-get update && sudo apt-get install -y curl openssh-server ca-certificates perl 
# Установка конкретной версии (пример для 17.5.5) 
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash sudo apt-get install gitlab-ee=17.5.5-ee.0

Шаг 2: Создание бэкапа на старом сервере

# Проверка свободного места 
df -h  
# Создаем резервную копию
sudo gitlab-backup create

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

Шаг 3: Копирование файлов на новый сервер

Важно! Используем nohup для обеспечения непрерывности процесса и SSH-ключ для безопасного соединения:

# Копирование файла секретов 
nohup /bin/bash -c 'rsync -avh --delete --rsync-path="sudo rsync" -e "ssh -o StrictHostKeyChecking=no -i k" /etc/gitlab/gitlab-secrets.json root@new-server:/etc/gitlab/gitlab-secrets.json'
# Копирование бэкапа 
nohup /bin/bash -c 'rsync -avh --delete --rsync-path="sudo rsync" -e "ssh -o StrictHostKeyChecking=no -i k" /var/opt/gitlab/backups/1742165326_2025_03_16_17.5.5_gitlab_backup.tar root@new-server:/var/backups/gitlab/1742165326_2025_03_16_17.5.5_gitlab_backup.tar'

Примечание: В примере k — это файл приватного ключа. Файл конфигурации (gitlab.rb) намеренно не копируем, но при необходимости полной копии скопируйте и его.

Шаг 4: Восстановление на новом сервере

Сначала остановите необходимые сервисы:

sudo gitlab-ctl stop puma 
sudo gitlab-ctl stop sidekiq

Затем запустите восстановление (с nohup для надежности):

nohup /bin/bash -c "gitlab-backup restore BACKUP=1742165326_2025_03_16_17.5.5 force=yes"

Важно: Идентификатор бэкапа — это часть имени файла до gitlabbackup.tar. Параметр force=yes избавляет от подтверждений.

Шаг 5: Перезапуск и проверка

sudo gitlab-ctl restart 
sudo gitlab-ctl reconfigure  
# Проверки целостности данных 
sudo gitlab-rake gitlab:check SANITIZE=true 
sudo gitlab-rake gitlab:doctor:secrets 
sudo gitlab-rake gitlab:artifacts:check 
sudo gitlab-rake gitlab:lfs:check 
sudo gitlab-rake gitlab:uploads:check

Финальная проверка

Убедитесь, что:

  • вход работает;

  • репозитории открываются;

  • CI/CD пайплайны запускаются;

  • все проекты на месте.

Типичные проблемы и их решение

Ошибка 502 при доступе к некоторым репозиториям:

sudo gitlab-ctl restart 
sudo gitlab-ctl reconfigure

Рекомендации от практика

  1. Тестовая миграция: Сначала попробуйте на тестовом сервере.

  2. Окно обслуживания: Предупредите команду заранее.

  3. Резервный план: Не выключайте старый сервер до полной проверки нового.

  4. Мониторинг: Следите за логами первые дни после миграции.

  5. DNS: Обновите DNS-записи после успешной миграции.

Заключение

Ключ к успешной миграции — точное соблюдение версионности, использование nohup для длительных операций и тщательная проверка после восстановления.

Подробнее: docs.gitlab.com/ee/administration/backup_restore/restore_gitlab.html

Бонус: инструмент для построения последовательности обновления гитлаба

Теги:
+3
Комментарии0

Опубликовали программу infra.conf'25 — конференции про работу с высоконагруженными системами и инфраструктурой

Итоговая программа ежегодной infra.conf'25 объединит доклады про платформенную разработку, применение больших языковых моделей, решения с открытым исходным кодом, обеспечение безопасности, инфраструктуру для машинного обучения и мобильной разработки.

Спикерами infra.conf'25 станут ведущие инженеры и разработчики Яндекса, Купера, MTS Web Services, Positive Technologies, AvitoTech, Sber AI и других компаний. Организаторы мероприятия — команда Yandex Infrastructure, которая создаёт и предоставляет внутреннюю инфраструктуру Яндекса.

Конференцию откроет главный доклад от Андрея Година, руководителя Yandex Infrastructure, и Александра Чубинского, руководителя Yandex Platform Engineering.
Также среди спикеров infra.conf'25:

  • Александр Николаичев и Николай Гриценко из Yandex Infrastructure — «Все дороги ведут в Internal Development Platform (IDP)».

  • Роза Морозенкова из Купера — «ML‑платформа: зачем она нужна вам, нам и ML‑инженерам».

  • Кирилл Сюзев из команды платформы для разработчиков SourceCraft — «Облачный CI/CD — 5-звёздочный отель для особо опасных любимых пользователей».

  • Валерий Евдокимов из ecom.tech (ex. Samokat.tech) — «Превозмогая opensource: опыт внедрения OpenTelemetry, Qryn и Coroot для выстраивания системы наблюдаемости».

  • Виталий Шишкин из Positive Technologies — «Tetragon: лучшие практики и нюансы разработки Tracing Policy».

  • Эдуард Оболенский из Yandex Infrastructure — «Опыт построения инфраструктуры вокруг мобильной разработки».

Также гости мероприятия смогут посетить воркшоп по Surface Mount Device‑пайке — это процесс пайки электронных компонентов поверхностного монтажа к печатным платам.

infra.conf'25 пройдёт 5 июня в Москве в Loft Hall #8. Также доклады можно посмотреть онлайн на сайте конференции. Для участия нужно зарегистрироваться на сайте и получить приглашение.

Теги:
+9
Комментарии0

VPS со скидкой 49% от PQ.Hosting в Юго-Восточной Азии — Малайзия открыта для предзаказов

Мы открываем предзаказ на виртуальные серверы в Малайзии, в дата-центре в Куала-Лумпуре. Это уже 49-я локация в нашей сети.

Почему эта площадка может быть интересна для ваших проектов:

  • близость к основным рынкам Юго-Восточной Азии (Сингапур, Индонезия, Таиланд, Китай);

  • стабильная правовая среда для работы IT-бизнеса;

  • порты до 10 Gbps без ограничений по трафику уже в базовой конфигурации.

Активация серверов запланирована через 96 часов. До этого момента можно оформить заказ со скидкой 49% по промокоду PRESALE49. Срок действия промокода — до 13.05.25 23:59 UTC+3.

Больше информации о запуске — в наших следующих обновлениях.

Теги:
0
Комментарии0

Вебинар | Что нам стоит «лес» построить? Принципы работы с многодоменными инфраструктурами

13 мая, 15:00
МТС Линк

Продлеваем майские вебинаром о лесах! Недавно для РЕД АДМ вышло глобальное обновление: появилась возможность мигрировать сложные многодоменные ИТ-инфраструктуры на всех уровнях леса. Это уникальное решение для рынка отечественных систем управления. Слушателей вебинара ждет подробный обзор возможностей решения, а также демонстрация процесса миграции сложной ИТ-инфраструктуры.

План вебинара: максимум практики!

— Сайты VS поддомены: в чём разница? Рассмотрим особенности каждого подхода к построению инфраструктуры

— Демонстрация: ввод контролеров РЕД АДМ в корневой домен и поддомен на базе Microsoft Active Directory

— Подробнее о поддоменах: настройка отдельного поддомена на базе Службы каталогов РЕД АДМ

— Рассмотрим работу транзитивных доверительных отношений между поддоменами

— Оцениваем результаты трудов! Отключаем Microsoft Active Directory и наблюдаем за работой ИТ-инфраструктуры на базе РЕД АДМ

Спикер: Кристина Орлова, эксперт центра компетенций РЕД СОФТ

Регистрация >>

Теги:
+1
Комментарии0

Состоялся релиз РЕД ОС 8 для архитектуры процессоров ARM

Релиз для архитектуры процессоров ARM открывает новые возможности по созданию отечественных программно-аппаратных комплексов, а также расширяет совместимость РЕД ОС 8 с российскими аппаратными платформами.

Установочные образы под различные ARM-платформы уже доступны на сайте.

Поддержка процессоров на архитектуре ARM в РЕД ОС 8 позволит российским компаниям снизить зависимость от зарубежного программного обеспечения. Работоспособность РЕД ОС 8 уже подтверждена для российских процессоров Байкал-М и Байкал-S, сертификаты совместимости размещены на сайте РЕД ОС.

Помимо устройств от российских компаний, РЕД ОС 8 демонстрирует стабильную и корректную работу на процессорах серии Ampere Altra и Huawei Kunpeng.

Скачать образы
Читать подробности в пресс-релизе

Теги:
+3
Комментарии0

«Первая Форма» представила новую админпанель для быстрой low-code настройки

В новой версии low-code BPM-системы «Первая Форма» представлена обновленная административная панель для настройки процессов. Её главное преимущество — редактор, который даёт администраторам системы возможность создавать автоматизации без глубоких технических знаний и привлечения IT-специалистов. Решение помогает быстрее настраивать и оптимизировать процессы.

В редакторе автоматизаций появилось три новых инструмента для работы с запросами:

  • Визуализация плана запроса. Эта функция отображает процесс сбора данных из баз и позволяет определить этапы SQL-запроса, которые влияют на производительность. Инструмент помогает администратору понять, как работает его запрос, найти причину долгого выполнения и оптимизировать его.

Визуализация плана запроса похожа на MS SQL
Визуализация плана запроса похожа на MS SQL
  • Встроенное версионирование скриптов с функцией отката. Если изменения привели к ошибке, администратор может вернуть предыдущую сохранённую версию без потери данных.

  • Интеллектуальная система подсказок (IntelliSense). Эта функция помогает быстрее написать запрос к базе данных без указания названий таблиц или полей. Администратор может написать название процесса или параметра, а система сама заполнит нужные значения.

«Обновлённый редактор “Первой Формы” решает ключевые технические задачи при настройке BPM-системы. IntelliSense для создания автоматизаций, инструменты анализа производительности SQL-запросов и система версионирования формируют комплексное решение, которое сокращает технический барьер между бизнес-требованиями и их реализацией».

Евгения Бушуева, руководитель проекта по тестированию нового интерфейса администрирования «Первой Формы»

Другие функции новой версии можно изучить в материале на сайте.

Теги:
+1
Комментарии0

В связи с интенсивным сокращением максимального срока действия TLS-сертификатов (пока что обещают 47 дней, но для всех и к 2030 году), коллеги саркастически поинтересовались, можно ли сделать так, чтобы сертификат выписывался на каждый TLS-запрос. Шутки - шутками, но сделать-то можно. И даже не требуется переделывать протокол TLS - есть готовое решение.

Если внимательно посмотреть на алгоритм TLS-хендшейка, то окажется, что секретный ключ, соответствующий открытому ключу из серверного сертификата, требуется там только один раз - для формирования подписи в сообщении CertificateVerify. Соответственно, секретного ключа от сертификата вообще может не быть на сервере, а сервер будет обращаться к некоторому подписывающему узлу, у которого этот ключ есть и который подтвердит TLS-сессию, подписав значение для CertificateVerify. Это вовсе не теоретическое рассуждение, именно так делается на практике, когда входящие соединения принимает прокси-провайдер (CDN, обычно), но передавать этому провайдеру секретные ключи от сертификатов для своих доменов клиент не желает. Первыми в промышленных масштабах такую услугу сделали в Cloudflare, более десяти лет назад. Называется Keyless SSL.

Так что, вместо возни с автоматическим перевыпуском суперкоротких сертификатов, центральный сервис может выдавать квитанции доступа на каждую TLS-сессию. Естественно, TLS-сертифкат сервера должен быть предъявлен раньше, чем отправлено сообщение с подписью CertificateVerify. Однако эти сообщения в TLS передаются сервером одной серией, поэтому, в процессе создания TLS-сессии, сервер сможет сразу же получить от центрального узла и сгенерированный только что сертификат, и соответствующую подпись, собрать это всё вместе и отправить клиенту.

Сертификат, таким образом, окончательно превратится в безотзывный тикет доступа, мгновенного действия, а сервер будет привязан к центральному провайдеру (можно совместить с крупными CDN, у которых и так есть собственные хорошо известные УЦ). Проверку совпадения подписей, серверной и на сертификате, будет всё так же проводить браузер (речь, напомню, про веб). В браузере ничего не нужно переделывать совсем: если сервер не смог предъявить корректную подпись в CertificateVerify - TLS-сессия браузером установлена не будет.

Это, если что, была минутка технологического юмора. Но вот то, что развитие инфраструктуры TLS-сертификатов в вебе движется в сторону тикетов доступа (или, скорее, квитанций) - отрицать всё сложнее.

Теги:
+6
Комментарии5

Заполните опрос State of DevOps Russia 2025: помогите отследить тренды и развитие DevOps-практик

«Экспресс 42» запустил ежегодное исследование состояния DevOps в России. Ключевой темой исследования в 2025 году будет developer experience. На основании ваших ответов хотим изучить, что помогает компаниям формировать позитивный опыт для разработчиков и как на него влияют внутренние платформы, ML/AI-инструменты, облачные технологии и практики ИБ. 

В остальном, как и всегда, посмотрим, какие инструменты используют в индустрии, отследим технологические тренды и изучим факторы, влияющие на профиль эффективности компаний. Результатами поделимся осенью. Если у вас есть опыт в сфере DevOps — пройдите опрос. Это займёт около 20 минут. Чем больше респондентов, тем точнее результаты. 

Для кого опрос

Мы приглашаем заполнить анкету исследования всех специалистов, связанных с DevOps: инженеров и администраторов, разработчиков и тестировщиков, техлидов и тимлидов, CIO и CTO. В 2024 году в опросе приняли участие больше 4100 респондентов, и мы надеемся, что в этом году вас будет ещё больше. 

Если вы заполните анкету, то сможете поучаствовать в лотерее с розыгрышем классных призов от «Экспресс 42» и генеральных партнёров исследования. Более 80 победителей получат мерч, подписки на полезные и развлекательные сервисы, промокоды на незаменимые в работе продукты и билеты на такие профильные конференции, как Highload и DevOpsConf. 

Присоединяйтесь!

P. S.

Полные отчёты с 2020 по 2024 год можно скачать на лендинге State of DevOps Russia.

Теги:
+3
Комментарии0

Что нужно знать и уметь начинающему системному администратору?

Умение работать с Bash и применять grep, awk, sed, tar, ssh, scp — это здорово, но еще далеко не все. Даже для новичка. Хорошо бы погрузиться в тонкости работы с железом, сетями, автоматизацией, виртуализацией, оркестраторами, базами данных и вот этим всем. Ну и софт-скиллы подтянуть, куда же без них.

Чтобы ничего не упустить, мы собрали небольшой скилл-сет со ссылками на полезные обучающие материалы: статьи, видео, книги, курсы, тренажеры и т. д. Изучайте и прокачивайте компетенции.

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

Вы научитесь:

  • администрировать Linux на SelectOD,

  • работать с командной строкой и основными утилитами,

  • управлять пользователями, файлами и правами доступа,

  • настраивать сети, SSH-соединения и мониторинг системы,

  • анализировать логи и устранять инциденты,

  • управлять пакетами и обновлениями программного обеспечения.

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

«Первая Форма» представила SRM-решение с ИИ-агентами для автоматизации закупочных процессов

SRM-решение на базе low-code BPM-платформы объединяет компанию-заказчика и поставщиков в едином информационном пространстве, автоматизируя полный цикл закупочных процессов — от формирования потребности до исполнения контракта.

SRM-система обеспечивает единую базу данных поставщиков, номенклатур, договоров и рекламаций, позволяя отслеживать весь жизненный цикл закупок. Она также минимизирует риски при взаимодействии с поставщиками благодаря искусственному интеллекту — ИИ-агенты могут проверить благонадёжность контрагентов по данным из Контур.Фокуса и информации об арбитражных делах. 

«Долгое время компании полагались на зарубежное ПО для управления закупками, но после ухода иностранных вендоров выросла потребность в отечественных аналогах. Мы разработали SRM-решение, которое заменяет функции SAP SRM и даёт компаниям инструменты для управления поставщиками, автоматизации закупок, проведения конкурсных процедур и работы с договорами. Всё это на единой low-code платформе с возможностью установки на сервер заказчика», — комментирует генеральный директор «Первой Формы» Денис Селезнёв.

Часть процесса можно делегировать ИИ-агентам — виртуальным сотрудникам, которые обучаются на корпоративных инструкциях.

Фонд «Сколково» и аналитический центр TAdviser провели исследование российского рынка SRM. По результатам демо-показа «Первая Форма» получила высший балл в группе low-code решений и 2 место среди всех платформ, включая  специализированные решения.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

В честь "Всемирного дня бэкапа" решил частично проверить восстановление той части резервного копирования, что описана у меня сколько-нибудь подробно здесь (на Дзене, в той же статье короткие воспоминания о бэкапах в 80-е годы). Скрипты копирования такие:

@start "split into BD-RE slices" %comspec% /k py .\bd_split.py %~nx1
#! python3.13

import sys


BUF_SIZE = 1024 * 1024
FS_SIZE = 2048 * 512 # кратно BUF_SIZE, значит можно использовать сравнение count == BD_DISK_SIZE
BD_DISK_SIZE = 25025314816 - FS_SIZE

file_name = sys.argv[1]
source = r"K:\backup\2311\{0}".format(file_name)
dest_head = r"D:\kvk\YandexDisk\Acronis\{0}".format(file_name)

with open(source, "rb") as input:
    part = 1
    while True:
        count = 0
        with open(dest_head + ".{0:02d}".format(part), "wb") as output:
            bytestring = input.read(BUF_SIZE)
            while bytestring:
                count += output.write(bytestring)
                if count == BD_DISK_SIZE:
                    part += 1
                    break
                elif count > BD_DISK_SIZE:
                    raise Exception("Превышен максимальный размер диска для части {0}...".format(part))
                bytestring = input.read(BUF_SIZE)
            else:
                break

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

Сегодня в процессе проверки подключил внешний жёсткий диск с бэкапами, для самой маленькой резервной копии из недавних посчитал SHA256, восстановил её же из облака вместе с подписями, проверил их, собрал эту инкрементную резервную копию из кусочков, проверил SHA256. Совпали. Последний раз проверял по такой схеме наверно более 10 лет назад, ну и сегодня "на всякий случай" :)

А вообще у меня бэкапы проверяются периодически (какие автоматически после каждого резервного копирования, какие вручную еженедельно), а восстановление из копии при изменениях в "железе" и обновлении софта обычно.

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Вебинар: «Импортозамещение в госсекторе — от операционной системы до оперативного управления компанией»

Кто проводит: эксперты компаний РЭД ОС и «Первая Форма»

Кому полезно: техническим специалистам, бизнес-аналитикам, директорам по ИТ и инновациям в госкомпаниях и ведомствах

Почему это важно:

С 1 января на объектах КИИ запрещено зарубежное ПО. Также Минцифры рекомендует госкомпаниям и ведомствам использовать только российские операционные системы и офисные программы. 

Но на практике большая часть настольных компьютеров в госучреждениях по-прежнему работает на продуктах Microsoft. 

На вебинаре мы рассмотрим пример внедрения ПО для полного импортозамещения – low-code BPM-системы на отечественной операционной системе РЕД ОС.

Что узнают участники:

  • какие технологические и правовые аспекты нужно учитывать при импортозамещении в госсекторе.

  • какие процессы можно автоматизировать в едином решении — от управления госпрограммами до планирования отпусков.

  • как свои процессы оцифровали в Аналитическом центре при Правительстве РФ, Академии Ростеха и других компаниях. 

Как попасть:

Участие бесплатное, по предварительной регистрации. Вебинар состоится 16 апреля в 12:30.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Ближайшие события

Расширили почтовые тарифы в SpaceWeb

Вам письмо: делимся апдейтами почтовых тарифов в SpaceWeb. Напомним, что мы можем помочь с созданием электронной почты на собственном домене. Что нового: теперь с 10 Гб мы добавили место под почту до 50 и 100 Гб.

И ещё некоторые фичи почты для домена от SpaceWeb:

  • неограниченное количество доменов и почтовых ящиков;

  • защита от спама и вирусов: доступен комплекс от Лаборатории Касперского для контроля почтового трафика от вредоносного ПО и спама;

  • сбор писем работает по протоколам IMAP, POP3, SMTP;

  • есть поддержка кириллических доменов.

Узнать подробнее о возможностях и тарифах можно на нашем сайте. Приятный бонус: при оплате за год действует скидка.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Привет, Хабр! Меня зовут Станислав Егоркин, я инженер юнита IaaS департамента разработки Infrastructure в AvitoTech.

Недавно я рассказывал о новых подходах, которые мы использовали при создании дашбордов для диагностики. С тех пор дашборды такого типа обрели еще большую популярность, и мы решили выложить пример их реализации в галерею дашбордов Grafana.

За основу я взял наш дашборд Node Status, который показывал в предыдущей статье. Напомню, он служит для того, чтобы быстро понять, все ли в порядке с нодой в Kubernetes-кластере. В своей основе она содержит множество небольших панелек, которые единообразно подсвечиваются при возникновении аномалий: оранжевый значит «обрати внимание», красный - явно что-то не так. При необходимости по клику можно получить расширенную информацию по каждой метрике.

Я очистил наш внутренний вариант от специфики. Это позволяет использовать дашборд в любых окружениях, в которых развернуты нужные экспортеры:

  • node-exporter (лейбл «node» должен содержать имя Kubernetes-ноды);

  • kube-state-metrics;

  • node-problem-detector (опционально).

Несмотря на то, что все панельки должны в этом случае работать «из коробки», сам дашборд все же следует воспринимать как конструктор. У каждой инфраструктуры есть специфика, и вы можете легко отразить ее, опираясь на то, как реализованы уже имеющиеся панели.

Я полагаю, что ценность Node Status для комьюнити состоит не в том, какие именно метрики на ней собраны, а в том, на каких принципах она основана. Эти принципы зарекомендовали себя у нас, и вероятно будут также полезны и вам.

Если вы у вас возникнут сложности при использовании дашборда или предложения по его улучшению, пожалуйста, оставляйте свои комментарии! 

Теги:
Всего голосов 19: ↑19 и ↓0+20
Комментарии0

Вспомнились давние обсуждения в выборе размера кластера в файловой системе. Где всё плохо, маленький размер больше фрагментация, большой слишком много места пропадёт. Так вот стало интересно сколько же места будет пропадать в зависимости от размера кластера, компьютере среднестатичтического(ну на моём допустим) пользователя.

Сейчас у меня диск 2TB на котором в общей сложности живут 1998738 файлов от исходников линукса и его компонентов, до фото/видео архива, игр, софта и всяких там ISO(хотя под них в основном NAS используется). Сейчас всё это добро занимает порядка 1.6TB

Я проиндексировал весь диск. и решил посчитать сколько будет оверхед по месту для размера кластера от 512 до 64К.

512 - 529MB
1K - 1076MB
2K - 2232MB
4K - 4769MB
8K - 10162MB
16K - 22102MB
32K - 47990MB
64K - 103391MB

Вот такая математика.

PS. Я не учитывал что файлы могут хранится в MFT. так как какой максимальный размер файла там может хранится для меня вопрос окутанный тайной.

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии1

Orion soft обновляет виртуализацию zVirt: Storage DRS, репликация на уровне СХД YADRO и Huawei, ядро ИСП РАН и другие новые функции

31 марта мы выпустим крупное обновление нашей защищенной платформы виртуализации zVirt.

Версия 4.3 включает инструмент для объединения нескольких доменов хранения в логический кластер (Storage DRS), управление репликацией на уровне СХД YADRO и Huawei, управление сертификатами через интерфейс, отечественное ядро ИСП РАН, Terraform-провайдер и еще 30 улучшений.

Приглашаем 1 апреля в 11:00 по Мск на вебинар о новом релизе, на котором расскажем подробнее о главных нововведениях и поделимся планами на развитие продукта.

Регистрация открыта по ссылке.

Теги:
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Вышла новая версия XRay-core v25.3.6, одно из самых интересных нововведений которой - возможность обхода блокировок с помощью domain fronting и локального MitM без использования прокси-сервера. Идея domain fronting основана на том, что некоторые сервисы и CDN (например, Google/Youtube, Meta/Facebook/Instagram, а также Fastly, которую используют Reddit и Twitter) позволяют обращаться к своим сайтам и сервисам, передавая разные домены в поле SNI (при установке зашифрованного соединения - это поле видно оборудование анализу трафика и на основании его содержимого принимается решение о блокировке или замедлении) и в поле "Host" HTTP-запроса. Таким образом можно, например, обратиться к серверу "youtube.com" указав в SNI адрес "google.com", в результате чего клиент получит доступ к Youtube, но для стороннего наблюдателя это будет выглядеть как обращение к поисковику.

XRay в новой версии позволяет автоматически производить такие подмены для заданного списка доменов, и таким образом получать доступ к сервисам, страдающим от устаревания оборудования (по мнению РКН) напрямую без замедления и без использования прокси-серверов.

Поскольку при использовании domain fronting сервер будет отвечать сертификатом "подменного" домена, а не того домена, который запросил браузер, XRay так же на лету подменяет сертификаты из ответа сервера на свои самоподписанные с нужным доменом - для этого нужно добавить в список доверенных сертификатов в браузере свой самоподписанный корневой сертификат.

Краткое описание настройки можно найти здесь, а подробный пример конфигурации клиента - здесь.

Теги:
Всего голосов 5: ↑5 и ↓0+6
Комментарии6

Хабр, привет!

Приглашаем на митап о карьере в Linux🐧.

19 марта эксперты компании и приглашенный гость — блогер Константин Дипеж (DeusOps) — обсудят профессиональный путь Linux-специалиста.

— как безболезненно «вкатиться» в Linux

— с чем откликаться на вакансию

— какие вопросы задают на техническом интервью

— как расти профессионально после оффера

— как развиваться в DevOps и не только

Приглашаем Linux-специалистов, которые видят зоны роста и хотят выйти на новый уровень профессиональной экспертизы

Во время дискуссии можно будет задать вопросы спикерам. За лучшие – обещаем мерч;)

Встреча пройдет онлайн, 19 марта в 18:00 (мск). Подробности и регистрация на сайте.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

IMPulse - менеджмент инцидентов. Интеграция с Telegram.

После первой публикации об IMPulse, стало понятно, что основная интеграция, которую от нас ждут, это Telegram. И мы рады её представить!

Для работы с Telegram мы использовали группы с топиками - они лучше всего ложатся на наш функционал. В процессе разработки мы столкнулись с багом при упоминании (mention) пользователей в Telegram, о чём составили соответствующий issue. Если вы тоже заинтересованы в закрытии этого бага, пожалуйста поставьте "👍".

Помимо интеграции с Telegram стоит упомянуть реализованный шедулер для работы команд реагирования по расписанию. Синтаксис конфигурации составлен таким образом, чтобы в будущем была возможность интегрироваться с внешними календарями типа Google.

Также мы запустили нашу группу в Telegram для вопросов и обсуждений.

Скоро мы снова придём с очередными хорошими новостями! Подписывайтесь здесь, в Telegram'е или на GitHub'е, чтобы быть в курсе.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии1

Представим, что у нас некоторая система, состоящая из микросервисов, которые работают на разных машинах, но внутри общей IP-сети на немаршрутизируемых IP-адресах (10.0.0.0/8, 192.168.0.0/16 и т.д.). Микросервисы разговаривают друг с другом по TCP, подключаясь по IP-адресам, указанным в соответствующих конфигурационных файлах каждого. Но можно указать и не IP-адрес, а некий хостнейм, прописав его же в /etc/hosts. Почему-то часто считают, что "хостнейм эквивалентен IP-адресу". Оно, конечно, удобно так считать, с точки зрения "человекопонятности", но не всегда хорошо с точки зрения безопасной настройки.

Дело в том, что опечатка (или намеренная замена символа) в имени хоста может привести к тому, что адрес окажется в чужой DNS-зоне. Простейший случай: users-db.example.com -> users-db.example.co. Да, должно быть закрыто, да, есть .local, а хостнеймы можно записывать одним "лейблом", но это не решает проблему: использование символьного хостнейма гарантирует дополнительные запросы для разрешения имён, будь то локальные запросы на той же машине или запросы внешние, возникшие из-за опечатки. А всякий, даже локальный, библиотечный/системный вызов, выполняющий трансляцию имён и адресов, готов принести с собой неожиданные эффекты (см. ниже пример уже про IP-адреса). Не обязательно это эффекты от подмены библиотеки или подмены конкретного вызова. А если кто-то умеет записывать в /etc/hosts, то он и конфиг любой поправит. Что, впрочем, не всегда так, поскольку раскладывание hosts по машинам могут автоматизировать - тогда перехватить нужно только точку управления скриптом, формирующим файл. А ведь ещё обычно используется два протокола: v6 и v4, адреса и "резолвинг" там разные.

Если в конфигах микросервисов прописывать непосредственно IP-адреса (пусть и автоматом), то ситуация несколько лучше. Есть неплохие шансы, что трансляция имён/адресов не будет использована. Минимальная опечатка в записи немаршрутизируемого адреса реже приводит к тому, что трафик убегает наружу. Это так потому, что, во-первых, на то они и немаршрутизируемые; во-вторых, в таких системах обычно настраивают различные ACL, а они настраиваются для IP, в других местах, не на конкретной машине с микросервисом, да и пальцы у настраивающих ACL дрожат по-иному.

Тут, впрочем, необходимо отметить некоторые тонкости: ping 010.010.010.010 -- на многих и многих системах отправит пакеты в сторону серверов Google (проверьте). Я раньше рекомендовал использовать этот довольно хитрый "оборот" в рамках собеседований на должность сетевого инженера/разработчика (теперь уже смысла, понятно, нет), поскольку понимание того, почему здесь пакеты уходят в сторону сети Google, раскрывает основную часть опасений, связанных с использованием имён хостов в конфигах. Но всё же, в 010.010.010.010 - более одной "опечатки".

Теги:
Всего голосов 5: ↑3 и ↓2+4
Комментарии1

Образы FreeDOS, HDAT2, MHDD, memtest86+, UEFI memtest86, UEFI Shell для загрузки в Ventoy (требуется версия 1.0.80 или новее)

Скачать: tools-ventoy (GoogleDrive)

Файлы .7z необходимо распаковать. Файлы .img уже сжаты gzip поэтому не запакованы в архивы.

Legacy/CSM: FreeDOS_vtmemdisk.img, HDAT2v7.5_vtmemdisk.img, MHDDv4.6_vtmemdisk.img

memtest86+v7.20_vtgrub2.iso - комбинированный ia32 + x64, Legacy/CSM + UEFI

UEFI: UEFI_memtest86v11.2_vtgrub2.iso, UEFI_shellx64.efi

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии3

Let's Encrypt больше не будет отправлять уведомления по электронной почте об истечении срока действия сертификатов

письма счастья от Let’s Encrypt
письма счастья от Let’s Encrypt

Ну что ж, вот и кончилась эпоха... С момента своего создания Let’s Encrypt отправлял уведомления об истечении срока действия сертификатов по электронной почте подписчикам, которые предоставили им свой адрес. Однако, начиная с 4 июня 2025 года, данная рассылка будет прекращена.

Let’s Encrypt приводит следующие аргументы в поддержку этого решения:

  1. За последние 10 лет подавляющее большинство подписчиков внедрили автоматизированные системы обновления сертификатов, которые являются более надёжными, чем получение уведомлений по электронной почте.

  2. Для рассылки уведомлений Let’s Encrypt вынужден хранить миллионы адресов электронной почты, что негативно сказывается на конфиденциальности. Сокращение объёма хранимых данных рассматривается как приоритетная задача.

  3. Отправка уведомлений обходится в десятки тысяч долларов в год — средства, которые можно использовать гораздо эффективнее для улучшения других компонентов инфраструктуры.

  4. Поддержка системы рассылки увеличивает общую сложность инфраструктуры, требуя дополнительных ресурсов и повышая вероятность ошибок. С учётом планов по внедрению новых функций становится необходимым сокращение избыточной сложности инфраструктуры.

Для тех, кто хочет продолжать получать уведомления об истечении срока действия сертификатов есть возможность воспользоваться сторонним сервисом Red Sift Certificates Lite (https://redsift.com/pulse-platform/certificates-lite). Мониторинговый сервис Red Sift предоставляет уведомления бесплатно для 250 сертификатов.

Несмотря на заявленное стремление сокращать количество хранимых адресов для рассылки уведомлений об истечении срока действия сертификатов, рассылки о новостях Let’s Encrypt и ее материнской компании ISRG (https://www.abetterinternet.org/) не прекратятся... А те кто не успел на них подписаться даже могут это сделать. Правда, как это сочетается с желанием сократить общую сложность инфраструктуры, я уже не могу и предположить.

Для тех, кто еще не добавил автоматическое обновление сертификатов на свой сервер – вот подходящая команда для cron (пытается обновить сертификаты через каждые трое суток):

0 2 */3 * * /usr/bin/certbot renew --quiet >/dev/null 2>&1

Добавить ее можно путем вызова команды crontab -e

Обратите внимание что после ввода строки надо обязательно нажать Enter!

Теги:
Рейтинг0
Комментарии2

Из Let's Encrypt сообщают, что выпустили первый TLS-сертификат сроком действия шесть дней. Сделать такие TLS-сертификаты доступными для всех планируют к концу 2025 года. Короткоживущие сертификаты не будут содержать ни ссылки на OCSP-респондер, ни ссылки на точку раздачи CRL. То есть, никаких механизмов проверки статуса (отзыва) в сертификате не предусмотрено. Такой вариант допускается для короткоживущих сертификатов требованиям CA/B-форума (организация, через которую определяются требования к УЦ, корневые ключи которых включаются в дистрибутивы браузеров).

Для подключения шестидневных сертификатов нужна поддержка соответствующих профилей в ACME-клиенте. Очевидно, заказ короткоживущих сертификатов для легитимных, - долгоживущих, - сайтов имеет смысл выполнять только полностью автоматически. Зато такие сертификаты обещают и для IP-адресов, что удобно в ряде сценариев использования. DNS для подтверждения управления IP-адресами не подходит. Поэтому проверяется только факт управления узлом под заданным IP-адресом, а не доменной зоной. И такая проверка будет происходить не только по HTTP, но и довольно экзотическим методом TLS-ALPN, который целиком работает на уровне TLS и вообще не виден для веб-сервера, работающего выше TLS.

Что касается перехода к короткоживущим сертификатам. В современном вебе отзыв сертификатов, фактически, не работает. Это хорошо известно. Считается, что коротоживущие сертификаты, в основном, решают эту проблему, так как, в случае компрометации ключа, всё равно быстро заканчивают действовать. Тут, впрочем, нужно учитывать, что это касается только отзыва, а атаки с подменой сертификата вполне могут быть достаточно "быстрыми", чтобы короткоживущий сертификат не оказался самой большой помехой. Но, конечно, подменный сертификат, действующий год, лучше подменного сертификата, валидного только до пятницы - тут не поспорить.

Поскольку проблема отзыва сертификатов и компрометации ключей - одна из центральных в этой области, можно предположить, что скоро короткоживущие сертификаты получат приоритет и в браузерах. Последует постепенный, - но достаточно быстрый, - отказ от доверия "долгим" сертификатам только на основании периода валидности, даже без проверки подписей и доверия к УЦ. Технически, ограничение срока действия может применяться и к оконечным сертификатам от УЦ, корневые ключи которых были добавлены в браузер вручную.

Эта строгая тенденция к снижению срока действия сертификатов, которым браузеры соглашаются верить, достаточно давняя - ей около десяти лет. А хорошим подтверждением курса на "сверхкороткие" сертификаты является то, что в рекомендациях CA/B-форума для таких сертификатов уже закреплено отсутствие требования ссылки на CRL (OCSP сейчас не является обязательным для любых оконечных сертификатов).

Теги:
Всего голосов 3: ↑3 и ↓0+6
Комментарии5

Такое ощущение что SCAP/OpenSCAP и security compliance в целом застряли в начале 2000-ых. Везде xml и xsd, какие-то обскурные утилиты для которых нет руководства. Вся эта отрасль очень нуждается в автоматизации и хорошей документации.

Не нашел для ubuntu репозитория с профилями OVAL, поэтому пришлось собрать из исходников.

OVAL
OVAL

Понадобится несколько зависимостей:

sudo apt-get install git cmake make python3 python3-lxml python3-jinja2 python3-yaml

Клонируем репозиторий:

git clone https://github.com/ComplianceAsCode/content.git
cd content/

Копируем полученный профиль:

rm CMakeCache.txt
cd build
cmake ../

Копируем полученный профиль:

make -j4 generate-ssg-ubuntu2204-oval.xml

Копируем полученный профиль:

cp ssg-ubuntu2204-oval.xml /usr/share/xml/scap/ssg/content/

Запускаем сканирование:

oscap info /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-oval.xml
Document type: OVAL Definitions
OVAL version: 5.11
Generated: 2025-02-13T21:56:16
Imported: 2025-02-14T00:57:48

Запускаем сканирование:

oscap oval eval --results oval-results.xml /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-oval.xml

Генерируем html репорт:

oscap oval generate report oval-results.xml > oval-report.html
Теги:
Рейтинг0
Комментарии1

Для тех кому не хочется вылезать из пригретого корпоративного окружения и IDE, RedHat сделал Podman AI Lab.

ai-lab
ai-lab

Адаптация Docker в корпоративном секторе, в свое время, затянулась, потому что не было «конопки» – удобного и простого UI для разработчиков и коробочного решения вроде OpenShift для IT.

На этот раз вендоры быстро отреагировали на запросы корпоративных клиентов. Podman с расширением AI Lab, может устанавливать модели из каталога. Если каких-то моделей не хватает, то можно скачать их с помощью Ollama, а потом импортировать gguf в AI Lab:

cp ~/.ollama/models/blobs/sha256-cebceffdc781935cd9bbc653c7349730223ecd1ff771d40c96f85339effa78fe ~/Downloads/qwen.gguf

Можно запускать локально, если есть мощный GPU ускоритель, или подключить несколько машин к серверу с H100 с помощью podman-machine.

Можно запускать локально, или подключить несколько машин к серверу с H100 (если он у вас где-то завалялся) с помощью podman-machine.

Все очень удобно, «кнопочно», интегрировано с IDE, есть поддержка Quarkus и все исключительно на Podman. Модели стремительно «коммодитизируются», в отличие от платформы, которая быстро адаптируется под запросы клиентов, но очень редко меняет вендора.

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

Время собирать пакеты

Теги:
Рейтинг0
Комментарии0

Я разверну этот мониторинг «с трех нот»: система для инсталляций с десятками СХД

Инженеры YADRO включили в состав продукта TATLIN.SATELLITES интегрированное решение для мониторинга — система получила название Monitoring Appliance. Она включает в себя компоненты для сбора и хранения метрик со множества массивов, а также их визуализацию и алертинг.

Возможности Monitoring Appliance

Система мониторинга, разворачиваемая из Docker Compose, может: 

  • Собрать метрики производительности компонентов СХД по протоколу SNMP.

  • Принять и обработать SNMP traps от СХД.

  • Принять и обработать Syslog-сообщения от СХД.

  • Мониторить состояние сервера, на котором установлен Monitoring Appliance.

  • Отображать данные мониторинга в виде дашбордов.

  • Оповещать о внештатных ситуациях и пороговых состояниях.

Главная страница визуализации мониторинг. На ней отображаются основные метрики «здоровья» систем хранения данных, на которых хочет сфокусироваться пользователь. Можно выбрать нужную СХД и получить данные конкретно по ней. Также этот дашборд легко пересобрать, исходя из своих целей. 

Дашборд на главной странице
Дашборд на главной странице

Из чего состоит мониторинг и как его повторить, читайте по ссылке →

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Это задачка для DevOps-инженера: почему ArgoCD не расшифровывал секреты из Vault

Нашему DevOps-специалисту Антону нужно было развернуть helm-чарт для Airflow с использованием ArgoCD. Как известно, ArgoCD реализует концепцию GitOps и подразумевает хранение манифестов в репозитории. Но часть данных в values чувствительна, например пароль от базы данных PostgreSQL. Поэтому неплохо было бы вынести эти данные в хранилище секретов (в этом случае — HashiCorp Vault), чтобы скрыть информацию от лишних глаз.

Есть несколько способов подтянуть секреты из Vault в поды. Наиболее предпочтительный по ряду причин — vault-injector. В обычной ситуации Антон бы воспользовался им, но в случае с helm-чартом Airflow задача показалась непростой. Поэтому он решил воспользоваться менее предпочтительным, но точно рабочим (как думал Антон) вариантом с ArgoCD Vault Plugin.

Какая вылезла проблема

Когда секреты были добавлены в хранилище, а ArgoCD Application написан, Антон попытался развернуть его для теста. Вот примерный Application, с которым это делалось (весомая часть пропущена для компактности):

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
 name: airflow
 labels:
   app.kubernetes.io/name: airflow
   app.kubernetes.io/component: airflow
 namespace: argocd
 finalizers:
   - resources-finalizer.argocd.argoproj.io
spec:
 project: default
 destination:
   namespace: some-namespace
   name: cluster
 source:
   repoURL: "airflow_repo_url"
   targetRevision: "revision"
   chart: airflow
   plugin:
     name: argocd-vault-plugin-helm
     env:
       - name: HELM_VALUES
         value: |
             ...
             metadataConnection:
               user: user
               pass: <path:path/to/airflow/secrets#postgres_password>
               protocol: postgresql
               host: postgres.db.url
               port: 5432
               db: airflow_db
               sslmode: prefer
             ...
   
 syncPolicy:
   automated:
     prune: true
     selfHeal: true
   syncOptions:
     - Validate=true
     - CreateNamespace=true

Ничего необычного, за исключением прокидывания values прямо из Application и того самого секрета. А еще — компонент webserver отказался запускаться, ссылаясь на невозможность подключиться к базе данных. Хотя данные были абсолютно точно правильными.

В чем итоге была проблем и как Антон с ней справился, читайте в статье →

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Лучше всего LLM подходят для работы с структурированными данными: CSV, JSON, XML и так далее. Сетевой трафик отлично подходит для анализа и трансформации с помощью AI.

Для этого понадобится установить зависимости и скачать модельку:

pip install ollama graphviz
ollama run qwen2.5-coder:7b

Ollama это очень популярный проект для работы с AI моделями локально, предоставляет не только CLI но и отличную библиотеку на Python. Например ее можно использовать для анализа и трабшутинга сетей.

Необходимо сделать снимок сетевого трафика с помощью tcpdump:

tcpdump -i en0 -w capture.pcap -c 100000

Скрипт распарсит pcap файл и передаст содержимое в qwen2.5 – одну из лучших моделек в своей весовой категории:

Traffic Analyzer
Traffic Analyzer

В рамках парадигмы AI PC\AI Workstation ассистенты ИИ – это не какой-то облачный сервис, а это обычная программа, которая «живет» в IDE, Браузере, офисном пакете или терминале.

Скрипт:

#!/usr/bin/env python3
import subprocess
import ollama
import argparse
import re
import logging
from graphviz import Source
from typing import Optional, List

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

PROMPT_TEMPLATE = """[INST] <<SYS>>
You are a network analysis expert. Analyze this tcpdump output and:

1. List top 3 connections
2. Identify protocol patterns
3. Generate a Graphviz DOT representation of the following network traffic

Format response with:
- Markdown analysis
- Graphviz diagram in ```graphviz block
- Security recommendations
- Find anomalies
<</SYS>>

PCAP Data:
{data}
[/INST]"""

def extract_code_block(response: str, language: str) -> Optional[str]:
    pattern = fr'```{language}\n(.*?)```'
    match = re.search(pattern, response, re.DOTALL)
    return match.group(1).strip() if match else None

def validate_dot_code(dot_code: str) -> bool:
    try:
        Source(dot_code)
        return True
    except Exception as e:
        logging.error(f"Invalid DOT code: {e}")
        return False

def analyze_pcap(pcap_file: str, graphviz_output: str, context_size: Optional[int] = None) -> str:
    try:
        logging.info(f"Reading PCAP file: {pcap_file}")
        result = subprocess.run(
            ['tcpdump', '-r', pcap_file, '-n', '-q', '-t'],
            capture_output=True, text=True, check=True
        )
        pcap_text = result.stdout[:3000]
        logging.info(f"Extracted PCAP text: {pcap_text[:100]}...")

        options = {}
        if context_size:
            options['max_tokens'] = context_size

        logging.info("Sending data to Ollama model...")
        response = ollama.chat(
            model='qwen2.5-coder:7b',
            messages=[{'role': 'user', 'content': PROMPT_TEMPLATE.format(data=pcap_text)}],
            options=options
        )['message']['content']
        logging.info("Received response from Ollama model")

        dot_code = extract_code_block(response, 'graphviz')
        if dot_code and validate_dot_code(dot_code):
            with open(graphviz_output, 'w') as f:
                f.write(f"# Generated from {pcap_file}\n")
                f.write(dot_code)
            logging.info(f"Graphviz DOT code saved to {graphviz_output}")
        else:
            logging.warning("No valid Graphviz DOT code found in response")

        return response

    except subprocess.CalledProcessError as e:
        logging.error(f"tcpdump command failed: {e}")
        raise
    except Exception as e:
        logging.error(f"An error occurred: {e}")
        raise

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='PCAP AI Analyzer with Code Generation')
    parser.add_argument('pcap_file', help='Input PCAP file')
    parser.add_argument('--graphviz', help='Output file for Graphviz diagram')
    parser.add_argument('--context-size', type=int, help='Optional context size (max tokens) for the Ollama model')
    args = parser.parse_args()

    try:
        report = analyze_
Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Практический курс «Системный администратор Linux с нуля»

Привет, Хабр! Selectel запускает курс по работе с серверной операционной системой. Он будет полезен начинающим администраторам, а также разработчикам и DevOps-инженерам, которые хотят погрузиться в Linux и сетевую инфраструктуру.

На курсе вы научитесь:

▫️ работать с командной строкой и основными утилитами;

▫️ управлять пользователями, файлами и правами доступа;

▫️ настраивать сети, SSH-соединения и мониторинг системы;

▫️ управлять инфраструктурой на базе Linux;

▫️ управлять пакетами и обновлениями программного обеспечения;

▫️ анализировать логи и устранять инциденты.

Занятия построены на базе SelectOS. Дополнительных знаний не требуется — достаточно базового владения компьютером и интереса к Linux.

Смотреть программу →

Теги:
Всего голосов 12: ↑12 и ↓0+17
Комментарии0

Вместе с авторизованным учебным центром КУДИЦ объявляем о запуске новых обучающих курсов: «Администрирование Basis Dynamix Standard» и «Администрирование Basis Workplace». Курсы предназначены для системных администраторов и архитекторов, занятия будут проходить в онлайн-формате в течение трех дней (24 академических часа).

Слушатели курса «Администрирование Basis Dynamix Standard» познакомятся с архитектурой платформы и научатся решать связанные с ней типовые задачи администрирования. Участники освоят установку и настройку компонентов Basis vCore и Basis vControl, управление виртуальной сетевой инфраструктурой, данными и вычислительными ресурсами, настройку системы для работы в режиме высокой доступности и выполнение мониторинга.

В рамках курса «Администрирование Basis Workplace» слушатели изучат установку и настройку платформы, включая добавление систем хранения данных и создание кластеров, управление пользователями, рабочими столами и терминальными приложениями, настройку шаблонов рабочих столов и устранение неисправностей.

Кроме того, на сайте центра доступен обучающий курс «Администрирование платформы Basis Dynamix Enterprise», который мы запустили летом 2024 года. Его слушатели изучат архитектуру платформы, научатся управлять аккаунтами и ресурсными группами, работать с виртуальными машинами, включая диски, образы дисков, PCI устройства и графические карты. Особое внимание будет уделено сетевой инфраструктуре: внешним и виртуальным сетям, балансировщикам нагрузки и маршрутизаторам.

Слушателям курсов выдаются сертификаты о прохождении обучения от компании «Базис». Получить дополнительную информацию и записать на курсы можно на сайте учебного центра или у нашего менеджера по работе с партнерами Ирины Кулешовой (ivkuleshova[at]basistech.ru).

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

API и облачные сервисы это очень хорошо, но многим из нас приходится работать в закрытом контуре, без доступа в интернет. В некоторых организациях нельзя даже пользоваться личными устройствами на рабочем месте.
Для таких юзекейсов очень хорошо подходит llamafile от Mozilla.

https://github.com/Mozilla-Ocho/llamafile

Justine Tunney разработчик либы cosmopolitan задался целью сделать LLM портативными и удобными для использования в shell скриптах. Это все тот же llamacpp но LLM (саму модель и весы aka GGUF файл) можно запаковать в один исполняемый файл, который будет работать везде – на маке, винде, линуксе, без внешних зависимостей и доступа в сеть.
Выкачиваем Llama-3.1-8B из huggingface:

curl -LO wget https://huggingface.co/Mozilla/Meta-Llama-3.1-8B-Instruct-llamafile/resolve/main/Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile

Делаем его исполняемым chmod +x Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile и
заворачиваем в bash скрипт с структурированным промптом:

IMG_20250114_01542885aea09d36615a75.md.webp
IMG_20250114_01542885aea09d36615a75.md.webp

Скрипт перекладываем в /usr/local/bin/ а моделька может хранится на NFS шаре.

Таким образом можно получить прокачанную замену для Stackoverflow в корпоративной сети. Можно спрашивать про ошибки в логах, попросить написать руководство по установки x или y.

Например:

./llama "[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:3.1.1:install (default-install) on project camel: Failed to install metadata org.apache.camel:camel/maven-metadata.xml: Could not parse metadata /home/jenkins/.m2/repository/org/apache/camel/camel/maven-metadata-local.xml: in epilog non whitespace content is not allowed but got e (position: END_TAG seen ...

А может LLM заменить скажем системного администратора уровня middle или начинающего тестировщика? По моему глубокому убеждению пока нет.

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

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Загрузочное меню UEFI 101

При загрузке UEFI могут использоваться два boot-menu:

  • меню firmware, хранящееся в NVRAM. Можно вызвать при включении компьютера по hotkey (F8/Esc/etc). Отображается в настройках Gen 2 VM Hyper-V (при этом можно менять порядок загрузки, но не сами записи).

  • меню загрузчика (опционально). В Linux это меню GRUB, в Windows - bootmgr (отображается, если содержит больше одной записи). Современное ядро Linux может загружаться напрямую без GRUB.

В firmware загрузка настраивается через текстовые переменные:

Boot#### - загрузочная запись
BootOrder - упорядоченный список записей Boot####
BootCurrent - запись, с которой загружена система
BootNext - запись, с которой однократно будет загружена система после перезагрузки

Первоначально firmware добавляет записи Boot#### для подключенных поддерживающих загрузку устройств (DVD, HDD, USB, Network).

При загрузке с диска происходит поиск на нем GPT раздела типа EFI system partition (ESP), с которого запускается загрузчик EFI\Boot\bootx64.efi (имя файла зависит от аппаратной платформы). Обычно этот раздел отформатирован в FAT32, так как большинство прошивок UEFI не поддерживают чтение других файловых систем (хотя и могли бы).

Созданные Rufus загрузочные UEFI-флешки с Windows содержат основной NTFS раздел с дистрибутивом (FAT32 не поддерживает файлы размером больше 4Gb) и скрытый FAT32 ESP раздел с фирменным EFI загрузчиком, поддерживающим чтение NTFS.

Загрузчик ОС может добавить (и обычно добавляет) в firmware новую запись Boot####:
Windows: HD(1,GPT,E935CDDD-9506-45D3-A96B-9354674BA581,0x800,0x32000)/\EFI\Microsoft\Boot\bootmgfw.efi
Linux: HD(1,GPT,F3275A6A-A4B2-4AD4-A8C1-D74B9C4E9691,0x800,0x12C000)/\EFI\redos\shimx64.efi

Загрузчик shimx64.efi может быть подписан цифровой подписью для работы с Secure boot, его единственная функция - запустить grubx64.efi из текущей директории. grubx64.efi не подписан, так как его содержимое может изменяться.

В некоторых случаях при переносе диска между ПК или VM в новой системе ОС не загружается. Например, если в NVRAM старой системы была настроенная запись Boot####, а стандартный раздел EFI boot поврежден или не содержит загрузчик в стандартном расположении. В этом случае необходимо или восстановить запись утилитами bcdedit/efibootmgr, или, в случае VM, переносить ее через export/import вместе с nvram.

Посмотреть загрузочные записи firmware
Windows

bcdedit /enum firmware
bcdedit /enum "{fwbootmgr}"
###(displayorder = BootOrder)###

Linux
efibootmgr -v

Однократно загрузиться с конкретной записи
Windows

bcdedit /set {fwbootmgr} bootsequence {GUID}
bcdedit /set {fwbootmgr} bootsequence {bootmgr}
###(bootsequence = BootNext)###

Linux
efibootmgr --bootnext 0003

Изменить порядок загрузки
Windows

bcdedit /set {fwbootmgr} displayorder {98b6343e-bc5c-11ef-8148-00155d518900}
bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst

Linux
efibootmgr --bootorder 0003,0000,0001

Почитать:
https://uefi.org/specs/UEFI/2.10/03_Boot_Manager.html
https://www.rodsbooks.com/refind/

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

Теги:
Всего голосов 5: ↑5 и ↓0+6
Комментарии0

Вышел новый релиз 1.0.2 проекта CFXHTTP, представляющего собой реализацию VLESS-прокси-сервера с Websocket- и XHTTP-транспортами на платформе Cloudflare Pages и Cloudflare Workers.

Pages - бесплатный хостинг веб-сайтов от компании Cloudflare, который кроме раздачи статического контента также позволяет запускать на сервере Javascript-код. Для сайтов на бесплатном тарифе не нужно даже иметь домен, так как CF разрешает создавать поддомены на своем домене pages.dev для пользовательских сайтов.

Таким образом, CFXHTTP позволяет поднять свой прокси-сервер с VLESS используя бесплатный тариф Cloudflare, не потратив на это ни копейки и даже не имея домена.

Инструкция по развертыванию на английском языке здесь, а на китайском здесь (она более полная, можно перевести google translate). Необходимо прописать переменные окружения WS_PATH (или XHTTP_PATH) и UUID и загрузить файлы на сервер Cloudflare. После чего можно подключаться к вашему личному прокси с помощью почти любого клиента на базе XRay. CFXHTTP так же может сгенерировать config.json для подключения к серверу при обращении к определенному URL.

Имеющиеся ограничения:

  1. Проксируется только TCP, проксировать UDP невозможно. Соотвественно, не будут работать игры, звонки в месседжерах, и т.д. Если вы используете клиент в режиме local proxy то проблем с конфигурацией быть не должно, если вы используете TUN-режим, то нужно настроить локальный DNS в клиенте для использования TCP (например tcp://8.8.8.8:53) или DoT. Примечание: не используйте 1.1.1.1, у CF есть какой-то баг, связанный с этим.

  2. Не поддерживается мультиплексирование (mux.cool) и early data для вебсокет-транспорта

  3. Транспорт XHTTP работает только через Workers, для которых нужен домен и для которых на бесплатном тарифе есть ограничение на количество запросов. WS-транспорт работает и с Pages, не требуя отдельного домена.

  4. Workers и Pages имеют ограничения на потребляемые ресурсы и время выполнения, поэтому долго живущие подключения (например, при скачивании больших файлов) могут быть принудительно разорваны через какое-то время активности.

  5. Как сказал автор, "The more people knows of this script, the sooner this script got banned." Поэтому перед загрузкой файлов на сервер не лишним будет еще раз прогнать js-код через обфускатор и поменять строковые константы на свои.

В остальном же, оно вполне работает. Через Hiddify у меня почему-то не завелось (возможно потому что он основан на Sing-box), через v2rayNG (после конфигурации DNS через TCP и отключения мультиплексирования) заработало без проблем, сайты открываются стабильно и без видимых задержек, сервисы проверки IP-адреса клиента показывают IP из сетей Cloudflare.

См. также: https://github.com/6Kmfi6HP/EDtunnel/ - похожий проект прокси-сервера с использованием Pages/Workers. Поддерживает VLESS и SOCKS5 через Websocket-транспорт, из интересного - умеет перехватывать DNS-запросы по UDP и перенаправлять их на DNS-сервер по TCP.

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии19

Нужен ли вам Ansible AWX: обзор особенностей и функционала

Когда парк виртуальных машин разрастается, а ежедневно приходится запускать сотни плейбуков, то работа с командной строкой для DevOps-инженеров становится мучением. Упростить работу с Ansible поможет AWX. Удобный графический интерфейс, интеграция с системами контроля версий, обновление проектов и динамического inventory — только часть возможностей системы. 

В подробной статье на базе опыта использования системы в YADRO:

  • рассказываем о сложностях запуска плейбука в Ansible,

  • разбираем, как именно AWX упрощает работу с Ansible,

  • изучаем почти 20 приятных плюшек и парочку подводных камней,

  • запускаем плейбук с AWX и без,

  • настраиваем уведомления в Telegram,

  • делимся отзывами 6 команд о работе с AWX. 

Читайте обзор Ansible AWX от Ксении Кузьменко, DevOps-инженера DPS-команды, которая предоставляет платформенные сервисы для 40+ команд и 1000+ пользователей внутри компании. Если будут вопросы — пишите в комментариях к статье, Ксения с удовольствием ответит. 

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Декабрьский дайджест обновлений: треды, новые виджеты и интеграции в «Первой Форме»

Рассказываем, что нового появилось в «Первой Форме» — low-code BPM-системе для автоматизации документооборота, управления проектами, CRM, В2В2С-решений и корпоративных коммуникаций.

Треды в ленте и чатах

Теперь в системе можно создавать обсуждения в задачах и групповых чатах. Новый тред откроется в отдельном окне — так можно быстро уточнить детали и при этом иметь доступ к основному контексту задачи или беседы.

Режим лобби для комнаты в ВКС 

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

В ВКС появился новый режим — лобби. Если вы приглашаете на видеовстречу гостей, которые не зарегистрированы в системе, они сначала попадут на экран ожидания и смогут войти только после вашего подтверждения.

Обновлённый канбан

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

Новые виджеты для главного портала

  1. Виджет контактов даёт возможность быстро позвонить или написать в личный чат коллегам и партнёрам. Это можно сделать с главной страницы, без перехода в личные карточки.

  2. На обновлённый виджет «Календарь» можно вывести встречи, дедлайны по задачам и подписям, напоминания.

  3. Виджет «Счётчики» отображает критичные показатели. Например, количество новых заказов, сумму продаж за день, число обращений клиентов.

  4. Виджет «Задачи» отображает актуальные дела, приоритетность и дедлайны.

Интеграция с KeyCloak

KeyCloak — это провайдер для аутентификации пользователей по модели управления доступом. Все настройки прав пользователей из сторонних сервисов распределяются по группам. Эта интеграция позволяет переключаться между «Первой Формой» и другим ПО, например, 1С, Контур и другими, без повторной аутентификации.

Новый раздел корпоративного файлового хранилища

В корпоративном файловом хранилище «Первой Формы» есть два основных раздела: «Мои файлы» для контента пользователей и «Общие файлы», к которым есть доступ у всех пользователей.

Мы добавили новый системный раздел Диска «Обмен файлами». В отличие от раздела «Общие файлы», где права доступа предоставляются автоматически всем сотрудникам, в этом разделе владельцем файла по умолчанию является тот пользователь, который его загрузил. 

Изначально доступ к файлам и папкам есть только у него и у администраторов. Раздел доступен для просмотра всем зарегистрированным пользователям, и вы можете настроить права на просмотр, редактирование и другие действия с файлами.

Узнать больше об этих и других новых функциях можно из чейнджлогов сборок на сайте:

Сборка Весы

Сборка Скорпион 

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Город с двумя столицами: роль ASIC и CPU в L3-коммутаторе

Внутри коммутатора два физических устройства: CPU и ASIC. CPU принято называть Control Plane, там крутится сетевая операционная система, как правило, Linux. ASIC также называют Data Plane. 

CPU (Control Plane) отвечает за:

  • сложную логику,

  • обработку служебного трафика,

  • управление ASIC.

ASIC (Data Plane) ответственен за:

  • простую логику на основе таблиц,

  • быструю обработку большого числа пакетов,

  • разбор заголовков, выбор выходного порта и выходного набора заголовков,

  • буферизацию, очереди, политики. 

Администратор, который сидит в CLI, находится на CPU, а интерфейс, который он конфигурирует, — на соседнем устройстве ASIC.  

Для простоты понимания можно думать о физическом устройстве коммутатора как о двух соседних городах. Первый город CPU — административный центр, он управляет своим соседом. Второй город ASIC — промышленный центр с крупными транспортными развязками и светофорами. 

Физические порты находятся в ASIC, но управлять ими надо на CPU. На CPU крутятся сетевые демоны и разные алгоритмы, которые обрабатывают сетевой трафик. Его можно разделить на два вида:

  • Пользовательский. Например, фотографии котиков, которые при наличии всех маршрутов проходят через ASIC транзитом. 

  • Служебный. ARP или протоколы маршрутизации, которые как раз должны обрабатываться демонами или алгоритмами на CPU.  

Еще больше про устройство коммутатора читайте в статьях Антона Гузарева, тимлида команды, которая разрабатывает ПО для управления сетевыми устройствами в YADRO. Через кейс с ошибкой в коммутаторе он последовательно рассмотрела каждый его уровень в двух статьях:

→ Разбираемся с железом и настройками конфигурации

→ Ищем проблему с доставкой картинок с котиками на разных уровнях L3-коммутатора: от CLI до SDK

Теги:
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

DDoS‑атака на ntp‑серверы, продолжавшаяся более месяца (Катастрофа в российской зоне проекта NTPPool.org, Об инциденте с NTP‑серверами, Collapse of Russia country zone), кончилась не без последствий. В ряде случаев для борьбы с ней выбирались не совсем адекватные методы, а где‑то и «железо» «встало колом». В результате чего, часть ntp‑клиентов не могут получить точное время.

Убедиться, что вас это не затронуло, и вы получаете точное время можно следующими способами:

В Windows:
w32tm /query /status
w32tm /query /peers

В Linux и UNIX‑подобных системах можно легко проверить, что протокол NTP не блокируется можно при помощи команды
ntpdate -uqd ru.pool.ntp.org

Аналогично Windows можно посмотреть состояние сервиса синхронизации времени. В случае chrony:
chronyc -n tracking
chronyc -n sources

В случае ntpd:
ntpq -c rv
ntpq -pn

В случае systemd‑timesyncd:
timedatectl timesync-status

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

В комментариях к разным статьям на тему VPN/прокси/итд часто спрашивают, какой заграничный VPS-хостинг можно использовать под это дело, чтобы было очень недорого.

Сейчас уже почти везде начинаются распродажи на Черную Пятницу, Рождество и Новый год, и хостинг-провайдеры здесь не исключение.

Существует очень популярный в узких кругах форум LowEndTalks, посвященный недорогим VPS, и на нем есть специальный раздел Offers: Offers — LowEndTalk

Сейчас там появляется все больше и больше распродажных предложений, например можно найти довольно неплохие VPS за 10 долларов в год (!) с IPv4-адресом.

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

И еще приятный бонус - для местных обитателей хостеры предлагают специальные условия, например, часто можно, оставив в комментах свой номер заказа, получить удвоенный трафик, удвоенное место на диске, второй IPv4-адрес, или еще что-то в этом роде.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Поддержали серверами некоммерческий проект NTP pool

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

По сути в каждой стране существуют общественные кластеры серверов 2 уровня, которые синхронизируются с серверами 1 уровня. А они, в свою очередь, синхронизируются с национальными службами через спутник, радио или модем.

У нас в России тоже есть кластер серверов 2 уровня и вчера один из участников кластера опубликовал на Хабре статью, в которой забил тревогу — из 140 серверов в зоне ru за 2 недели осталось только 20. Так как через серверы синхронизируются миллионы устройств, оставшиеся серверы тоже стали вылетать под высокой нагрузкой и по состоянию на вчера их было всего 4.

Мы решили помочь и вчера ночью бесплатно добавили 30 серверов в кластер на постоянной основе. Теперь их 61, и точное время на ваших устройствах точно не собьется благодаря нам и активному комьюнити 🤘

Теги:
Всего голосов 50: ↑50 и ↓0+65
Комментарии5
1
23 ...