Pull to refresh
0
@tvoikoreshread⁠-⁠only

User

Send message

Windows Server 2019 vs. VMware Snapshots with quiescing: элегантное решение проблемы

Reading time5 min
Views11K


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

У виртуальных машин Windows Server 2019 с эмуляцией EFI на VMware есть проблема с Application-Aware снапшотами. Выглядит это так: снапшот делается, доходит до 100%, висит минут 5, а потом вываливается в ошибку Failed to quiesce the virtual machine.
 


Расследование показало, что причина такой ошибки – конфликт службы VSS Windows Server 2019 и VMware Snapshot Provider, который и отвечает за application quiescing. Эта штука готовит виртуальную машину к снапшоту: останавливает работу приложений и операции записи, чтобы после восстановления из снапшота все данные были консистентны.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments9

Как мы оптимизировали наш DNS-сервер с помощью инструментов GO

Reading time19 min
Views8.9K
В преддверии старта нового потока по курсу «Разработчик Golang» подготовили перевод интересного материала.




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

dnsflood — это небольшой инструмент, способный генерировать огромное количество udp запросов.

# timeout 20s ./dnsflood example.com 127.0.0.1 -p 2053

Мониторинг систем показал, что использование памяти нашим сервисом росло так быстро, что нам пришлось остановить его, иначе мы столкнулись бы с OOM ошибками. Это было похоже на проблему утечки памяти; существуют различные причины «похожих на» и «реальных» утечек памяти в go:
Читать дальше →
Total votes 26: ↑25 and ↓1+29
Comments10

Развертывание в Docker и Kubernetes образа StatsD+Grafana

Reading time7 min
Views6.8K
В начале моего изучения Docker и Kubernetes мне нехватало простого и понятного примера, с которым можно было бы «поиграться», изучая особенности этой среды. Этой статьей хотелось бы закрыть этот пробел. Здесь я расскажу об интеграции .NET Core приложения с Telegraf и Grafana, о том, как шлются метрики и как деплоить в Docker и Kubernetes. Примеры в статье расчитаны на тех, кто начинает изучать данную область, но базовыми понятиями желательно обладать, чтобы полностью понять статью. В ней описано, как развернуть контейнер, в котором есть StatsD, InfluxDB и Grafana, а также, как отправлять метрики различных типов из приложения.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments8

И снова капча или nginx тоже умеет вышивать

Reading time9 min
Views9.1K

Введение


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


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

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments4

Полезные советы по Python, которых вы ещё не встречали. Часть 2

Reading time7 min
Views37K
Недавно мы опубликовали перевод материала, в котором были приведены полезные советы для Python-программистов. У того материала есть продолжение, которое мы представляем вашему вниманию сегодня.


Читать дальше →
Total votes 51: ↑48 and ↓3+62
Comments24

Шпаргалка для сисадмина по SELinux: 42 ответа на важные вопросы

Reading time6 min
Views32K
Перевод статьи подготовлен специально для студентов курса «Администратор Linux».




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

«Важная истина, что вещи не всегда являются тем, чем кажутся, общеизвестна…»

―Дуглас Адамс, Автостопом по Галактике

Безопасность. Повышение надежности. Соответствие. Политика. Четыре Всадника Апокалипсиса сисадмина. В дополнение к нашим ежедневным задачам — мониторингу, резервному копированию, внедрению, настройке, обновлению и т. д. — мы также отвечаем за безопасность наших систем. Даже тех систем, где сторонний провайдер рекомендует нам отключить усиленную безопасность. Это похоже на работу Этана Ханта из “Миссия невыполнима”.
Читать дальше →
Total votes 18: ↑17 and ↓1+23
Comments4

Осваиваем компьютерное зрение — 8 основных шагов

Reading time3 min
Views105K
Привет, читатель.

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

image

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

Total votes 40: ↑35 and ↓5+30
Comments10

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17

