Как стать автором
Обновить
14
0
Евгений Мартынов @unlo

IT-руководитель, системный администратор

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

Экскурсия «Рег.ру»: как мы побывали в новом ЦОДе до его открытия

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2K

Привет, Хабр! Меня зовут Сергей Рыжков и я руководитель направления профессиональных сервисов в «Рег.ру». Рассказываю, как мы узнали, что строится новый дата-центр и решили посетить его еще до официального открытия. И не зря, было много интересного. 

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии7

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

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

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

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

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

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

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

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

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

Энергия, тепло и вода

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

Предисловие


2019 год. Почти в любом магазине электроники можно купить один из сотен возможных наборов умного дома. Взять и настроить в «2 клика», подключиться к облакам, получать push event-ы в приложение/смс-ки, да и вообще получать всю необходимую информацию в любой точке мира.

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

Задачи


1. получать информацию о качестве электросети (скачки напряжения, полное отключение и т.п.).

2. иметь полный мониторинг UPS. А на самом деле иметь этот самый UPS исходя из последствий п2.

3. получать информацию о температуре:

  1. на улице
  2. дома
  3. на чердаке (когда замёрзнет закинутый туда хлам и помидоры)

4. Следить за состоянием потребления воды, алертить если потребление выросло (вдруг протечка, всё датчиками влаги не обвешаешь).

5. Понимать когда дома кто-то есть, чтобы автоматизировать перекрытие/открытие воды.

6. Снятие показаний газового счетчика и alert когда кончается оплаченный запас.
+ прочие всевозможные датчики (влажности, открытия, давления воды, давления в контуре отопления и т.п.).

Глобальная цель — иметь общий интерфейс, где можно будет на всё это посмотреть. Получать нотайсы, если что-то пошло не так. И чтобы за это ничего не было и отдать за это не очень много денег.

Состав комплекса на текущий момент


  • UPS Энергия ПН-750 + батарея на 100 ач
  • USB->RS232 converter на основе PL2303
  • Router Tp-link tl-wr1043nd +
  • 1wire мастер сети на основе купленного USB термометра DS18B20+ PL-2303TA
  • 1wire 3 датчика DS18B20
  • 1wire модуль «счетчик воды» от radioseti на основе DS2423

Виртуалка с Zabbix-сервером за пределами домашней сети.

image

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность