Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

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

Время на прочтение14 мин
Количество просмотров109K
Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место?

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

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

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

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

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

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

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

Пользователи и авторизация RBAC в Kubernetes

Время на прочтение15 мин
Количество просмотров37K
Прим. перев.: Продолжая недавно затронутую нами тему безопасности Kubernetes в целом и RBAC — в частности, публикуем перевод этого материала от французского консультанта из международной компании Big Data-компании Adaltas. Автор в деталях показывает, как создавать пользователей, наделять их правами и в дальнейшем обслуживать.

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

(Иллюстрация взята из блога CNCF — прим. перев.)

Эта статья посвящена тому, как создавать пользователей, используя клиентские сертификаты X.509, и как управлять авторизацией с помощью базовых API-объектов RBAC в Kubernetes. Мы также поговорим о некоторых открытых проектах, упрощающих администрирование кластера: rakkess, kubectl-who-can, rbac-lookup и RBAC Manager.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии0

Сайзинг Elasticsearch

Время на прочтение6 мин
Количество просмотров30K


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

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

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

Горизонтальное масштабирование и отказоустойчивость Redis для сервисных служб DirectumRX

Время на прочтение16 мин
Количество просмотров14K
Обратите внимание, что данная статья подходит только для версии Directum RX ниже 4.1. Не используйте эту статью для более новых версий Directum RX. Информация и рекомендации, приведенные в этой статье, предоставлена только для ознакомительных целей и не может служить заменой профессиональных консультации Службы поддержки DIRECTUM.


Redis – это система управления базами данных класса NoSQL (не реляционные СУБД), размещаемых целиком в оперативной памяти. Для доступа к данным используется модель «ключ» — «значение». Такая СУБД используется зачастую для хранения кэшей в масштабируемых сервисах, для хранения изображений и данных небольшого размера.

Широкое распространение СУБД Redis получила за счет:

  • высокой скорости работы, т.к. все данные хранятся в оперативной памяти;
  • кроссплатформенности;
  • распространению по BSD лицензии (относится к СПО).

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

В случае применения горизонтального масштабирования сервисных служб DirectumRX необходимо использовать отказоустойчивую инсталляцию Redis для корректной работы с сервисом хранилищ DirectumRX и сервисом веб-доступа DirectumRX.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии11

Разворачиваем Kubernetes HA-кластер на Baremetal с помощью Kubeadm и Keepalived (простое руководство)

Время на прочтение3 мин
Количество просмотров14K

Эта статья является свободной интерпретацей официального руководства Creating Highly Available Clusters with kubeadm для Stacked control plane nodes. Мне не нравятся сложный язык и примеры использованные в нем, поэтому я написал свое руководство.


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

Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии4

Книга «Гравитация. Последнее искушение Эйнштейна»

Время на прочтение11 мин
Количество просмотров7.8K
imageРазгадав тайну гравитации, мы сможем ответить на величайшие вопросы науки: что такое пространство? Что такое время? Что такое Вселенная? Откуда все это взялось? Прославленный научно-популярный автор Маркус Чаун приглашает вас в увлекательное путешествие – с того момента, как в 1666 году гравитация была признана физической силой, до открытия гравитационных волн в 2015 году. Близится тектонический сдвиг в наших представлениях о физике, и эта книга рассказывает, какие вопросы ставит перед нами феномен гравитации.

Отрывок. Луна: попытка к бегству


Приливное влияние Луны на Землю замедляет движение нашей планеты, уменьшая ее вращательный момент. Существует фундаментальный принцип физики, называемый сохранением количества движения при вращении, согласно которому вращательный момент изолированной (замкнутой) системы никогда не меняется. Значит, если вращательный момент Земли уменьшается, вращательный момент другого элемента системы должен компенсировать это, увеличившись. В нашем случае вариант только один — Луна.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии8

Балансировка HTTP(S) трафика

