Рубрика «Серверное администрирование»

Origin in Russian

Well, you can wonder — why would I use docker container for such a purpose? What's the problem to enter web-interface of ILO and manage server as usual?

The same thought I had when I've got a few old servers that required a reprovision. The servers are located in different continent and the only interface I had it was just a web interface of ILO. And when I had to enter a few manual commands via Virtual Console I discovered that it's hardly possible.

For various sorts of Virtual Console of servers (both HP and Dells) usually Java web applets are used. But Firefox and Chrome don't support them anymore and the newest IcedTea doesn't work with those old system anyway. So I had a few options:
Читать полностью »

image
Кадр из фильма Мстители: Война бесконечности

По сообщению пользователя dobrovolskiy 15 мая 2019 года в результате человеческой ошибки Яндекс удалил часть виртуальных машин в своем облаке.

Пользователь получил письмо от техподдержки Яндекса с таким текстом:

Сегодня мы проводили технические работы в Яндекс.Облаке. К сожалению, из-за человеческого фактора были удалены виртуальные машины пользователей в зоне ru-central1-c, которые хоть раз находились в статусе SUSPENDED. Мы сразу заметили ошибку и остановили удаление. Увы, некоторые ВМ и их boot-диски были удалены.

В результате пользователем были полностью потеряны некоторые продакшн-сервера. Бекапы у пострадавшего были, но часть данных всё равно утрачена безвозвратно. Обычно Яндекс компенсирует даун-тайм своих сервисов, согласно своей политике, но кто компенсирует потерю данных?
Читать полностью »

В комментариях к моей статье Docker: вредные советы было много просьб объяснить, чем так ужасен описанный в ней Dockerfile.

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

Docker: невредные советы - 1

Сейчас разберемся, что не так с этим Dockerfile.

Итак, прошла неделя.

Читать полностью »

PowerShell Desired State Configuration и напильник: часть 1. Настройка DSC Pull Server для работы с базой данных SQL - 1

PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов.

Но при использовании DSC on-premises, т.е. не в MS Azure, возникает пара нюансов. Они особенно ощутимы, если организация большая (от 300 рабочих станций и серверов) и в ней еще не открыли мир контейнеров:

  • Нет полноценных отчетов о состоянии систем. Если нужная конфигурация не применилась на каких-то серверах, то без этих отчетов мы об этом не узнаем. От встроенного сервера отчетов информацию получить довольно сложно, а для большого количества хостов – еще и долго.
  • Отсутствует масштабируемость и отказоустойчивость. Невозможно построить ферму опрашивающих веб-серверов DSC, которые бы имели единую отказоустойчивую базу данных и общее хранилище mof-файлов конфигураций, модулей и ключей регистрации.

Сегодня я расскажу, как можно решить первую проблему и получить данные для построения отчетности. Все было бы проще, если в качестве базы данных можно было бы использовать SQL. MS обещает встроенную поддержку только в Windows Server 2019 или в build Windows server 1803. Забирать данные с использованием OleDB provider тоже не получится, так как DSC-сервер использует именованный параметр, который не полностью поддерживается OleDbCommand.

Нашел вот такой способ: тем, кто использует Windows Server 2012 и 2016, можно настроить использование БД SQL в качестве backend’a для опрашивающего DSC-сервера. Для этого создадим «прокси» в виде .mdb файла со связанными таблицами, который будет перенаправлять данные, полученные от отчетов клиентов, в БД SQL-сервера.
Читать полностью »

Руководство для чайников: создание цепочек DevOps с помощью инструментов с открытым исходным кодом - 1
Создание первой цепочки DevOps за пять шагов для новичков.

DevOps стал панацеей для слишком медленных, разобщенных и прочих проблемных процессов разработки. Но нужны минимальные познания в DevOps. Здесь будет рассмотрены такие понятия, как цепочка DevOps и как создать ее за пять шагов. Это не полное руководство, а только “рыба”, которую можно расширять. Начнем с истории.

Мое знакомство с DevOps

Когда-то я работал с облаками в Citi Group и разрабатывал веб-приложение IaaS, чтобы управлять облачной инфраструктурой Citi, но мне всегда было интересно, как можно оптимизировать цепочку разработки и улучшить культуру среди разработчиков. Грег Лавендер, наш техдиректор по облачной архитектуре и инфраструктуре, посоветовал мне книгу Проект «Феникс». Она прекрасно объясняет принципы DevOps, при этом читается, как роман.

