Записки IT специалиста
7.97K subscribers
1.56K photos
50 videos
15 files
2.23K links
IT-канал, просто о сложном
https://interface31.ru

Купить рекламу:
https://telega.in/c/interface31
加入频道
​​Мифы и легенды Active Directory – откуда ноги растут

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

Как водится, происхождение всего этого мифотворчества уходит своими корнями в далекие времена Windows NT, т.е. до 2000 года. Фактически уже выросло второе поколение специалистов, которые эту самую NT в глаза не видели, но тем не менее подвержены распространенным заблуждениям.

Поэтому предлагаем вам немного окунуться в историю и понять, чем являлся домен NT и что изменилось с приходом Active Directory.

Домен NT (NTDS) являлся реализаций службы каталогов от Microsoft доступный в серверной операционной системе Windows NT Server. И состоял из одного первичного контроллера домена – PDC (Primary Domain Controller) и неограниченного количества резервных – BDC (Backup Domain Controllers).

Именно на первичном контроллере хранилась основная база домена и все изменения в нее могли вноситься только на нем. Затем эта база реплицировалась на остальные резервные контроллеры, после чего они тоже могли начать обрабатывать клиентские запросы.

Если первичный контроллер выходил из строя, то домен фактически переходил в режим «только чтение». При его окончательной утере первичным можно было сделать один из резервных контроллеров.

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

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

А при появлении нового сервера приходилось крепко думать, будет ли он контроллером домена или нет. Так как изменить его назначение без переустановки было невозможно.
Также схема один PDC – много BDC имела серьезные проблемы с репликацией, особенно для удаленных филиалов с учетом скоростей и качества каналов связи того времени. При том, что удаленный филиал сам не мог внести необходимые данные в домен, так как для этого требовался первичный контроллер.

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

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

Но несмотря на то, что Active Directory скоро разменяет четверть века многие коллеги все еще продолжают оперировать устаревшими терминами и понятиями системы, которую никогда в глаза не видели.
👍241
​​Структура файловой системы Linux

Расположение файлов и директорий в Linux регулируется стандартом Filesystem Hierarchy Standard (FHS). Текущая версия стандарта — 3.0 от 3 июня 2015 года.

При этом следует понимать, что FHS, хоть и является основанным на POSIX, но разрабатывался исключительно для Linux и другие UNIX-системы следовать ему не обязаны.

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

Начинается файловая система с корня, который обозначается обратной косой чертой - /

Директория /bin содержит бинарные (исполняемые) файлы пользовательского уровня, для выполнения которых не нужны права суперпользователя, например, cat, find или ls.

/boot – загрузчик и все что с ним связано

В Linux все есть файл, даже устройства. Поэтому мы всегда можем их найти в директории /dev, например, блочные устройства /dev/sda или виртуальное устройство /dev/null.

/etc – конфигурационные файлы

/home – домашние директории пользователей, для каждого пользователя в данном каталоге создается собственная поддиректория: /home/Ivanov или /home/petrov

Для хранения библиотек программ предназначена директория /lib, в современных системах, в зависимости от поддерживаемых архитектур это целый набор директорий, таких как lib32, lib64 и т.п.

/lost+found, как следует из названия, хранит найденные файлы, которые не относятся ни к одной директории, но их inode не помечены как свободные. Т.е. если во время проверки файловой системы будут найдены такие файлы, то система поместит их сюда.

/media используется для автоматического монтирования съемных носителей, таких как флешки, USB или оптические диски.

/mnt – а вот сюда мы можем монтировать нужные устройства вручную. Например, можем примонтировать дополнительный диск для общего хранилища: /mnt/samba и т.д.

/opt – дополнительное программное обеспечение, чаще всего проприетарное, или имеющее большой дисковый размер.

/proc – сюда смонтирована виртуальная файловая система procfs, через «файлы» этой директории мы можем получить различную информацию от ядра системы. Скажем, cat /proc/meminfo – информация об оперативной памяти.

/root – домашняя директория суперпользователя, всегда находится в корневом каталоге.