Время на прочтение12 мин
Количество просмотров30K
Добрый день, %username%. Меня зовут Антон Резников, я работаю над проектом Облако Mail.Ru Сегодня я хочу рассказать о технологиях балансировки трафика, проиллюстрировав историей о развитии социальной сети. Все персонажи выдуманы, а совпадения почти случайны. Статья обзорная, составлена по следам доклада на Highload Junior 2017. Некоторые вещи могут показаться элементарными, но опыт проведения собеседований показывает, что это не совсем так. Кое-что будет спорным, не без этого.

Если интересно, добро пожаловать под кат.
Читать дальше →
Всего голосов 79: ↑79 и ↓0+79
Комментарии18

Сокращение расходов на AWS при использовании Kubernetes Ingress с классическим балансировщиком ELB

Время на прочтение3 мин
Количество просмотров5.9K


Несколько месяцев назад я написал статью о контроллере Kubernetes Nginx Ingress, которая занимает второе место по популярности в этом блоге. Основная ее тема — использование Kubernetes Ingress для локальных развертываний. Впрочем, большинство пользователей использует Kubernetes в облаке AWS и общедоступных облачных сервисах других поставщиков. Однако проблема заключается в том, что для каждого сервиса типа LoadBalancer AWS создает новый балансировщик ELB (Elastic Load Balancer). Это может оказаться слишком дорогим удовольствием. Если взять на вооружение Kubernetes Ingress, потребуется лишь один ELB.

Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии0

А вот вы говорите Ceph… а так ли он хорош?

Время на прочтение19 мин
Количество просмотров42K


Я люблю Ceph. Я работаю с ним уже 4 года (0.80.x — 12.2.6, 12.2.5). Порой я так увлечен им, что провожу вечера и ночи в его компании, а не со своей девушкой.
 Я сталкивался с различными проблемами в этом продукте, а с некоторыми продолжаю жить и по сей день. Порой я радовался легким решениям, а иногда мечтал о встрече с разработчиками, чтобы выразить свое негодование. Но Ceph по-прежнему используется в нашем проекте и не исключено, что будет использоваться в новых задачах, по крайней мере мной. В этом рассказе я поделюсь нашим опытом эксплуатации Ceph, в некотором роде выскажусь на тему того, что мне не нравится в этом решении и может быть помогу тем, кто только присматривается к нему. К написанию этой статьи меня подтолкнули события, которые начались примерно год назад, когда в наш проект завезли Dell EMC ScaleIO, ныне известный как Dell EMC VxFlex OS.


Это ни в коем случае не реклама Dell EMC или их продукта! Лично я не очень хорошо отношусь к большим корпорациям, и черным ящикам вроде VxFlex OS. Но как известно, всë в мире относительно и на примере VxFlex OS очень удобно показать каков Ceph с точки зрения эксплуатации, и я попробую это сделать.

Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии55

Хорошо забытое новое: спустя годы выходит преемник MikroTik RB2011

Время на прочтение5 мин
Количество просмотров62K

Один из двух вариантов в семействе RB4011 - RB4011iGS+5HacQ2HnD-IN


Не секрет, что во многих небольших фирмах, квартирах и домах пользователей до сих пор трудятся маршрутизаторы семейства RB2011. Во времена своего появления нынешние старички были достаточно уникальным (и спорным) предложением, но спустя годы стало понятно, что серия, что, называется, "пошла в народ", фактически став флагманом SOHO-сегмента Mikrotik.


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


Однако в этом месте что-то пошло не так.

Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии103

Небольшие трюки с Elasticsearch

Время на прочтение7 мин
Количество просмотров15K
Небольшая заметка, скорее для себя, о мелких трюках по восстановлению данных в Elasticsearch. Как починить красный индекс если нет бэкапа, что делать если удалил документы, а копии не осталось — к сожалению в официальной документации об этих возможностях умалчивают.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии5

Kubernetes: вебинар (4 июля в 19:30) и интенсив (3–5 августа)

Время на прочтение2 мин
Количество просмотров3.3K


Кубернетес — тема горячая: администраторов, знающих Кубернетес, не хватает настолько, что клиенты просят Southbridge сдать спеца по k8s в бессрочную аренду. Так что поехать на интенсив — неплохой шанс толкнуть вперед карьеру, получить прибавку к зарплате или устроиться админом в крупную компанию. Оценить уровень преподавания можно на бесплатном вебинаре «Сети Kubernetes изнутри». Но обо всем по порядку.

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии5

