Как войти в ELITный клуб?
Приглашаем на вебинар, посвящённый методике оценки перформеров и повышению эффективности DevOps. Поделимся ключевыми различиями между low- и elite-перформерами, а также тем, как применять эти знания для повышения продуктивности бизнеса.
📌 10 апреля в 12:00, онлайн. Требуется регистрация.
На вебинаре вы узнаете:
🔸 почему именно мы говорим об эффективности в области DevOps;
🔸 в чём различия между low- и elite-перформерами;
🔸 как мы определяем лучшие DevOps-практики, которые применяют наиболее эффективные команды;
🔸 как сделать ваш DevOps эффективнее.
🎁 Участники вебинара смогут получить скидку на анализ этапов SDLC в вашей компании, чтобы построить роадмап по улучшению DevOps-практик.
Зарегистрироваться
Приглашаем на вебинар, посвящённый методике оценки перформеров и повышению эффективности DevOps. Поделимся ключевыми различиями между low- и elite-перформерами, а также тем, как применять эти знания для повышения продуктивности бизнеса.
📌 10 апреля в 12:00, онлайн. Требуется регистрация.
На вебинаре вы узнаете:
🔸 почему именно мы говорим об эффективности в области DevOps;
🔸 в чём различия между low- и elite-перформерами;
🔸 как мы определяем лучшие DevOps-практики, которые применяют наиболее эффективные команды;
🔸 как сделать ваш DevOps эффективнее.
🎁 Участники вебинара смогут получить скидку на анализ этапов SDLC в вашей компании, чтобы построить роадмап по улучшению DevOps-практик.
Зарегистрироваться
👍3
Минздрав предупреждает!
По данным ТАСС Роскомнадзор может ограничить работу зарубежных провайдеров хостинга с учетом рисков для российских ресурсов.
В частности, речь идет о 12 компаниях, подлежащих "приземлению".
1) Hetzner Online GmbH (hetzner.com);
2) Network Solutions, LLC (networksolutions.com).
3) WPEngine, Inc. (wpengine.com);
4) HostGator.com, LLC (hostgator.com);
5) Ionos Inc. (ionos.com);
6) DreamHost, LLC (dreamhost.com);
7) FastComet, Inc. (fastcomet.com);
8) Amazon Web Services, Inc. (aws.amazon.com);
9) GoDaddy.com LLC (godaddy.com);
10) Bluehost Inc. (bluehost.com);
11) Kamatera Inc. (kamatera.com);
12) DigitalOcean, LLC (digitalocean.com).
Согласно законодательству, иностранные провайдеры хостинга, пользователи которых находятся в том числе на территории Российской Федерации, подпадают под действие Федерального закона № 236-ФЗ «О деятельности иностранных лиц в сети «Интернет» на территории РФ».
Включение в перечень лиц, подлежащих «приземлению», накладывает на иностранных провайдеров хостинга обязательства по открытию на территории России филиала/представительства/российского юридического лица, размещению на своем сайте электронной формы обратной связи с российскими пользователями, регистрации личного кабинета на сайте Роскомнадзора для оперативного взаимодействия с органами власти.
В общем – Минздрав предупредил, дальше каждый думает сам.
По данным ТАСС Роскомнадзор может ограничить работу зарубежных провайдеров хостинга с учетом рисков для российских ресурсов.
В частности, речь идет о 12 компаниях, подлежащих "приземлению".
1) Hetzner Online GmbH (hetzner.com);
2) Network Solutions, LLC (networksolutions.com).
3) WPEngine, Inc. (wpengine.com);
4) HostGator.com, LLC (hostgator.com);
5) Ionos Inc. (ionos.com);
6) DreamHost, LLC (dreamhost.com);
7) FastComet, Inc. (fastcomet.com);
8) Amazon Web Services, Inc. (aws.amazon.com);
9) GoDaddy.com LLC (godaddy.com);
10) Bluehost Inc. (bluehost.com);
11) Kamatera Inc. (kamatera.com);
12) DigitalOcean, LLC (digitalocean.com).
Согласно законодательству, иностранные провайдеры хостинга, пользователи которых находятся в том числе на территории Российской Федерации, подпадают под действие Федерального закона № 236-ФЗ «О деятельности иностранных лиц в сети «Интернет» на территории РФ».
Включение в перечень лиц, подлежащих «приземлению», накладывает на иностранных провайдеров хостинга обязательства по открытию на территории России филиала/представительства/российского юридического лица, размещению на своем сайте электронной формы обратной связи с российскими пользователями, регистрации личного кабинета на сайте Роскомнадзора для оперативного взаимодействия с органами власти.
В общем – Минздрав предупредил, дальше каждый думает сам.
🫡16👎13👍8🔥4🤬4
Как выяснилось, еще одна больная тема:
Аpt-key is deprecated или управление ключами в современных выпусках Debian и Ubuntu
Многие базовые действия в дистрибутивах Linux не меняются множество лет и для многих стали уже привычкой. А привычки - вещь такая: привыкнуть легко, сложно переучиться.
Поэтому изменения базовых вещей многими воспринимается в штыки и вызывает крайне негативные эмоции. Apt-key - утилита командной строки для управления ключами пакетного менеджера APT и когда ее объявили устаревшей, то многим это не понравилось.
Однако на то были свои причины, а новая система управления ключами во многом даже проще и удобнее, нужно лишь разобраться и привыкнуть.
https://interface31.ru/tech_it/2022/09/apt-key-is-deprecated-ili-upravlenie-klyuchami-v-sovremennyh-vypuskah-debian-i-ubunt.html
Аpt-key is deprecated или управление ключами в современных выпусках Debian и Ubuntu
Многие базовые действия в дистрибутивах Linux не меняются множество лет и для многих стали уже привычкой. А привычки - вещь такая: привыкнуть легко, сложно переучиться.
Поэтому изменения базовых вещей многими воспринимается в штыки и вызывает крайне негативные эмоции. Apt-key - утилита командной строки для управления ключами пакетного менеджера APT и когда ее объявили устаревшей, то многим это не понравилось.
Однако на то были свои причины, а новая система управления ключами во многом даже проще и удобнее, нужно лишь разобраться и привыкнуть.
https://interface31.ru/tech_it/2022/09/apt-key-is-deprecated-ili-upravlenie-klyuchami-v-sovremennyh-vypuskah-debian-i-ubunt.html
👍24
Запускаем цикл вебинаров и открытых демонстраций – «Basisный интенсив с Merlion»!
В течение года мы разберем функциональные особенности экосистемы продуктов ведущего российского разработчика решений для оказания облачных услуг, платформы динамической инфраструктуры и виртуализации – Basis:
∙ Basis Dynamix Standard – гибкая платформа управления виртуализацией для контроля гипервизоров и виртуальных ЦОД на базе виртуальных машин.
∙ Basis Dynamix Enterprise – высокопроизводительная платформа на базе динамической инфраструктуры для управления виртуальными серверами и контейнерами.
∙ Basis Workplace – ПО для создания инфраструктуры виртуальных рабочих столов с возможностью выбора сценария использования.
Вы узнаете, как решения помогают управлять виртуальными серверами, обеспечивать контроль гипервизоров и создавать инфраструктуры виртуальных рабочих столов.
Регистрация (https://tglink.io/5ff66188b0e5?erid=2W5zFJ4HTEQ) осуществляется 1 раз – и вы получаете доступ ко всей серии вебинаров.
#реклама
О рекламодателе
В течение года мы разберем функциональные особенности экосистемы продуктов ведущего российского разработчика решений для оказания облачных услуг, платформы динамической инфраструктуры и виртуализации – Basis:
∙ Basis Dynamix Standard – гибкая платформа управления виртуализацией для контроля гипервизоров и виртуальных ЦОД на базе виртуальных машин.
∙ Basis Dynamix Enterprise – высокопроизводительная платформа на базе динамической инфраструктуры для управления виртуальными серверами и контейнерами.
∙ Basis Workplace – ПО для создания инфраструктуры виртуальных рабочих столов с возможностью выбора сценария использования.
Вы узнаете, как решения помогают управлять виртуальными серверами, обеспечивать контроль гипервизоров и создавать инфраструктуры виртуальных рабочих столов.
Регистрация (https://tglink.io/5ff66188b0e5?erid=2W5zFJ4HTEQ) осуществляется 1 раз – и вы получаете доступ ко всей серии вебинаров.
#реклама
О рекламодателе
👍3
Достаточно неожиданно было увидеть в топе популярности за месяц данную статью:
Устанавливаем и настраиваем NFS-клиент в Windows
Сетевая файловая система NFS является родным для мира Linux способом организации общего доступа к файлам по сети и ее взаимоотношения с Windows долгое время оставались напряженными.
Однако последнее время ситуация начала меняться и Windows перешел от конфронтации к сотрудничеству с открытым ПО. Начиная с Windows 10 1607 (14393) в системе появился штатный NFS-клиент, который позволяет прозрачно подключать и использовать NFS-ресурсы.
В данной статье мы расскажем, как его установить и использовать, а также разберем некоторые особенности эксплуатации.
https://interface31.ru/tech_it/2023/07/ustanavlivaem-i-nastraivaem-nfs-klient-v-windows.html
Устанавливаем и настраиваем NFS-клиент в Windows
Сетевая файловая система NFS является родным для мира Linux способом организации общего доступа к файлам по сети и ее взаимоотношения с Windows долгое время оставались напряженными.
Однако последнее время ситуация начала меняться и Windows перешел от конфронтации к сотрудничеству с открытым ПО. Начиная с Windows 10 1607 (14393) в системе появился штатный NFS-клиент, который позволяет прозрачно подключать и использовать NFS-ресурсы.
В данной статье мы расскажем, как его установить и использовать, а также разберем некоторые особенности эксплуатации.
https://interface31.ru/tech_it/2023/07/ustanavlivaem-i-nastraivaem-nfs-klient-v-windows.html
👍36
Настраиваем сетевую файловую систему NFS в Debian и Ubuntu
NFS (Network File System) - сетевая файловая система в Linux и UNIX-like системах позволяющая монтировать сетевые ресурсы удаленного компьютера и работать с ними как с локальными.
Это стандартный и достаточно производительный способ работы с файлами по сети, использование которого более предпочтительно для обмена данными в однородной Linux среде, особенно в тех случаях, когда требуется постоянный доступ к ресурсам.
В этой статье мы рассмотрим, как настроить собственный сервер NFS на базе Debian или Ubuntu, а также как получить к нему доступ из удаленных систем.
https://interface31.ru/tech_it/2023/07/nastraivaem-setevuyu-faylovuyu-sistemu-nfs-v-debian-i-ubuntu.html
NFS (Network File System) - сетевая файловая система в Linux и UNIX-like системах позволяющая монтировать сетевые ресурсы удаленного компьютера и работать с ними как с локальными.
Это стандартный и достаточно производительный способ работы с файлами по сети, использование которого более предпочтительно для обмена данными в однородной Linux среде, особенно в тех случаях, когда требуется постоянный доступ к ресурсам.
В этой статье мы рассмотрим, как настроить собственный сервер NFS на базе Debian или Ubuntu, а также как получить к нему доступ из удаленных систем.
https://interface31.ru/tech_it/2023/07/nastraivaem-setevuyu-faylovuyu-sistemu-nfs-v-debian-i-ubuntu.html
👍35
Привет.
Меня зовут Андрей, я Engineering Manager и автор канала "Тимлид на удаленке".
Более 10 лет я управляю командами разработки. Больше пяти часть моей работы - это обучение тимлидов.
В своем канале я делюсь теми инструментами и подходами которые на практике приносят мне результаты.
Некоторые статьи от меня:
Мои способы успевать больше
Про микроменеджмент
Видеть за цифрами цель
Как сохранить силы и психику (раз, два, три)
Когда готовить себе замену
Подпишись, чтобы не пропустить больше статей @teamleadonline
Реклама. Нечаев А.А. ИНН 343605128044.
Меня зовут Андрей, я Engineering Manager и автор канала "Тимлид на удаленке".
Более 10 лет я управляю командами разработки. Больше пяти часть моей работы - это обучение тимлидов.
В своем канале я делюсь теми инструментами и подходами которые на практике приносят мне результаты.
Некоторые статьи от меня:
Мои способы успевать больше
Про микроменеджмент
Видеть за цифрами цель
Как сохранить силы и психику (раз, два, три)
Когда готовить себе замену
Подпишись, чтобы не пропустить больше статей @teamleadonline
Реклама. Нечаев А.А. ИНН 343605128044.
🤡15🤮3🥱3👌1
Relax-and-Recover (ReaR) - средство аварийного восстановления системы
Среди инструментов резервного копирования существует отдельная группа - системы аварийного восстановления на "голое железо" (Bare Metal Disaster Recovery - BMDR), которые позволяют полностью восстановить систему в случае выхода из строя оборудования или уничтожения системы при воздействии иных факторов.
Relax-and-Recover - сокращенно ReaR - как раз и представляет такую систему, простую в использовании, но достаточно мощную в работе.
С ее помощью вы сможете быстро восстановить вашу ОС Linux на новое оборудование, либо выполнить перенос системы со старого оборудования на новое, либо в виртуальную среду.
https://interface31.ru/tech_it/2023/09/relax-and-recover-sredstvo-avariynogo-vosstanovleniya-sistemy.html
Среди инструментов резервного копирования существует отдельная группа - системы аварийного восстановления на "голое железо" (Bare Metal Disaster Recovery - BMDR), которые позволяют полностью восстановить систему в случае выхода из строя оборудования или уничтожения системы при воздействии иных факторов.
Relax-and-Recover - сокращенно ReaR - как раз и представляет такую систему, простую в использовании, но достаточно мощную в работе.
С ее помощью вы сможете быстро восстановить вашу ОС Linux на новое оборудование, либо выполнить перенос системы со старого оборудования на новое, либо в виртуальную среду.
https://interface31.ru/tech_it/2023/09/relax-and-recover-sredstvo-avariynogo-vosstanovleniya-sistemy.html
👍29
Утилизация CPU в Linux
Правильная интерпретация показателей утилизации процессора в Linux важна для каждого системного администратора. Данная информация помогает быстро понять характер нагрузки и может указать на потенциально узкое место.
Чтобы получить данную информацию мы будем использовать команду
В данном случае нас интересует строка, выделенная желтым маркером на рисунке ниже. Она показывает, как используется процессорное время вашей системы в процентном соотношении.
🔹 us (User CPU time) – время потраченное на пространство пользователя. Это основная рабочая нагрузка и именно сюда попадает процессорное время, которое наши программы или службы тратят на полезную работу. Высокие значения говорят о том, что мы интенсивно нагружаем систему и не являются какой-либо аномалией.
🔹 sy (System CPU time) – время потраченное на пространство ядра. В пространстве ядра работают драйвера оборудования, системные вызовы и т.п. Нормальны умеренные значения этого показателя, высокие значения могут говорить о проблемах с оборудованием, высокую нагрузку на системы ввода-вывода или являться признаком DDoS-атаки на систему.
🔹 ni (Nice CPU time) - время потраченное на процессы пользовательского пространства запущенные с пониженным приоритетом. Для данного показателя справедливо все то, что было сказано для us. Данный показатель нужен для оценки того, как система перераспределяет ресурсы и анализируется в совокупности с us.
🔹 id (Idle) — время простоя (бездействия).
🔹 wa (I/O wait) — время на ожидание операций ввода-вывода, высокие значения показывают на то, что система много времени тратит на ожидание дисковых операций. Может служить показателем выхода из строя накопителей, но также высокие значения могут быть нормальными при интенсивной дисковой нагрузке. Продолжительные высокие значения являются признаком того, что система ввода-вывода не справляется с текущей нагрузкой.
🔹 hi (Hardware IRQ) — время, потраченное на обработку аппаратных прерываний. В обычных сценариях значение этого показателя должно быть близким к нулю, высокие значения указывают на возможную неисправность оборудования либо на крайне высокую нагрузку на устройства ввода-вывода.
🔹 si (Software IRQ) — аналогично, время, потраченное на обработку программных прерываний, умеренные значения этого показателя являются нормой, высокие значения в первую очередь показывают на высокую сетевую нагрузку, неисправность сетевого оборудования или DDoS-атаку.
🔹 st (Steal Time) - время «украденное» гипервизором у виртуальной машины, имеет значение внутри виртуальной машины и показывает какое количество процессорного времени она недополучила от гипервизора. Указывает на наличие конкуренции за процессорное время между виртуальными машинами или виртуальными машинами и процессами гипервизора.
Правильная интерпретация показателей утилизации процессора в Linux важна для каждого системного администратора. Данная информация помогает быстро понять характер нагрузки и может указать на потенциально узкое место.
Чтобы получить данную информацию мы будем использовать команду
top
, которая есть из коробки практически в каждом дистрибутиве. В данном случае нас интересует строка, выделенная желтым маркером на рисунке ниже. Она показывает, как используется процессорное время вашей системы в процентном соотношении.
🔹 us (User CPU time) – время потраченное на пространство пользователя. Это основная рабочая нагрузка и именно сюда попадает процессорное время, которое наши программы или службы тратят на полезную работу. Высокие значения говорят о том, что мы интенсивно нагружаем систему и не являются какой-либо аномалией.
🔹 sy (System CPU time) – время потраченное на пространство ядра. В пространстве ядра работают драйвера оборудования, системные вызовы и т.п. Нормальны умеренные значения этого показателя, высокие значения могут говорить о проблемах с оборудованием, высокую нагрузку на системы ввода-вывода или являться признаком DDoS-атаки на систему.
🔹 ni (Nice CPU time) - время потраченное на процессы пользовательского пространства запущенные с пониженным приоритетом. Для данного показателя справедливо все то, что было сказано для us. Данный показатель нужен для оценки того, как система перераспределяет ресурсы и анализируется в совокупности с us.
🔹 id (Idle) — время простоя (бездействия).
🔹 wa (I/O wait) — время на ожидание операций ввода-вывода, высокие значения показывают на то, что система много времени тратит на ожидание дисковых операций. Может служить показателем выхода из строя накопителей, но также высокие значения могут быть нормальными при интенсивной дисковой нагрузке. Продолжительные высокие значения являются признаком того, что система ввода-вывода не справляется с текущей нагрузкой.
🔹 hi (Hardware IRQ) — время, потраченное на обработку аппаратных прерываний. В обычных сценариях значение этого показателя должно быть близким к нулю, высокие значения указывают на возможную неисправность оборудования либо на крайне высокую нагрузку на устройства ввода-вывода.
🔹 si (Software IRQ) — аналогично, время, потраченное на обработку программных прерываний, умеренные значения этого показателя являются нормой, высокие значения в первую очередь показывают на высокую сетевую нагрузку, неисправность сетевого оборудования или DDoS-атаку.
🔹 st (Steal Time) - время «украденное» гипервизором у виртуальной машины, имеет значение внутри виртуальной машины и показывает какое количество процессорного времени она недополучила от гипервизора. Указывает на наличие конкуренции за процессорное время между виртуальными машинами или виртуальными машинами и процессами гипервизора.
👍82❤3
С 01 января 2027 года полностью прекращается поддержка программного продукта 1С:Управление Производственным Предприятием (УПП)
Что это означает?
- Функциональные блоки не обновляются несколько лет и уже сильно отстают от требований законодательства
- Отсутствие отраслевой поддержки.
- Расходы в человеко-часах на ручное отслеживание изменений в законодательстве
- Поддержка «1С:УПП» обходится почти вдвое дороже аналогичной подписки для 1С:ERP.
Что ждет компании, которые до сих пор на устаревшем решении? И что делать, чтобы минимизировать затраты и риски?
Приглашаем на бесплатный вебинар
"ПЕРЕХОД С 1С:УПП"
17.04.25 в 11:00
Кому будет полезен вебинар
Собственникам бизнеса
Генеральному директору
Главному бухгалтеру
ИТ-руководителю
Интегратор "Цифровизация Производства" покажет свои кейсы. Расскажет как подготовиться к проекту. Рассчитает примерные сроки и стоимость вашего проекта
Регистриуйтесь сейчас, так как количество участников ограничено вебинарной комнатой
Что это означает?
- Функциональные блоки не обновляются несколько лет и уже сильно отстают от требований законодательства
- Отсутствие отраслевой поддержки.
- Расходы в человеко-часах на ручное отслеживание изменений в законодательстве
- Поддержка «1С:УПП» обходится почти вдвое дороже аналогичной подписки для 1С:ERP.
Что ждет компании, которые до сих пор на устаревшем решении? И что делать, чтобы минимизировать затраты и риски?
Приглашаем на бесплатный вебинар
"ПЕРЕХОД С 1С:УПП"
17.04.25 в 11:00
Кому будет полезен вебинар
Собственникам бизнеса
Генеральному директору
Главному бухгалтеру
ИТ-руководителю
Интегратор "Цифровизация Производства" покажет свои кейсы. Расскажет как подготовиться к проекту. Рассчитает примерные сроки и стоимость вашего проекта
Регистриуйтесь сейчас, так как количество участников ограничено вебинарной комнатой
Что означает TRIM у жесткого диска
Anonymous Quiz
12%
Это возможность SATA-протокола вне зависимости от устройства
2%
Это ошибка ПО
2%
Это особенность прошивки
21%
Это SMR-диск (черепица)
20%
Это означает что TRIM включен на уровне ОС
17%
К этому диску подключен SSD-кеш
1%
Это показывает на неисправность диска
26%
Нет ни одного правильного ответа
Итак, откуда у жесткого диска команда TRIM
К сожалению, правильный ответ на вопрос дали немногие читатели. И это действительно диск с SMR, а наличие поддержки TRIM у жесткого диска – 100% признак черепицы.
Коротко вспомним, что SMR диск, как и SSD, имеет большой штраф на запись, потому что мы не можем изменить один кластер, не перезаписав всю ленту. Поэтому запись всегда идет в свободные ленты или медиакеш с обычной технологией записи.
В моменты простоя диск начинает заниматься реорганизацией, т.е. перемещать записанные данные в занятые ленты, чтобы увеличить количество свободных, здесь же и начинает работать TRIM, также как и в SSD сообщая об удаленных на уровне файловой системы данных.
Это позволяет диску более эффективно реорганизовывать данные и поддерживать максимальный запас свободных лент.
Более подробно об этом в нашей статье: Что такое черепичная магнитная запись SMR и стоит ли ее избегать?
К сожалению, правильный ответ на вопрос дали немногие читатели. И это действительно диск с SMR, а наличие поддержки TRIM у жесткого диска – 100% признак черепицы.
Коротко вспомним, что SMR диск, как и SSD, имеет большой штраф на запись, потому что мы не можем изменить один кластер, не перезаписав всю ленту. Поэтому запись всегда идет в свободные ленты или медиакеш с обычной технологией записи.
В моменты простоя диск начинает заниматься реорганизацией, т.е. перемещать записанные данные в занятые ленты, чтобы увеличить количество свободных, здесь же и начинает работать TRIM, также как и в SSD сообщая об удаленных на уровне файловой системы данных.
Это позволяет диску более эффективно реорганизовывать данные и поддерживать максимальный запас свободных лент.
Более подробно об этом в нашей статье: Что такое черепичная магнитная запись SMR и стоит ли ее избегать?
👍38❤3
Почему именно systemd?
Практически после каждой нашей заметки о возможностях systemd в комментариях появляются читатели, которые пишут, что мол, а не проще ли это сделать … и далее идет перечисление простых утилит или скриптов.
С одной стороны, они могут показаться в чем-то правы. Зачем нужны все эти юниты, когда можно просто дернуть утилиту, получить результат и обернуть все это в скрипт.
Но это очень узкий и односторонний взгляд. Современные системы очень сложны и требуют стандартизации и унификации средств администрирования.
Вы можете мастерски владеть скриптами и автоматизировать все с их помощью, но ваши коллеги не сильно обрадуются этому факту, если им придется принять у вас обслуживание этой системы. Да и самому элементарно можно забыть, где лежит и для чего нужен тот или иной скрипт, особенно если подробного документирования не производилось.
Поэтому первый плюс systemd – это унификация и стандартизация. Теперь у нас есть юниты: юниты служб, юниты таймеров, юниты путей, юниты монтирования и т.д. и т.п.
Все юниты стандартизованы и научившись работать с одним типом вы без труда освоите другой. Кроме этого, юниты просты, очень просты и не идут ни в какое сравнение со скриптами.
Списки юнитов и их состояние также можно получить централизованно, одной простой командой. А чтобы проверить все возможные задания того же cron вам придется пробежать несколько каталогов, а также проверить crontab.
Второй плюс – это углубленная интеграция в систему, systemd предоставляет множество удобных инструментов, начиная от управления автозагрузкой и заканчивая средствами логирования.
Чтобы посмотреть результат работы скрипта – вам придется самому позаботиться о ведении лога. В systemd все это можно посмотреть «не отходя от кассы», стандартными инструментами. При этом никаких особых усилий к этому прикладывать не придется.
Из этого вытекает еще одно большое преимущество юнитов – их гораздо проще отлаживать. Во-первых, у вас уже есть лог, который ведется автоматически. Во-вторых, юниты предсказуемы и работают одинаково, вне зависимости от того, запущены они вручную или другим юнитом.
В тоже время отлично работающий при интерактивном запуске скрипт может оказаться неработоспособным при вызове через cron или из другого скрипта просто потому, что оказался запущен в другом контексте, с другими переменными окружения.
До сих пор нами были перечислены простые задачи, на которых преимущества systemd, конечно, видны, но еще не раскрыли всех своих возможностей.
Начнем с зависимостей. Как мы уже говорили – современные системы сложны. Многие их компоненты и службы зависят от других служб или предоставляемых ими ресурсов. Например, нам нужно выполнить какое-то задание, но только после того, как поднимется сеть и будут доступны некоторые сетевые ресурсы.
Для традиционного решения этой задачи придется немало поломать голову, выполнить кучу проверок или, как делается чаще всего, пойти по пути костылей и синей изоленты. Скажем, просто поставить задержку, в надежде что за это время сервис, от которого зависит работа успеет подняться. Ну а нет, так нет…
Systemd предоставляет простой и удобный способ работы с зависимостями. При этом вы можете указывать как отдельные службы, так и цели (таргеты), которые составляют группы служб, объединенные по некоторому признаку. Нужна сеть? Просто указываем в зависимостях network.target.
Еще одна важная задача – обработка отказа. Если служба упала – вы можете ее автоматически перезапустить. Но это можно сделать и без systemd, а вот systemd позволяет сделать это грамотно, указав частоту и количество попыток.
Если проблема приняла системный характер или находится на другой стороне, то systemd попробует несколько раз перезапустить службу и прекратит это делать, не получив результата. И это гораздо лучше, чем тупо долбить скриптом, вызывая повышенную нагрузку на систему и сеть.
Размер заметки не дает углубиться в подробности, но даже перечисленное дает исчерпывающий ответ на вопрос: почему именно systemd?
Практически после каждой нашей заметки о возможностях systemd в комментариях появляются читатели, которые пишут, что мол, а не проще ли это сделать … и далее идет перечисление простых утилит или скриптов.
С одной стороны, они могут показаться в чем-то правы. Зачем нужны все эти юниты, когда можно просто дернуть утилиту, получить результат и обернуть все это в скрипт.
Но это очень узкий и односторонний взгляд. Современные системы очень сложны и требуют стандартизации и унификации средств администрирования.
Вы можете мастерски владеть скриптами и автоматизировать все с их помощью, но ваши коллеги не сильно обрадуются этому факту, если им придется принять у вас обслуживание этой системы. Да и самому элементарно можно забыть, где лежит и для чего нужен тот или иной скрипт, особенно если подробного документирования не производилось.
Поэтому первый плюс systemd – это унификация и стандартизация. Теперь у нас есть юниты: юниты служб, юниты таймеров, юниты путей, юниты монтирования и т.д. и т.п.
Все юниты стандартизованы и научившись работать с одним типом вы без труда освоите другой. Кроме этого, юниты просты, очень просты и не идут ни в какое сравнение со скриптами.
Списки юнитов и их состояние также можно получить централизованно, одной простой командой. А чтобы проверить все возможные задания того же cron вам придется пробежать несколько каталогов, а также проверить crontab.
Второй плюс – это углубленная интеграция в систему, systemd предоставляет множество удобных инструментов, начиная от управления автозагрузкой и заканчивая средствами логирования.
Чтобы посмотреть результат работы скрипта – вам придется самому позаботиться о ведении лога. В systemd все это можно посмотреть «не отходя от кассы», стандартными инструментами. При этом никаких особых усилий к этому прикладывать не придется.
Из этого вытекает еще одно большое преимущество юнитов – их гораздо проще отлаживать. Во-первых, у вас уже есть лог, который ведется автоматически. Во-вторых, юниты предсказуемы и работают одинаково, вне зависимости от того, запущены они вручную или другим юнитом.
В тоже время отлично работающий при интерактивном запуске скрипт может оказаться неработоспособным при вызове через cron или из другого скрипта просто потому, что оказался запущен в другом контексте, с другими переменными окружения.
До сих пор нами были перечислены простые задачи, на которых преимущества systemd, конечно, видны, но еще не раскрыли всех своих возможностей.
Начнем с зависимостей. Как мы уже говорили – современные системы сложны. Многие их компоненты и службы зависят от других служб или предоставляемых ими ресурсов. Например, нам нужно выполнить какое-то задание, но только после того, как поднимется сеть и будут доступны некоторые сетевые ресурсы.
Для традиционного решения этой задачи придется немало поломать голову, выполнить кучу проверок или, как делается чаще всего, пойти по пути костылей и синей изоленты. Скажем, просто поставить задержку, в надежде что за это время сервис, от которого зависит работа успеет подняться. Ну а нет, так нет…
Systemd предоставляет простой и удобный способ работы с зависимостями. При этом вы можете указывать как отдельные службы, так и цели (таргеты), которые составляют группы служб, объединенные по некоторому признаку. Нужна сеть? Просто указываем в зависимостях network.target.
Еще одна важная задача – обработка отказа. Если служба упала – вы можете ее автоматически перезапустить. Но это можно сделать и без systemd, а вот systemd позволяет сделать это грамотно, указав частоту и количество попыток.
Если проблема приняла системный характер или находится на другой стороне, то systemd попробует несколько раз перезапустить службу и прекратит это делать, не получив результата. И это гораздо лучше, чем тупо долбить скриптом, вызывая повышенную нагрузку на систему и сеть.
Размер заметки не дает углубиться в подробности, но даже перечисленное дает исчерпывающий ответ на вопрос: почему именно systemd?
👍68🔥6❤1
😎 systemd - управляем загрузкой служб
Прежде всего выясним статус службы, для этого выполним
Для того, чтобы включить автозагрузку службы используйте:
🔹 UNIT - юнит службы
🔹 LOAD - статус юнита, loaded - загружен в конфигурацию systemd
🔹 ACTIVE - текущий статутс, показывает запущена ли служба
🔹SUB - более низкоуровневое состояние, зависит от типа юнита, так running показывает что служба запущена и работает, а exited - что она выполнила свою задачу и прекратила работу.
☝️ Также существует простой и удобный способ узнать текущий статус службы.
Чтобы проверить запущена ли она, выполните:
Прежде всего выясним статус службы, для этого выполним
systemctl status myservice
В выводе нас интересует следующая строка:Loaded: loaded (/path_to/myservice.service; enabled; vendor preset: enabled)
Где loaded - обозначает что юнит проанализирован systemd и загружен в текущую конфигурацию, enabled - автозагрузка сервиса включена, vendor preset: enabled - статус автозагрузки по умолчанию, enabled обозначает, что служба будет автоматически добавлена в автозагрузку при установке пакета.Для того, чтобы включить автозагрузку службы используйте:
systemctl enable myservice
При этом, чтобы два раза не вставать, можно сразу и запустить службу:systemctl enable --now myservice
Для выключения автозагрузки выполните:systemctl disable myservice
Посмотреть полный список служб в системе можно командой:systemctl list-units --type=service
Вывод представляет собой несколько колонок:🔹 UNIT - юнит службы
🔹 LOAD - статус юнита, loaded - загружен в конфигурацию systemd
🔹 ACTIVE - текущий статутс, показывает запущена ли служба
🔹SUB - более низкоуровневое состояние, зависит от типа юнита, так running показывает что служба запущена и работает, а exited - что она выполнила свою задачу и прекратила работу.
☝️ Также существует простой и удобный способ узнать текущий статус службы.
Чтобы проверить запущена ли она, выполните:
systemctl is-active myservice
Включена ли в автозагрузку:systemctl is-enabled myservice
Завершился ли ее запуск ошибкой:systemctl is-failed myservice
👍 Код завершения команды при положительном ответе - 0, что позволяет удобно выяснять состояние служб в скриптах.👍65
Ананас в аренду?
В 18 веке ананасы считались признаком богатства и власти по всей Европе. Фрукт был настолько почитаем, что люди даже арендовали ананасы на ночь, чтобы показать их своим друзьям.
А сколько ещё удивительных вещей вы не знаете?
Наш канал Кот учёный – ваш проводник в мир интересных фактов!
Подписывайся’!👇
https://yangx.top/kot_u4enyy
erid: 2W5zFGM7MWG
В 18 веке ананасы считались признаком богатства и власти по всей Европе. Фрукт был настолько почитаем, что люди даже арендовали ананасы на ночь, чтобы показать их своим друзьям.
А сколько ещё удивительных вещей вы не знаете?
Наш канал Кот учёный – ваш проводник в мир интересных фактов!
Подписывайся’!👇
https://yangx.top/kot_u4enyy
erid: 2W5zFGM7MWG
🔥2👀2
Стандартные systemd target в Linux
Говоря о юнитах systemd, нельзя не отметить такой тип юнита как
Вы можете создать собственный таргет из взаимозависимых служб и, скажем, одновременно перезапускать все относящиеся к веб-серверу службы: веб-север, СУБД, PHP и т.д.
Но об этом мы поговорим как-нибудь позже, а сегодня наше внимание займут стандартные таргеты.
Посмотреть список стандартных целей можно командой:
У некоторых целей может быть сразу несколько вариантов, например, существуют сразу три сетевых таргета:
▫️
Данная цель должна использоваться как
Собственно
И, наконец,
Отдельного разговора заслуживают
▫️
▫️
▫️
▫️
▫️
Также существует загрузочный таргет по умолчанию -
Узнать текущее состояние по умолчанию можно командой:
По-умолчанию
Также мы можем переключаться между уровнями загрузки без перезагрузки системы при помощи команды
Ну и напоследок весьма злая шутка:
После чего можно принимать ставки как быстро коллега разберется в чем дело. Но такие шутки довольно вредны для здоровья. Минздрав предупреждает!
Говоря о юнитах systemd, нельзя не отметить такой тип юнита как
таргет (цель, taget)
. Таргет – это особый тип юнита, который позволяет объединить несколько юнитов в группу и управлять ими как единым целым. Вы можете создать собственный таргет из взаимозависимых служб и, скажем, одновременно перезапускать все относящиеся к веб-серверу службы: веб-север, СУБД, PHP и т.д.
Но об этом мы поговорим как-нибудь позже, а сегодня наше внимание займут стандартные таргеты.
Посмотреть список стандартных целей можно командой:
systemctl -–type=target
После чего мы увидим список всех активных таргетов, чтобы увидеть полный список используйте команду:systemctl -–type=target -–all
Что в этом полезного и для чего мы можем их использовать? Прежде всего для указания зависимостей. Допустим нам нужно, чтобы наша служба запускалась после того, как будет инициирована сеть, нет ничего проще:After=network.target
Если вы используете сетевые файловые системы, такие как NFS или CIFS/SMB и ваша служба должна запуститься после того, как они будут смонтированы:After=remote-fs.target
И не нужно ничего придумывать, systemd уже подумала за вас.У некоторых целей может быть сразу несколько вариантов, например, существуют сразу три сетевых таргета:
▫️
network-pre.target
▫️ network.target
▫️ network-online.target
Цель network-pre.target
представляет собой точку состояния системы перед запуском сетевых служб и может быть использована для запуска тех служб, которые обязательно должны быть активны на момент запуска сети, например, брандмауэр.Данная цель должна использоваться как
Before=network-pre.target
или Wants=network-pre.target
.Собственно
network.target
обозначает состояние запуска всех сетевых служб системы и для прочих юнитов, которым нужна сеть мы должны использовать After=network.target
, т.е. состояние после того, как все сетевые службы были запущены.И, наконец,
network-online.target
– это точка состояния системы, когда все сетевые службы успешно и гарантированно запущены. Используется только с Wants=
и After=
, используется в основном для устаревших служб или сценариев, которые некорректно работают с After=network.target
.Отдельного разговора заслуживают
Boot targets – цели загрузки
, эти таргеты являются аналогами уровней запуска init. Существуют следующие загрузочные таргеты:▫️
poweroff.target (runlevel 0)
– выключение системы▫️
rescue.target (runlevel 1)
– режим восстановления системы▫️
multi-user.target (runlevel3)
– многопользовательский режим (консольный режим без графики)▫️
graphical.target (runlevel 5)
– режим графического окружения▫️
reboot.target (runlevel 6)
– перезагрузка системыТакже существует загрузочный таргет по умолчанию -
default.target
, который является символьной ссылкой на один из загрузочных таргетов и определяет в какой именно режим будет загружена система по умолчанию. Узнать текущее состояние по умолчанию можно командой:
systemctl get-default
А установить новую цель загрузки можно командой:systemctl set-default graphical.targetПри этом
graphical.target
имеет одну особенность, при отсутствии графики он запускается и работает аналогично multi-user.target
и поэтому не следует удивляться, увидев его в системе без графической оболочки или в контейнере.По-умолчанию
graphical.target
для систем без графического окружения используют Debian и Ubuntu.Также мы можем переключаться между уровнями загрузки без перезагрузки системы при помощи команды
isolate
. Так если мы выполним в графической среде: systemctl isolate multi-user.target
То все графические модули будут остановлены, и система перейдет в режим командной строки.Ну и напоследок весьма злая шутка:
systemctl set-default reboot.target
👻👻👻После чего можно принимать ставки как быстро коллега разберется в чем дело. Но такие шутки довольно вредны для здоровья. Минздрав предупреждает!
👍45
Как правильно редактировать юниты systemd
Сегодня systemd стал безальтернативной системой управления службами в дистрибутивах первого эшелона и предоставил администраторам простые и удобные возможности для решения этой задачи.
Действительно, сравните сложность написания init-файла и юнита. 🤷🏻♀️
И, как всякая хорошо спроектированная и продуманная система systemd предполагает многоуровневую систему управления юнитами.
Начнем с мест их расположения, которые перечислим в порядке повышения приоритета:
▫️
▫️
▫️
Директория
Вроде бы просто, да не совсем. При обновлении пакета юнит в
Юнит пакета будет жить сам по себе, и наш, скопированный юнит тоже сам по себе. Но применяться, в силу приоритета, будет именно наш юнит.
К чему это может привести? Да к чему угодно и отловить причину внезапно возникшего непонятного поведения службы может быть достаточно проблематично.
Особенно критично это может быть при обновлении системы на новую версию, где исходный юнит службы может подвергнуться серьезным изменениям.
Как быть? К счастью, в systemd, как в хорошо спроектированной системе, есть возможность точечно вносить изменения в конфигурацию юнита при помощи технологии drop-in.
Скажем, нам нужно внести изменения в работу юнита
Проще всего это сделать с помощью команды:
Если вы добавите:
Еще одним достоинством команды
Откатить изменения можно командой
Мы рекомендуем использовать данный подход даже для внесения изменения в собственные юниты, так откатить изменения в drop-in файле проще, чем восстановить исходное состояние конфигурации службы.
Сегодня systemd стал безальтернативной системой управления службами в дистрибутивах первого эшелона и предоставил администраторам простые и удобные возможности для решения этой задачи.
Действительно, сравните сложность написания init-файла и юнита. 🤷🏻♀️
И, как всякая хорошо спроектированная и продуманная система systemd предполагает многоуровневую систему управления юнитами.
Начнем с мест их расположения, которые перечислим в порядке повышения приоритета:
▫️
/usr/lib/systemd/system
– юниты установленные вместе с пакетами▫️
/run/systemd/system
– юниты, которые создаются автоматически при загрузке системы и существующие только в рамках текущего сеанса▫️
/etc/systemd/system
– юниты, созданные системным администраторомДиректория
/etc/systemd/system
имеет наивысший приоритет и если нам нужно изменить существующий юнит службы, то мы можем скопировать его сюда из /usr/lib/systemd/system
и внести свои изменения. Вроде бы просто, да не совсем. При обновлении пакета юнит в
/usr/lib/systemd/system
тоже будет обновляться, при этом, в отличии от изменения конфигурационных файлов, никакого предупреждения мы не получим. Юнит пакета будет жить сам по себе, и наш, скопированный юнит тоже сам по себе. Но применяться, в силу приоритета, будет именно наш юнит.
К чему это может привести? Да к чему угодно и отловить причину внезапно возникшего непонятного поведения службы может быть достаточно проблематично.
Особенно критично это может быть при обновлении системы на новую версию, где исходный юнит службы может подвергнуться серьезным изменениям.
Как быть? К счастью, в systemd, как в хорошо спроектированной системе, есть возможность точечно вносить изменения в конфигурацию юнита при помощи технологии drop-in.
Скажем, нам нужно внести изменения в работу юнита
myservice.service
, для этого мы должны создать каталог /etc/systemd/system/ myservice.service.d
и поместить в него один или несколько фалов с расширением conf
.Проще всего это сделать с помощью команды:
systemctl edit myservice
Напоминаем, что если вы не указали тип юнита, то по умолчанию он принимается за service, а если вам нужно внести изменения в таймер, то придется указать имя юнита полностью:systemctl edit myservice.timer
Затем указываем только те опции, которые хотим переопределить или добавить, например:[Unit]
Requires=новая зависимость
After=новая зависимость
Для опций, предполагающих множественные значения следует предварительно выполнить их сброс, иначе переопределяемое значение будет добавлено к уже существующему в файле юнита. К таким опциям относятся ExecStart
или OnCalendar
в таймерах.Если вы добавите:
[Service]
ExecStart=новая команда
То эта строка будет добавлена к существующим строкам ExecStart
в юните, если вы хотите переопределить это значение, то его сначала необходимо сбросить:[Service]
ExecStart=
ExecStart=новая команда
Если у вас несколько Drop-in файлов, то изменения в них будут применяться по очереди, для расстановки приоритетов можете использовать цифровые префиксы файлов. Еще одним достоинством команды
systemctl edit
является то, что по окончании редактирования конфигурация systemd будет перечитана, а служба перезапущена.Откатить изменения можно командой
systemctl revert myservice
Если вы редактируете drop-in файлы вручную, то после каждого изменения перечитайте конфигурацию:systemctl daemon-reload
И перезапустите службуsystemctl restart myservice
Как видим, systemd дает в руки администратора серьезные инструменты позволяющие точечно редактировать конфигурацию юнитов. Мы рекомендуем использовать данный подход даже для внесения изменения в собственные юниты, так откатить изменения в drop-in файле проще, чем восстановить исходное состояние конфигурации службы.
👍49👀3
Субботнее ночное
Со вчерашнего дня по дореволюционным проездным на пригородные поезда то пускают, то не пускают, то пускают, но не на все направления.
Что такое пригородные поезда рекомендуем почитать тут: https://yangx.top/interface31/3387
Похоже, халява накрылась. Теперь в область только на маршрутках, с импортными буквами на боку: X-RAY, VLESS, REALITY
Что они значат? Да пес его знает, наверное модель маршрутки.
Но вот пришлось искать и найти способ втиснуться туда с чадами, домочадцами и домашними животными прямо с железнодорожной платформы.
Да и маршрутки нечего так, быстрые, удобные.
Со вчерашнего дня по дореволюционным проездным на пригородные поезда то пускают, то не пускают, то пускают, но не на все направления.
Что такое пригородные поезда рекомендуем почитать тут: https://yangx.top/interface31/3387
Похоже, халява накрылась. Теперь в область только на маршрутках, с импортными буквами на боку: X-RAY, VLESS, REALITY
Что они значат? Да пес его знает, наверное модель маршрутки.
Но вот пришлось искать и найти способ втиснуться туда с чадами, домочадцами и домашними животными прямо с железнодорожной платформы.
Да и маршрутки нечего так, быстрые, удобные.
👍21😁14🔥4🤡2
Кеширующий прокси или зеркало репозитория?
Уже не первый раз сталкиваемся с тем, что начинающие администраторы путают эти два понятия. Поэтому попробуем внести ясность.
По мере роста количества машин под управлением Linux возникает проблема доступа к репозиториям. Например, при обновлении весь парк машин будет многократно выкачивать один и тот же объем трафика.
Дополнительными негативными факторами могут быть скорость канала или скорость доступа к репозиториям. Все это заставляет задуматься о том, как решить проблему.
Первое что приходит на ум – это локальное зеркало репозитория. Создать его несложно, для этого есть штатная утилита apt-mirror. С ее помощью можно поддерживать на собственных ресурсах полную копию репозиториев системы.
Но тут возникают иные сложности, так, например, размер репозиториев текущей версии Debian для архитектуры amd64 составляет 778 ГБ, сюда как минимум следует добавить all и еще 258 ГБ. Получаем примерно 1 ТБ требуемого дискового пространства.
Если у нас в эксплуатации несколько систем, то зеркала репозиториев нужно будет организовать для каждой из них. При переходе на новую версию – добавить новые репозитории.
В итоге получаем весьма значительное расходование места, причем достаточно бесполезное, поскольку по факту вы будете использовать лишь малую его часть.
Уменьшить размер локальных репозиториев в целом можно, например, скачав только самые нужные или оставив только последние версии пакетов, но все это не устраняет общей проблемы – значительный перерасход места.
Альтернатива локальному репозиторию – кеширующий прокси-сервер. Он работает по схожему, но несколько иному принципу.
Как и любой прокси-сервер он становится посредником между системой и репозиторием и один раз скачав любой пакет помещает его в локальный кеш. При последующих запросах пакет будет уже отдаваться из кеша, без повторного скачивания.
Локальная структура также организуется по принципу репозиториев, с учетом версии системы, архитектуры, источника пакетов и т.д.
Поэтому один кеширующий прокси может без проблем обслуживать любое количество систем и их версий. Никаких настроек при этом делать не надо. Новая система первый раз скачает необходимые файлы из интернета, а остальные получат их уже из локального хранилища.
Потребовался новый пакет или обновление? Аналогично, один раз качаем, остальное получаем локально.
При этом размер кеша будет равен размеру реально используемых пакетов и их версий. И разница с локальным репозиторием получается где-то на порядок.
Поэтому для большинства сценариев оптимальным будет использование именно кеширующего прокси.
Локальные репозитории в свою очередь следует использовать для закрытого контура или крупных систем с узким внешним каналом.
Настроить кеширующий прокси Apt-Cacher NG можно по нашей статье: Установка и настройка Apt-Cacher NG - кеширующего прокси-сервера обновлений для Debian и Ubuntu
Уже не первый раз сталкиваемся с тем, что начинающие администраторы путают эти два понятия. Поэтому попробуем внести ясность.
По мере роста количества машин под управлением Linux возникает проблема доступа к репозиториям. Например, при обновлении весь парк машин будет многократно выкачивать один и тот же объем трафика.
Дополнительными негативными факторами могут быть скорость канала или скорость доступа к репозиториям. Все это заставляет задуматься о том, как решить проблему.
Первое что приходит на ум – это локальное зеркало репозитория. Создать его несложно, для этого есть штатная утилита apt-mirror. С ее помощью можно поддерживать на собственных ресурсах полную копию репозиториев системы.
Но тут возникают иные сложности, так, например, размер репозиториев текущей версии Debian для архитектуры amd64 составляет 778 ГБ, сюда как минимум следует добавить all и еще 258 ГБ. Получаем примерно 1 ТБ требуемого дискового пространства.
Если у нас в эксплуатации несколько систем, то зеркала репозиториев нужно будет организовать для каждой из них. При переходе на новую версию – добавить новые репозитории.
В итоге получаем весьма значительное расходование места, причем достаточно бесполезное, поскольку по факту вы будете использовать лишь малую его часть.
Уменьшить размер локальных репозиториев в целом можно, например, скачав только самые нужные или оставив только последние версии пакетов, но все это не устраняет общей проблемы – значительный перерасход места.
Альтернатива локальному репозиторию – кеширующий прокси-сервер. Он работает по схожему, но несколько иному принципу.
Как и любой прокси-сервер он становится посредником между системой и репозиторием и один раз скачав любой пакет помещает его в локальный кеш. При последующих запросах пакет будет уже отдаваться из кеша, без повторного скачивания.
Локальная структура также организуется по принципу репозиториев, с учетом версии системы, архитектуры, источника пакетов и т.д.
Поэтому один кеширующий прокси может без проблем обслуживать любое количество систем и их версий. Никаких настроек при этом делать не надо. Новая система первый раз скачает необходимые файлы из интернета, а остальные получат их уже из локального хранилища.
Потребовался новый пакет или обновление? Аналогично, один раз качаем, остальное получаем локально.
При этом размер кеша будет равен размеру реально используемых пакетов и их версий. И разница с локальным репозиторием получается где-то на порядок.
Поэтому для большинства сценариев оптимальным будет использование именно кеширующего прокси.
Локальные репозитории в свою очередь следует использовать для закрытого контура или крупных систем с узким внешним каналом.
Настроить кеширующий прокси Apt-Cacher NG можно по нашей статье: Установка и настройка Apt-Cacher NG - кеширующего прокси-сервера обновлений для Debian и Ubuntu
👍49🤝1