/run – файлы состояния приложений, такие как сокеты или PID-файлы

/sbin – исполняемые файлы, которые для своего запуска требуют права суперпользователя. В первую очередь к ним относятся служебные утилиты. Здесь мы можем найти fdisk, sysctl, useradd и т.д.

/srv – стандарт предполагает хранение здесь данных сервисов, предоставляемых системой. На практике не используется.

/sys – место монтирования виртуальной файловой системы sysfs, которая позволяет не только получать различные параметры ядра, но и передавать ему настройки через «запись» нужного параметра в определенный «файл», все измененные параметры действуют до перезагрузки.

/tmp – временные файлы

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

В ней также содержатся директории /usr/bin, /usr/sbin, /usr/lib и т.д.

Т.е. изначально предполагалось разделение на файлы самой системы и файлы, которые установил пользователь. Однако в большинстве современных систем директории /bin, /sbin и все /lib являются симлинками на одноименные директории в /usr.

Отдельно стоит отметить /usr/share, где располагаются различные общие ресурсы, такие как документация, примеры конфигурационных файлов, иконки и т.д.

А также /usr/local, куда по умолчанию устанавливаются файлы программ, которые собраны из исходных кодов или получены иными путями в обход менеджера пакетов.

/var – файлы, которые изменяются при работе системы, например, логи - /var/log, базы данных - /var/lib, файлы обслуживаемые веб сервером - /var/www.
👍805
​​Некоторые, неочевидные особенности связки DNS и DHCP в Active Directory

Вчера, в обсуждении возник вопрос, а зачем нужна связка из MS DNS и MS DHCP, ведь можно использовать любой другой DHCP сервер.

Вроде бы очевидный ответ: для того, чтобы DHCP мог динамически изменять DNS-записи в AD.

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

Но, на самом деле, это называется «вроде бы работает», именно «вроде бы».

Почему? Правильная работа Active Directory серьезно завязана на правильную работу DNS. Поэтому важно, чтобы DHCP-сервер мог своевременно динамически менять записи, но это может делать не абы кто, а только авторизованный сервер.

При отсутствии авторизованного сервера Active Directory может сама внести нужную запись в момент входа в домен. Но только в прямую зону. В обратную зону никаких записей добавлено не будет.

Если устройство не входит в домен, то никаких записей о нем также добавлено не будет. А таких устройств может быть много: принтеры, гипервизоры, промышленные контроллеры и т.д. и т.п.

Первая проистекающая отсюда проблема – это сложности администрирования, так как вам, чтобы подключиться к принтеру в 216 кабинете вместо printer-216 надо сначала где-то найти его текущий IP-адрес.

Но все это ерунда, когда вопрос коснется обратной зоны. Обратная зона нужна для правильной работы очень многих интеграций сторонних приложений в AD и без нее ситуация превращается в «жизнь – боль» или «какая гадость эта ваша Active Directory».

Как живой пример подобной интеграции можно привести взаимодействие Squid и AD через Kerberos.

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

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

Хотя львиная их часть кроется как раз в неправильной работе DNS и обратная зона только частный случай.

Поэтому нужно сразу настраивать работу ключевых компонентов правильно, а не оставлять в состоянии «вроде работает».
👍40🔥61
​​Самоподписанные сертификаты. Мифы и реальность

Вокруг самоподписанных сертификатов каких только мифов не собрано. Если не вдаваться в подробности, то все они сводятся к тому, что самоподписанный сертификат не безопасен и не предоставляет надежного шифрования. И ставить его в продакшен – ну такое…

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

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

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

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

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

Также мы можем проверить сертификат на отзыв, при помощи все того же удостоверяющего центра.

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

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

Для этого нужно сравнить цифровой отпечаток с предоставленным вам по надежным каналам владельцем сертификата или с опубликованным в официальном источнике.

А теперь перейдем к самоподписанным сертификатам. При его создании не используется никакой удостоверяющий центр и сертификат подписывает себя самостоятельно собственной сигнатурой.

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

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

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

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

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

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

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

Так можно ли использовать такие сертификаты? Можно, если вы представляете все сопутствующие проблемы и риски и готовы их решать. Но лучше все таки создать собственный удостоверяющий центр и выпускать сертификаты с его помощью, что позволит вам более гибко управлять процессом и уменьшит количество потенциально опасных ситуаций связанных с доверием.
👍561
Отключаем автоматический вход пользователя в 1С:Предприятие 8.3.26 и старше

В платформе 1С:Предприятие, начиная с выпуска 8.3.26 добавили возможность автоматического входа под последним успешно вошедшим пользователем. Функция в чем-то удобная, особенно если на рабочем месте работает единственный пользователь. Но реализация как всегда…

Если пользователь установит флажок Запомнить, то на этом рабочем месте 1С начнет автоматически заходить в эту базу под последним успешно вошедшим пользователем и нет никакого простого способа изменить это поведение.

Это вводит в ступор не только пользователей, но и администраторов. Вплоть до того, что они просто сносят платформу и устанавливают заново, зачастую с нулевым результатом. Однако все достаточно просто, чтобы вернуть выбор пользователя в параметры запуска информационной базы нужно добавить ключ:

/ResetSavedAuth


Мы рекомендуем добавлять его на постоянной основе везде, где установлена новая платформа и есть потенциальная опасность, что пользователи включат и воспользуются этой функцией.
👍58
Настраиваем онлайн-радио на Icecast 2 и Ices с SSL защитой и сертификатами Let's Encrypt

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

Хотите удаленно слушать собственную музыкальную коллекцию? Или вам нужно организовать централизованную трансляцию в сети магазинов?

Во всех этих случаях вас выручит создание собственного сервера онлайн-вещания.

В данной статье мы рассмотрим, как сделать это при помощи бесплатного пакета Icecast 2 и организуем SSL-защиту при помощи сертификатов Let's Encrypt.

Читать статью
👍28🥱4🔥3👀2🤝1
​​Что такое хорошо и что такое плохо

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

В итоге очень и очень многие решения идут вопреки стандартным практикам и фактически представляют из себя костыли и изоленту.

Кто-то виртуозно владеет скриптами, кто-то выучил справочник твиков реестра и т.д. и т.п. И считается что это хорошо.

Нет, знания и умения – это однозначно хорошо, но, когда они идут в разрез с общепринятыми практиками – это плохо.

Попытка решить стандартные вопросы нестандартными средствами – это плохо. И никакие оправдания тут не могут быть уместны.

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

Попытки применять нестандартные средства говорят только об одном – администратор не владеет базовыми навыками администрирования системы, подменяя их собственными костылями.

Столь же плохо применение в системах общего назначения каких-то специализированных практик, какими бы они «крутыми» и «навороченными» не казались.

Мы не раз сталкивались с нестандартными настройками и твиками, которые вызывали сложности на ровном месте. А когда начинали выяснять что это и зачем, то могли услышать примерно следующее:

- Ну это крутые пацаны из High Load рекомендуют?
- А у тебя высокая нагрузка?
- Нет, но…

Или:

- Ну это защита от сетевых атак…
- Тебя кто-то атакует?
- Нет, но…

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

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

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

И именно это будет хорошо и правильно. Потому что позволит любому знакомому с системой специалисту быстро разобраться в ней и продолжить поддержку в отсутствие ее основного «архитектора».

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

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

Здесь я еще раз напомню, что платят нам не за наши пируэты и изыски, тот кто платит – он и слов таких не знает. А платят нам за стабильную и предсказуемую работу.

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

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

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

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

Ну и конечно не забыть все это документировать. И часть документации будет совсем не лишним разместить прямо здесь, лучше всего в комментариях к скрипту или в виде файла где-то рядом.
💯33👍22🔥3👎2🤡2
Настраиваем веб-сервер Angie + PHP + MySQL с сертификатами Let's Encrypt и поддержкой HTTP/3