Reading time8 min
Views24K
Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я просто обновил Debian и Nextcloud и не столкнулся с какими-то необычными или интересными проблемами. Обновление в конце 2019 года было уже более интересным и про это стоило написать.



Данная статья в первую очередь будет полезна тем, кто по инструкциям прошлых четырёх статей «собрал» себе Nextcloud 13 на Debian 9 (передаю привет с десятку моих подписчиков по теме Nextcloud, в особенности тем, для кого это был первый опыт в мире Linux). Тем, кто соберётся делать сервис с нуля я советую взять за основу первые четыре статьи этого цикла с поправкой на актуальные версии Debian 10 и Nextcloud 17. Для опытных пользователей Linux статья может занять какое-то место между «тривиальна и бесполезна» и «неплохо, шпаргалка всё-в-одном-месте».
Читать дальше →
Total votes 18: ↑14 and ↓4+14
Comments64

Какие английские слова IT-лексикона мы неправильно произносим чаще всего

Reading time5 min
Views172K
Пока пара новых статей на технические темы еще в процессе написания, я решил опубликовать небольшой лингвистический материал. Достаточно часто замечаю, что коллеги, у которых английский язык — не родной, неправильно произносят некоторые характерные для IT сферы слова. И дело здесь не в том, насколько аутентично произносятся отдельные звуки, а именно в транскрипции. Регулярно встречал ситуации при общении с носителями, когда неправильно произносимое слово приводило к недопониманиям.

Дальше я приведу несколько наборов слов, сгруппированных по типовым ошибкам. К каждому слову будет приложена транскрипция, приблизительная транскрипция на русском и ссылка на более детальную информацию в словаре. Так как большинство IT компаний все-таки работает с Северной Америкой, то транскрипции будут из US English.
Читать дальше →
Total votes 244: ↑243 and ↓1+307
Comments486

Отлаживаем развертывание ПО со strace

Reading time14 min
Views12K


Моя основная работа — это, по большей части, развертывание систем ПО, то есть уйму времени я трачу, пытаясь ответить на такие вот вопросы:


  • У разработчика это ПО работает, а у меня нет. Почему?
  • Вчера это ПО у меня работало, а сегодня нет. Почему?

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


Поэтому вместо обычных инструментов для отладки вроде gdb у меня есть другой набор инструментов для отладки развертывания. И мой любимый инструмент для борьбы с проблемой типа "Почему это ПО у меня не пашет?" называется strace.

Читать дальше →
Total votes 27: ↑26 and ↓1+30
Comments5

Настройка окружения в CLI. WSL / Windows Terminal

Reading time17 min
Views86K
Есть люди, которые большинство рабочего времени проводят в консоли, есть те, кто пользуются терминалом при необходимости, запуская что-то по инструкциям. Но я думаю, что каждый айтишник, будь он разработчиком, сисадмином, сетевым инженером, или даже senior yaml developer`ом, пользуется command line interface. Далеко не все задумываются об улучшении рабочего окружения в CLI и повышении продуктивности работы в терминале. Мне хотелось бы поделиться своим опытом настройки окружения для работы с Linux из Windows.



Из статьи вы узнаете, какими средствами и каким терминалом актуально пользоваться в настоящее время для запуска Linux приложений в Windows 10. Речь пойдёт о WSL 2 и Windows Terminal, набирающим всё большую популярность у пользователей, которым для работы нужен Linux. Так как большинство use-case`ов у меня связаны с удалённым подключением через SSH, большая часть информации будет релевантно для случаев удалённых подключений, со всеми особенностями, связанными с этим (пробросом ssh ключей через ssh agent, пробросом X-сервера, управлением подключениями etс).