Читать полностью »

Команда инженеров из MIT разработала объектно-ориентированную иерархию памяти для более эффективной работы с данными. В статье разбираемся с тем, как она устроена.

Как работает сжатие в объектно-ориентированной архитектуре памяти - 1Читать полностью »

После недавнего выпуска 3CX v16 мы уже подготовили первое обновление 3CX V16 Update 1 Beta. В нем реализованы новые возможности корпоративного чата и обновленный сервис Call Flow Service, который совместно со средой разработки Call Flow Designer (CFD) позволяет создавать сложные голосовые приложения на C#.

Обновленный корпоративный чат

Коммуникационный виджет 3CX Live Chat & Talk продолжает активно разрабатываться. В обновлении Update 1 виджет «висит» независимо от переходов между страницами и вкладками. Теперь посетители могут путешествовать по вашему сайту, оставляя окно чата доступным для немедленного общения.

Интересные возможности появились и в сервисе корпоративного чата 3CX.Читать полностью »

Скорость хранилища подходит для etcd? Спросим fio - 1

Короткая история о fio и etcd

Производительность кластера etcd во многом зависит от производительности его хранилища. etcd экспортирует некоторые метрики в Prometheus, чтобы предоставить нужные сведения о производительности хранилища. Например, метрику wal_fsync_duration_seconds. В документации к etcd сказано: чтобы хранилище считалось достаточно быстрым, 99-й процентиль этой метрики должен быть меньше 10 мс. Если вы планируете запустить кластер etcd на машинах Linux и хотите оценить, достаточно ли быстрое у вас хранилище (например, SSD), можно использовать fio — популярный инструмент для тестирования операций ввода-вывода. Запустите следующую команду, где test-data — это каталог под точкой подключения хранилища:

fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=22m --bs=2300 --name=mytest

Нужно просто посмотреть результаты и проверить, что 99-й процентиль длительности fdatasync меньше 10 мс. Если да, у вас достаточно быстрое хранилище. Вот пример результатов:

  sync (usec): min=534, max=15766, avg=1273.08, stdev=1084.70
  sync percentiles (usec):
   | 1.00th=[ 553], 5.00th=[ 578], 10.00th=[ 594], 20.00th=[ 627],
   | 30.00th=[ 709], 40.00th=[ 750], 50.00th=[ 783], 60.00th=[ 1549],
   | 70.00th=[ 1729], 80.00th=[ 1991], 90.00th=[ 2180], 95.00th=[ 2278],
   | 99.00th=[ 2376], 99.50th=[ 9634], 99.90th=[15795], 99.95th=[15795],
   | 99.99th=[15795]

Читать полностью »

Привет! Десять лет я поддерживаю Highload ИТ системы. Не буду писать в этой статье о проблемах настройки nginx для работы в режиме 1000+ RPS или другие технические вещи. Поделюсь наблюдениями о проблемах в процессах, которые возникают в поддержке и эксплуатации таких систем. Читать полностью »

Исторически сложилось, что sudo права регулировались содержимым файлов из /etc/sudoers.d и visudo, а авторизация по ключам велась с использованием ~/.ssh/authorized_keys. Однако с ростом инфраструктуры возникает желание управлять этими правами централизованно. На сегодняшний день вариантов решения может быть несколько:

  • Система управления конфигурацией — Chef, Puppet, Ansible, Salt
  • Active Directory + sssd
  • Разнообразные извращения в виде скриптов и ручного редактирования файлов

На мой субъективный взгляд, оптимальным вариантом централизованного управления является все-таки связка Active Directory + sssd. Преимущества данного подхода вот в чем:

  • Действительно Единый централизованный каталог пользователей.
  • Раздача прав sudo сводится к добавлению пользователя в определенную группу безопасности.
  • В случае различных Linux-систем возникает необходимость вводить дополнительные проверки на определение ОС при использовании систем конфигурации.

Сегодняшняя сюита будет посвящена именно связке Active Directory + sssd для управления правами sudo и хранением ssh ключей в едином репозитории.
Итак, зал застыл в напряженном молчании, дирижер поднял палочку, оркестр приготовился.
Поехали.
Читать полностью »