Angie - форк известного веб-сервера nginx, созданный его бывшими разработчиками и преследующий цель стать лучшим nginx чем сам nginx и это не преувеличение.

Начавшись как обычный проект импортозамещения Angie сегодня не только предоставляет все возможности nginx, но и предоставляет ряд новых функций и возможностей.

А для пользователей, которым просто нужен веб-сервер Angie может предложить достаточно большой выбор готовых модулей в репозитории, это очень важное преимущество, так как в nginx для добавления тех или иных модулей вам потребуется самостоятельно пересобрать продукт.

https://interface31.ru/tech_it/2025/05/nastraivaem-web-server-angie-php-mysql-lets-encrypt-http3.html
👍39👏31🔥1
​​Вектор развития

В комментариях развернулась активная дискуссия на тему развития сотрудника и развития инфраструктуры предприятия. Многие ставят между этими понятиями знак равенства, хотя это совсем не так.

Мы уже много раз писали на эту тему, поэтому не будем повторяться, но акцентируем внимание на ключевых тезисах. Сотрудник <> Бизнес (как бы иногда бизнесу и не хотелось продвинуть иную мысль).

Бизнес занимается зарабатыванием денег, в чем его основной интерес. Сотрудник продает свое время и квалификацию за деньги – и никак иначе. А как по-другому? Бизнес его содержать в случае чего будет? Ага, держите карман шире.

Поэтому интересы у сотрудника и бизнеса разные, в чем-то они совпадают, в чем-то расходятся. И это нормально. Не нормально, когда одна из сторон начинает путать собственные интересы с интересами контрагента, ни к чему хорошему это не приводит.

Начнем с интересов бизнеса. Основной интерес- это получение прибыли. Прибыль – основа стабильной работы и развития предприятия. Падение прибыли приводит к экономии, в том числи и на ФОТ, сокращению рабочих мест и т.д. и т.п.

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

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

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

Но вернемся к нашим баранам. IT – это такая сфера, которая никогда не стоит на месте и если мы хотим быть актуальными на рынке труда – то нужно постоянно развиваться. Никому не нужен сотрудник или подрядчик, который владеет технологиями десятилетней давности, пусть даже и в совершенстве.
Поэтому интерес сотрудника развиваться вполне естественен и понятен. И еще ему хочется совместить приятное с полезным, а именно развиваться в рамках собственного предприятия за его счет и на его ресурсах.

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

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

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

В результате возникает расхождение интересов, вектор развития предприятия не совпадает с вектором развития сотрудника и это нормально.

Для примера возьмем известную сеть Красное и Белое, информационная система у них до сих пор построена на устаревшей платформе 1С:Предприятие 7.7. Можно ли при этом сказать, что инфраструктура компании не развивается?

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

Но это курс бизнеса, который не совпадает с курсом сотрудника. Кому нужен в 2025 году специалист по «клюшкам» (жаргонное название 1Сv77)? Никому. Да, отнесутся с уважением, мол «монстр», но не более, на рынке труда спроса на таких специалистов нет.

Какой выбор у сотрудника? А выбор невелик, либо связать свою карьеру именно с этой компанией и развиваться в общем направлении, понимая, что за забором перспектив нет, или начать движение по собственному вектору, приобретая знания и навыки, востребованные современным рынком.
👍492👎1🥱1
​​Что такое QUIC и HTTP/3

Вчера, в новой статье мы рассказали, как включить поддержку QUIC и HTTP/3 в веб-сервере Angie. Но далеко не все знают для чего и зачем это нужно.

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

Современный сайт – это не просто страничка с текстом и картинками, а полноценное веб-приложение. И протокол TCP начал играть сдерживающую роль. Как мы все знаем, TCP – протокол с подтверждением доставки, если этого не случилось, то он будет посылать данные повторно.

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

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

Изначально, протокол HTTP и вовсе подразумевал отдельное соединение для каждого запроса, т.е. если на страничке есть десяток картинок, скриптов, стилей и иных элементов, то на каждое из них открывалось отдельное TCP-соединение.

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