Обзор смартфона ASUS ZenFone Max Pro (M1) ZB602KL

Время на прочтение6 мин
Количество просмотров80K


ASUS ZenFone Max Pro (M1) занимает особое место среди остальных Зенфонов. Он не выделяется за счёт самого мощного в мире процессора или смелого дизайна. Для этого в семействе ZenFone есть другие модели, например, ASUS ROG Phone, представленный недавно на Computex 2018. Изюминка у ASUS ZenFone Max Pro (M1) совершенно иная. На смартфоне установлен чистый Android 8.1 Oreo, он оснащен ёмким аккумулятором на 5000 мАч и обладает качественным дисплеем.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии68

Зачем забивать гвозди микроскопом, если есть Alpine Linux?

Время на прочтение8 мин
Количество просмотров97K

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


Так я и познакомился с Alpine Linux.


Неожиданное окно


Этот дистрибутив может вам понравиться по следующим причинам:


  • Если вы любите минимализм и инструменты, ориентированные на выполнение поставленной задачи без лишних свистелок и украшений;
  • Если вы заметили, что имеющиеся «мэйнстримные» дистрибутивы немного (?) раздуты и избыточны;
  • Если вы захотели решить имеющуюся задачу простым способом.

Под «мэйнстримом» я подразумеваю тройку CentOS — Debian — Ubuntu (конечно же, ими мир не заканчивается), да простят меня все верующие в эти замечательные дистрибутивы. При их использовании, периодически, на границе восприятия, возникает колкая мысль – «а может быть можно проще?».

Читать дальше →
Всего голосов 84: ↑83 и ↓1+82
Комментарии111

Заряжаем АА, ААА и другое цилиндрическое и аккумуляторное

Время на прочтение10 мин
Количество просмотров310K
На ныне покойном Geektimes есть (или был) блог Gearbest и он был (или есть) уныл. Их маркетологи зачем-то раз за разом втюхивают одни и те же телефоны и планшеты, тогда как на сайте (впрочем, как и на Ali) есть куча других отличных товаров для гиков. Поэтому, можно я поделюсь своими маленькими китайскими открытиями?



У меня есть дети. Дети = выброшенные батарейки. Т.е. там есть еще промежуточные звенья типа больших роботов, мечей, орущих робокошек, которые катаются по дому и мерцают как мечта эпилептика и так далее. Но все приводит к одному — выброшенным батарейкам.

Благодаря Алексею Надежину мы уже знаем, что лучшими по соотношению цена/емкость являются либо батарейки Ikea и Ашан, либо GP Super. Тем, собственно и жили.
UPD: в комментариях указали, что Алексей провел новое исследование. С учетом обновления цен до текущих, получается, что лучше выглядят батарейки Pairdeer и Lexman из Леруа Мерлен. Ну и опять же Ашан.
Однако, вывалив в специальный контейнер очередную порцию дохлых батареек и испытав на себе полуночный плач ярославны о том, что любимая кукла не работает, пришел к простому выводу — пора переходить на аккумуляторы. Причем, если будут аккумуляторы, неплохо бы их как-то еще и заряжать. Полез гуглить простые зарядки и тут мне открылся “о дивный новый мир”.
Читать дальше →
Всего голосов 108: ↑107 и ↓1+106
Комментарии198

Кластер pacemaker/corosync без валидола

Время на прочтение13 мин
Количество просмотров73K
Представьте ситуацию. Субботний вечер. Вы — администратор PostgreSQL, после тяжелой трудовой недели уехали на дачу за 200 км от любимой работы и чувствуете себя прекрасно… Пока Ваш покой не нарушает смс от системы мониторинга Zabbix. Произошел сбой на сервере СУБД, база данных с текущего момента недоступна. На решение проблемы отводится короткое время. И Вам ничего не остается, как с тяжелым сердцем оседлать служебный гироскутер и мчаться на работу. Увы!


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

