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

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

Специфичный юзкейс, решаемый в данной статье

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

Итак, исходные данные:

  • Имя файла и его адрес: известны хотя бы примерно
  • Дата создания искомой версии файла: не известна
  • Бэкап ежедневный, инкрементальный или равный ему по ресурсоёмкости. Полный и разностный не используются ввиду ограниченности объёмов дискового пространства в хранилище/приемнике бэкапов.

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

Предлагаю вашему вниманию перевод статьи What are Docker none:none images? из блога Project Atomic.

Последние несколько дней я потратил на упражнения с образами Docker <none>:<none>. Чтобы объяснить, что они собой представляют, и что могут натворить, я пишу этот пост, в котором ставлю вопросы:

  1. Что собой представляют образы Docker <none>:<none> ?
  2. Что собой представляют обособленные (dangling) образы ?
  3. Почему я вижу кучу образов <none>:<none>, когда делаю docker images -a ?
  4. В чем разница между docker images и docker images -a ?

Прежде чем я начну отвечать на вопросы, запомните, что есть два вида образов <none>:<none>: хорошие и плохие.Читать полностью »

Зачем все это нужно

Все кто использовал Elasticsearch каластер для своих нужд (особенно для логирования и как основную базу данных) на больших нагрузках сталкивался с проблемами консистентности и масштабируемости. Когда требуется распараллелить нагрузку на Elasticsearch обычно применялись статические решения то типу NGINX+Elasticsearch. Это позволяет распараллелить нагрузку, но выглядит не слишком гибко. Особенно если учесть что ноды могут сами выпадать из кластера и простой хелсчек покажет что все отлично, а на самом деле нода перегружена, исключена из кластера. В любом случае хотелось бы иметь данные о состоянии кластера из первых рук, а не довольствоваться простыми проверками.
Итак, приступим к построению балансировки .

Как мы будем это делать

В данном случае мы будем использовать CAT node API, которое является частъю мощьнейшего CAT API, который является инструментом поиска заголовков по Elasticsearch клстреру.
Мы будем использовать только Gobetween и встроенные механизмы Elasticsearch для балансировки записи /чтения СRUD (DATA) нод при произвольном количестве/статусе нод в кластере.

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

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

После выхода Ubuntu 16.04 (новый LTS релиз), systemd стал реальностью всех основных дистрибутивов Linux, использующихся на серверах. Это означает, что можно закладываться на расширенные возможности systemd, не рискуя оставить часть пользователей приложения «за бортом».

Этот пост о том, как реализовать многоворкерное приложение средствами systemd.

Abstract: Использование шаблонов сервисов и target'ов для запуска нескольких инстансов сервиса (реализация «воркеров»). Зависимость PartOf. Немного про [install] секцию у unit'ов.

Вступление

Многие языки программирования с плохой или никакой многопоточностью (Python, Ruby, PHP, довольно часто C/C++) используют концепцию «воркера». Вместо того, чтобы городить сложные отношения между тредами внутри приложения, они запускают несколько однопоточных копий приложения, каждое из которых берёт на себя кусок нагрузки. Благодаря опции SO_REUSEPORT есть даже возможность «вместе» слушать на одном и том же порту, что покрывает большинство задач, в которых возникает потребность в воркерах (собственно, обычные серверные приложения, реализующие API или обслуживающие веб-сайт).

Но такой подход требует наличия «супервизора», который отвечает за запуск копий, следит за их состоянием, обрабатывает ошибки, завершает при всякого рода stop/reload и т.д. При кажущейся тривиальности — это совершенно не тривиальная задача, полная нюансов (например, если один из воркеров попал в TASK_UNINTERRUPTIBLE или получил SIGSTOP, то могут возникнуть проблемы при restart у не очень хорошо написанного родителя).

Есть вариант запуска без супервизора, но в этом случае задача reload/restart перекладывается на администратора. При модели «один процесс на ядро» перезапуск сервиса на 24-ядерном сервере становится кандидатом в автоматизацию, которая в свою очередь требует обработки всех тех же самых SIGSTOP и прочих сложных нюансов.

Одним из вариантов решения проблемы является использование шаблонов сервисов systemd вместе с зависимостью от общего target'а.
Читать полностью »

1C.Drop.1 использует 1С для выполнения вредоносного кода - 1

Вчера компания «Доктор Веб» сообщила о появлении первого в своем роде вируса-шифровальшика. Уникальность данного зловреда заключается в том, что он написан на языке программирования 1С и является, по сути, внешней обработкой для клиентского приложения 1С: Предприятие 8. Хорошая новость заключается в том, что если в вашей среде не используется 1С, то угрозы не существует. Плохая же новость в том, что если вы, как и сотни тысяч компаний в России и за рубежом, все же используете 1с, то угроза более чем реальна.

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

image

1. Привет.

На хабре подозрительно мало информации про Open Build Service (далее OBS) и прочие платформы.
А про свежесть имеющегося и говорить не хочется.
Недавно был релиз версии 2.7, пришли долгожданные изменения.
Но, для истории, хочу немного рассказать об одном варианте использования 2.6 (релиз — февраль 2015 года).

Пример для материала навеян недавней потребностью.
Итак, собирем php-ffmpeg на базе ffmpeg 3.0 для Centos (7, и даже 6*!).

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

Настраиваем URL Overrides в Keepass2 - 1

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

По специфике моей работы мне часто приходится записывать и хранить большое количество паролей и другой конфиденциальной информации, поэтому я пользуюсь Keepass2 — менеджером паролей со свободной лицензией. Я не стану рассказывать о его возможностях и преимуществах перед другими, все это и так уже обсуждалось не раз. Если кто хочет познакомиться подробнее, вот несколько ссылок: wiki, обзорная статья, сравнения с другими: 1 2.
Вместо этого я хотел бы рассказать об одной его интересной функции:

Функция называется "URL Overrides", и представляет ссобой возможность запускать ассоциированные с записями программы и передавать им данные для аутентификации прямо из Keepass'а.

Например, вы можете хранить в keepass'е список учеток для подключения к удаленному серверу, а в определенный момент выбрать нужную и простым нажатием Ctrl+U, запустить клиент удаленного подключения, и моментально получить доступ к вашему серверу.
Это очень удобно, так как все логины и пароли не хранятся абы где, а надежно зашифрованны в вашей базе keepass и передаются программе-клиенту только в момент подключения.

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

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

Не самолет, но в «облаках»: Автомобили и облачные технологии - 1

/ фото Joi Ito CC

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

Ansible: тестируем плейбуки (часть 1) - 1

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js