Внимание! Под катом много картинок и ужатого, но местами объёмного, gif`а, рекомендуется открывать статью при наличии соответствующего доступа к интернету. Заходите под кат, если вам актуален запуск Linux утилит под Windows, оптимизация работы в окружении CLI, или вы просто любите технические тексты и цветные терминалы. Текст я постарался скрасить скринкастами и скриншотами терминала, чтобы было не скучно.
Читать дальше →
Total votes 15: ↑14 and ↓1+18
Comments33

Необычные задачи по физике развивающие научное мышление (для школьников)

Reading time3 min
Views27K
Возможно вы уже читали мои статьи:


А сегодня я хочу поделиться своим давним но интересным проектом и его идеей.

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



С тех пор прошло более 10 лет, сайт не развивался, но актуальность свою сохранил. Данный пост будет интересен как преподавателям, так и родителям, которые хотят, чтоб их ребенок любил и знал физику. Заодно сможете проверить и свои навыки.
Total votes 24: ↑24 and ↓0+24
Comments17

В поисках LD_PRELOAD

Reading time12 min
Views25K
Эта заметка была написана в 2014-м году, но я как раз попал под репрессии на хабре и она не увидела свет. За время бана я про неё забыл, а сейчас нашёл в черновиках. Думал было удалить, но авось кому пригодится.



В общем, небольшое пятничное админское чтиво на тему поиска «включенного» LD_PRELOAD.
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments9

Аутентификация устройств на Linux по аппаратному ключу в системах верхнего уровня

Reading time23 min
Views8.7K
Industrial IoT — это мониторинг, диспетчеризация и автоматизация инженерных систем промышленных объектов, зданий, бизнес-объектов. Датчики разных параметров, счетчики и контроллеры собирают данные с этих объектов, например, температуру и влажность воздуха в серверной, показания счетчиков воды в многоквартирных домах, уровень углекислого газа в помещениях. Контроллеры обрабатывают эту информацию и отправляют все в «облако».

Компания Wiren Board производит контроллеры с Linux для industrial IoT. Устройства собирают данные с нефтедобывающих скважин и банковских отделений, следят за микроклиматом в серверных и супермаркетах. Контроллеры интегрируются с системами верхнего уровня партнеров компании. Системы аутентифицируют устройства — понимают, что разговаривают со своим датчиком, а не с чужим, а потом авторизуют. На этом этапе возникает проблема — контроллеров тысячи, клиентов сотни, а единой системы интеграции нет. Простые традиционные способы, например, пары логин/пароль, уязвимы к атакам и неудобны в развёртывании.



Поэтому в компании разработали аутентификацию в системах верхнего уровня по аппаратным ключам — на основе стандартной асимметричной криптографии с использованием аппаратного защищённого элемента для хранения ключей. Теперь единая система интеграции не нужна —аутентификация и авторизация защищены, и работают «из коробки». Как это удалось сделать расскажет Евгений Богер: как выбирали «крипточип», как прикручивали его к железу и к Linux, как заставили с ним дружить распространённые библиотеки и ПО. Особый упор на развёртывание: внедрение инициализации устройств на производстве, внедрение поддержки разного софта верхнего уровня, в том числе в чужого и закрытого.
Total votes 23: ↑23 and ↓0+23
Comments9

Выявляем процессы с дисковой активностью в Linux

Reading time13 min
Views80K
TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.

Введение

«Ой, ерунда, ячейки памяти на современных SSD выйдут из строя через десятки лет обычного использования, не стоит об этом беспокоиться, и уж тем более переносить swap, виртуальные машины и папку профиля браузера на HDD» — типичный ответ на вопрос о надежности твердотельных накопителей c гарантированными ≈150 TBW. Если прикинуть, сколько типичное ПО может писать данных, то кажется, что 10-20 ГБ в сутки — уже большая цифра, пусть будет максимум 40 ГБ, куда уж больше. При таких цифрах ответ вполне разумен — нужно 10 лет, чтобы достичь гарантированных значений по количеству перезаписи ячеек, при 40 ГБ записанных данных ежедневно.
Однако за 6 лет я пользуюсь уже третьим SSD: у первого вышел из строя контроллер, а второй начал перемещать данные между ячейками несколько раз в день, что оборачивалось 30-секундными задержками в обслуживании записи.

После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
19.7 ТБ.
Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
Читать дальше →
Total votes 119: ↑117 and ↓2+115
Comments90

Telegram-бот для изучения иностранных языков: от зубрежки слов к говорению

Reading time5 min
Views8.9K

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

Кроме того, мне всегда хотелось быстрее перейти к чему-то более практическому — например, чтению текстов на Quora или Wikipedia, новостей, пусть даже на упрощенном варианте языка. Напомню, я изучаю финский язык в связи с переездом в Финляндию, поэтому весьма актуальной для меня является возможность начать как можно раньше говорить с окружающими меня людьми, среди которых часто попадаются финны:-)

Так появилась новая задача — сделать изучение слов не самоцелью, а инструментом работы с текстами, которые мне интересны. В идеале — инструментом подготовки к говорению на темы, на которые я бы хотел говорить.
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments5

Сайзинг Elasticsearch

Reading time6 min
Views31K


— How big a cluster do I need?
— Well, it depends… (злобное хихиканье)

Elasticsearch — сердце Elastic Stack, в котором происходит вся магия с документами: выдача, приём, обработка и хранение. От правильного количества нод и архитектуры решения зависит его производительность. И цена, кстати, тоже, если ваша подписка Gold или Platinum.

Основные характеристики аппаратного обеспечения — это диск (storage), память (memory), процессоры (compute) и сеть (network). Каждый из этих компонентов в ответе за действие, которое Elasticsearch выполняет над документами, это, соответственно, хранение, чтение, вычисления и приём/передача. Поговорим об общих принципах сайзинга и раскроем то самое «it depends». А в конце статьи ссылки на вебинары и статьи по теме. Поехали!
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments16

Файл дескриптор в Linux с примерами

Reading time14 min
Views112K
Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место?

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

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

Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?

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

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

Интервьюер остался доволен, а я нет.

Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
Читать дальше →
Total votes 136: ↑136 and ↓0+136
Comments20

Как посадить Space Shuttle из космоса

Reading time10 min
Views28K
В общем, небольшая оговорка: выступление будет всего 20 минут.

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



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



Теперь они обитают в музеях и никак не смогут взлететь. Тем не менее, я, как и все вы, последние пять лет нахожусь в состоянии отрицания этого факта. Особенно ты, Стив Фельдман. Так что, в моем мире шаттл до сих пор летает и мы просто будем использовать настоящее время для этого разговора.
Total votes 135: ↑110 and ↓25+85
Comments63

Откуда взялся Волшебник из «Обыкновенного чуда»

Reading time9 min
Views16K
Первый был полукровкой — русская мама и папа-еврей. Внешне он был типичным евреем — брюнет, с большим носом и грустными еврейскими глазами.

image

Он был очень неправильным евреем.

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

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

Больше он никогда не воевал.

После Гражданской он немного актерствовал, а потом ушел в журналистику.

Его звали Евгений Львович Шварц.

image

Второй был чистопородным казаком — родился в станице Каменской, где его богатый отец был одним из самых уважаемых и авторитетных станичников. Николай Чуковский описывал его так: «Он был казак, и притом типичнейший — белокурый, румяный, кудрявый, похожий лицом на Кузьму Пруткова, с чубом, созданным богом для того, чтобы торчать из-под фуражки с околышком».

image

Он был очень неправильным казаком.

В то время как подавляющая часть его станичников искренне презирала «голоштанных пролетариев», он всем сердцем поверил в Революцию, и, как в песне — «хату покинул, пошел воевать». В отличие от Шварца, которого сразу выбили, этот Гражданскую хлебнул полной ложкой.
Читать дальше →
Total votes 97: ↑73 and ↓24+49
Comments82

Information

Rating
Does not participate
Location
Тверь, Тверская обл., Россия
Registered
Activity