Многие эти проблемы были решены компанией Google в протоколе SPDY на базе которого впоследствии был создан HTTP/2. Хотя стандарт и не подразумевает обязательного шифрования фактическое использование HTTP/2 возможно только поверх TLS (TLS 1.2 и выше).

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

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

И тут снова подсуетилась компания Google, разработав новый протокол QUIC, который использует в качестве транспорта UDP. Так как UDP не гарантирует доставку, то никакой блокировки начала очереди не может быть в принципе.

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

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

Точно также, как и в случае с HTTP/2 протокол QUIC лег в основу HTTP/3 и начинает постепенное распространение в сети интернет. Это не значит, что нужно прямо сейчас бежать добавлять поддержку HTTP/3 рабочим серверам. Но на новых установках при наличии возможности включить поддержку HTTP/3 это сделать желательно.
👍38🤔6🥱1
Замена сбойного диска в массивах ZFS

ZFS все чаще применяется в системах хранения Linux благодаря своим широким возможностям и отличной надежности.

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

Первые сложности начинаются когда пользователь сталкивается с необходимостью обслуживания ZFS и не находит для этого графических инструментов.

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

https://interface31.ru/tech_it/2024/08/zamena-sboynogo-diska-v-massivah-zfs.html
10👍42
​​Проверять нужно не только бекапы

Третьего дня с одним нашим заказчиком произошла поучительная история. Обособленное подразделение в области. Классическая схема Proxmox VE + Proxmox Backup Server, связка, проверенная временем, ну что может пойти не так?

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

А дальше все пошло не так. Бухгалтер, групповой обработкой сделала не совсем то, точнее совсем не то и восстанавливать руками весь второй квартал (полтора месяца) ей как-то не хотелось, поэтому она попросила админа достать базу из резервной копии, тем более что копии бухгалтерии делались каждые два часа.

Какое же было удивление, когда наш коллега обнаружил, что последняя копия была создана вечером 14 мая. Как так? Почему? Где уведомления? Вопросов было больше, чем ответов.

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

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

Ответ на него нашелся быстро – все письма лежали в папке Спам Яндекс Почты.

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

Выгодно? Да. Но есть и подводные камни, IP-адрес в таком случае тоже присваивается из пула для физических лиц, а все такие пулы по умолчанию стоят в черных списках, так как по негласной договоренности в таких сетях почтовых серверов быть не должно.

Плюс почтовый сервер у нас тоже не настоящий, ни обратной зоны, ни ресурсных записей. А тут еще и адрес из домашнего пула. Вот Яндекс и не стал морочиться, отправив все сообщения в Спам. А они, как и положено, старательно отсылались.

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

Поэтому проверять надо не только бекапы, но и уведомления, триггеры и все с этим связанное. А также не забывать про регулярное изучение папки Спам и стараться использовать более одного канала оповещения.
👍68🔥10💯7🤔5😁3
Допустимые типы контента для хранилищ Proxmox

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

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

Вся информация взята из официальных источников.

Поводом для создания подобной таблички послужили злоключения молодого коллеги, который потратил время на установку и настройку iSCSI-таргета, но только подключив его к Proxmox обнаружил, что оно не поддерживает LXC-контейнеры. 🤷‍♀️
👍63🔥5
⚠️ Как настроить Nginx и Angie для стабильной и быстрой работы при большом количестве запросов?

👉 Приглашаем на вебинар: Оптимизация Nginx и Angie под высокие нагрузки

На вебинаре вы узнаете:

- Как оптимизировать системные параметры для повышения производительности

- Как правильно настроить TLS и сократить накладные расходы на шифрование

- Какие возможности по кэшированию есть у Nginx и Angie и как их эффективно использовать

- Как измерять и анализировать клиентскую и серверную производительность

В результате вебинара вы:

- Научитесь выявлять и настраивать ключевые параметры, влияющие на производительность

- Сможете оптимизировать конфигурацию Nginx и Angie под конкретные сценарии нагрузки

- Попробуете применять техники кэширования и настройки TLS для снижения нагрузки

- Поймёте, как оценивать эффективность настройки и устранять узкие места

Все участники получат скидку на большое обучение «Инфраструктура высоконагруженных систем».

👉 Для участия зарегистрируйтесь: https://otus.pw/YUs4/?erid=2W5zFJjJgor

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
👍21👎1
​​Отказоустойчивость или высокая доступность?

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

Почему? Потому что «как вы лодку назовете, так она и поплывет». Начнем с понятия «отказоустойчивость». В русском языке он не допускает двойного толкования и обозначает устойчивость системы к отказу части ее компонентов.

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

Примером отказоустойчивой системы можно считать RAID (кроме RAID 0), который сохраняет работоспособность, несмотря на ухудшение характеристик для уровней с четностью, при выходе из строя заданного числа дисков.

При этом сам отказ происходит без видимых последствий для системы и пользователя. На том же RAID1 (зеркало) вы можете вообще не заметить выход из строя одного из дисков.

Теперь вернемся к кластеризации. Является ли кластер отказоустойчивым? Если говорить о современной кластеризации, когда мы говорим о виртуальных средах – то нет. Но то же самое касается и классической кластеризации приложений.

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

При этом все сетевые подключения принимает именно конкретная нода и именно в ее оперативной памяти находится обрабатываемая экземпляром сервиса информация.

Что будет при отказе этой ноды? Все открытые сеансы будут закрыты, вся несохраненная информация в оперативной памяти потеряна, все незафиксированные транзакции будут в последствии откачены.

Так о какой отказоустойчивости идет речь? Понятно, что отказоустойчивостью в классическом ее понимании тут и не пахнет. Все дело в неправильном и неудачном переводе термина «failover», в английском языке, в отличие от русского, имеющего несколько значений.

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

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

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

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

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

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

В связи с чем сегодня употребление термина «failover» считается нежелательным, как и русскоязычного «отказоустойчивый». Для того, чтобы избежать путаницы рекомендуется использовать термин «high availability» или «высокая доступность» по-русски.

Этот термин не вызывает неоправданных ожиданий и абсолютно верно отражает основную характеристику системы – доступность. Потому что даже при отказе одного или нескольких узлов ваши сервисы будут в течении короткого времени восстановлены и снова окажутся доступны для пользователей.
👍583
Пожаловался сегодня утром очередной коллега. История проста и, по сути, давно стала классикой жанра.

Поставил собираться большой проект, сборка – это надолго. Потому поставил ее на ночь и пошел спать. Утром просыпается – а вместо сборки чистый рабочий стол, компьютер по-тихому поставил ночью обновления и перезагрузился.

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

А можно ли этого избежать? Можно, для этого надо всего лишь правильно настроить политики. И мы об этому уже писали, но так как знают еще не все, то не будет лишним повторить:

https://interface31.ru/tech_it/2021/05/kak-cherez-gpo-vklyuchit-zapros-na-perezagruzku-posle-ustanovki-obnovleniy.html
👍17🤣9😁2😱2👌2
Какая у нас таки толерантная нейросеть. В данном случае Кандинский от Сбера. И это я еще ничего такого не попросил. Мужик ведь не в человеков стреляет и не себе в голову. Но увы, мы такое не рисуем, вот вам цветочки.

Только зачем было несколько минут думать?
👍16😁9
Алиса такой ерундой не страдает, стрелять - так стрелять. Но оказалось неподъемной задачей заставить ее выстрелить именно в монитор. В сторону - пожалуйста.

А когда я все таки настоял - она взяла и засунула ружье в монитор. После того, как ей указали на сей косяк, она доходчиво пояснила, что я дурак и в таком формате изображения ружье не помещается в кадр.

Ладно, заменим ружье на пестик. И опять двадцать пять. В монитор стрелять надо, Алиса, в монитор...

А вы говорите людей скоро заменит. Нет, оно может и заменит, но именно с таким результатом.
🤣27😁21👍4🤡2👏1