Как бы то ни было, стоит подумать о технологиях отказоустойчивы кластеров с СУБД PostgreSQL. Мы расскажем о построении отказоустойчивого кластера СУБД PostgreSQL с помощью программного обеспечения Pacemaker&Corosync.

Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии41

Outline: Делаем свой личный VPN от Google за 5$ в месяц (и за 1€ для продвинутых)

Время на прочтение3 мин
Количество просмотров201K
image

В последнее время использовать VPN стало популярно с чего бы это?, но все инструкции которые мне попадались — могут «осилить» только пользователи хотя бы чуть-чуть знакомые с тем что такое Linux. Компания Google всех порадовала, выпустив прекрасное приложение, которое позволяет вам установить VPN в два клика (правда в два!) на своем личном сервере без каких либо знаний.
(Если у вас нет сервера — не беда, появится)
Читать дальше →
Всего голосов 49: ↑46 и ↓3+43
Комментарии124

Java и Linux — особенности эксплуатации

Время на прочтение23 мин
Количество просмотров61K
Java — очень распространённая платформа, на ней пишут очень разные вещи, начиная от Big Data, заканчивая микросервисами, монолитами, enterprise и прочим. И, как правило, всё это развёртывают на Linux серверах. При этом, соответственно, те люди, которые пишут на Java, зачастую делают это совсем на других операционных системах. Там они:

  • пишут код;
  • отлаживают, тестируют;
  • после этого упаковывают в jar;
  • отправляют на Linux, и оно работает.

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



С другой стороны, есть те, кто занимается администрированием серверов, на их сервера устанавливают JVM, отправляют jar и war-файлы, а с точки зрения мира Linux все это:

  • чужеродное;
  • проприетарное;
  • собирается не из исходников;
  • поставляется какими-то jar-архивами;
  • «отъедает» всю память на сервере;
  • вообще, ведёт себя не по-человечески.

Цель доклада Алексея Рагозина на Highload++, расшифровка которого идет далее, была в том, чтобы рассказать особенности Java для «линуксоидов» и, соответственно, Linux — Java-разработчикам.
Всего голосов 55: ↑53 и ↓2+51
Комментарии18

Что я узнал на личном опыте за годы фриланса

Время на прочтение3 мин
Количество просмотров60K
Первоначально опубликовано в /r/freelance на Reddit, но выкладываю здесь для потомков.

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

Типичный штатный сотрудник обходится компании в 2-3 раза дороже его номинальной зарплаты


Используй это в качестве основы для расчёта своих тарифов. $90 в час может показаться дорогой альтернативой сотруднику, который получает зарплату $30 в час, но в реальности это эквивалент $90, и расходы прекращаются сразу по окончании проекта.

Если клиент просит 6+ часов в день, ты потратишь 8 часов


Ты не сделаешь ничего полезного (читай: оплачиваемого) в оставшиеся два часа. Они отняли у тебя целый день, но заплатили только за 75%. В таких ситуациях взимай дневную ставку.
Читать дальше →
Всего голосов 75: ↑72 и ↓3+69
Комментарии95

Kubernetes-HA. Разворачиваем отказоустойчивый кластер Kubernetes c 5 мастерами

Время на прочтение17 мин
Количество просмотров57K

В данный момент инсталяция по данному мануалу работать не будет. Из за больших изменений API Kubemaster, в данный момент я готовлю новый цикл статей где будут рабочие версии мануалов
Первая из статей habr.com/ru/post/462473


Здравствуйте!

В данной публикации я хотел бы рассказать о кластере Kubernetes с высокой доступностью (HA).

image

Оглавление:

  1. Вступление
  2. Список используемого софта
  3. Список и назначение хостов
  4. Принцип работы и развертывания
  5. Подготовка ОС к развертыванию. Установка docker, kubeadm, kubelet и kubectl
  6. Подготовка конфигурационного скрипта
  7. Создание etcd кластера
  8. Инициализация мастера с помощью kubeadm
  9. Настройка CIDR
  10. Инициализация остальных мастернод
  11. Настройка keepalived и виртуального IP
  12. Добавление рабочих нод в кластер
  13. Установка ingress-nginx
  14. Дополнительно

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии19

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность