Pull to refresh
0
0
Савинов Артем @saamich

системный администратор, deployment инженер

Send message

Простой релиз-менеджмент средствами Git

Reading time2 min
Views32K
image
Git – это не только удобная распределенная VCS, но и инструмент подготовки релизов.
В статье будет рассмотрен flow на примере Java-проектов на Maven. Статья может быть полезна для разработчиков малых и средних команд, подразумеваются базовые знания git. Материал частично перекликается с git-flow, но здесь описан более простой вариант.
В классическом случае в репозитории существует одна ветка master, из нее же делаются сборки. Если проект собирается при этом на build-сервере, это может привести к беспорядку – несколько разных билдов под одной версией, не ясен набор коммитов, которые попадают в релиз (например, если сборка делается автоматически по триггеру на VCS).

Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments8

Групповая разработка сайтов через git — автоматическое создание/удаление сайтов из git-бранчей

Reading time6 min
Views22K
В этой статье я расскажу, как создать групповую среду разработки сайтов через git с помощью git-хуков. Статья рассчитана на опытных системных администраторов, я лишь опишу алгоритм.
Многое на эту тему уже обсуждалось, а я добавлю, как автоматически создавать или удалять сайты при создании/удалении бранчей в git-репозитории. Такая возможность может пригодиться, к примеру, если над разными частями сайта работают разные программисты и нужны разные площадки (бранчи). После основной разработки и тестирования выполняется merge в основную ветку, а бранчи и тестовые сайты удаляются или архивируются.

Читать дальше →
Total votes 45: ↑41 and ↓4+37
Comments14

Простой личный анонимайзер

Reading time2 min
Views90K
В свете последних событий и вероятного будущего, нам всем может понадобиться удобная утилита, которая позволяет смотреть на Web глазами цивилизованного европейца, а лучше голландца. Это может быть нужно для проверки доступности сайта, обхода слишком навязанного геотрекинга, неуместного черного списка или для осуществления любой другой легитимной законной деятельности в интернетах, которую нам не позволяют в данной сети неправильно сконфигурированный шлюз или прокси-сервер.

Конечно, можно воспользоваться публичным анонимайзером, ТОРом или VPN'ом, но это не всегда удобно и не всегда возможно: например, публичный терминал в интернет-кафе или любой компьютер, на котором у нас нет прав, не позволит нам воспользоваться TOR'ом или VPN, а «анонимные прокси» вообще вещь в себе: никогда не знаешь как монетизирован именно этот хост. Личный анонимайзер же будет работать на любом устройстве и с большой вероятностью не будет заблокирован на бордере. Предлагаемый метод не отменяет TOR или VPN (или SSH), а дополняет их возможностью доступа с чужих хостов.

Нулевое необязательное требование: домен. Это около 10 долларов в год, в принципе не обязательно, но удобно и желательно.

Во-первых, нам понадобится личный экзит-поинт в нужной стране. К нашим услугам www.leaseweb.com, где всего за 9 евро в месяц можно пользоваться VPS'кой. Очень полезный в хозяйстве инструмент для многих нужд! На этом хосте должен быть настроен Apache и PHP, я опущу этот вопрос, так как он достаточно подробно освещен другими.

Во-вторых, нам понадобится скрипт, который будет показывать собственную адресную строку, искомый сайт во фрейме ниже и будет обладать другими полезными опциями вроде скрэмблера URL'ов, выкидывания всего embedded-хлама и кукисов, хранение кукисов на стороне сервера и т.п. Решений несколько, простое и работающее — Glype Proxy, который можно взять на glype.com.

Установка скрипта проста.
Читать дальше →
Total votes 91: ↑73 and ↓18+55
Comments46

PostgreSQL — Asynchronous Replication + Pooling + Failover

Reading time4 min
Views15K
Вариант простой для понимания асинхронной master-slave репликации на базе Postgresql 9.1


Впервые встала задача единоличной реализации полноценной репликации и впервые был написан мини-мануал, который и хочу здесь представить.

Для системы репликации Мастер-Слейв использовалась комбинация
  • PostgreSQL 9.1 (БД) +
  • Bucardo 4.5 (репликатор) +
  • PgPool-II (пулер и файловер)

А дальше по порядку..
Total votes 18: ↑17 and ↓1+16
Comments25

Спецификация ZigBee. Безопасность

Reading time6 min
Views20K

Концепция безопасности ZigBee основана на взаимном доверии…

Как отмечалось ранее в моих посвященных сетям ZigBee топиках и статье, отличительной чертой сетей ZigBee является гарантированная, устойчивая к помехам, многолучевому затуханию, различным сбоям и отказам передача данных.
К этому следует добавить: не только гарантированная, но и безопасная передача, что важно для многих критических приложений.
Нетрудно представить, к чему может привести несанкционированное вмешательство в работу системы управления техпроцессом или системы охраны.
Вместе с тем, в менее критических приложениях должна существовать возможность снижения цены устройств за счет некоторого снижения требований к уровню безопасности.
Именно такой подход реализуется в модели безопасности ZigBee, которой посвящен этот топик.
Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments0

История борьбы за IOPS в самосборной SAN

Reading time5 min
Views18K
Всем привет!

В одном из моих проектов используется нечто, немного похожее на частное облако. Это несколько серверов для хранения данных и несколько — бездисковых, отвечающих за виртуализацию. На днях я похоже что наконец поставил точку в вопросе выжимания максимальной производительности дисковой подсистемы данного решения. Это было довольно интересно и даже в некоторые моменты — довольно неожиданно. Поэтому и хочу поделиться своей историей с хабрасообществом, которая началась в далёком 2008м году, ещё до появления «Первого облачного провайдера России» и акции по рассылке бесплатных счётчиков воды.

Архитектура

Экспорт виртуальных жёстких дисков осуществляется через отдельную гигабитную сеть по протоколу AoE. Если коротко — это детище компании Coraid, которая предложила реализовать передачу ATA-команд по сети, напрямую. Спецификация протокола занимает всего десяток страниц! Главная особенность — это отсутствие TCP/IP. При передаче данных получается минимальный оверхед, но как плата за простоту — невозможность роутинга.

Почему именно такой выбор? Если опустить перепечатывание официальных источников — в т.ч. и банальный lowcost.

Соответственно, в хранилищах мы использовали обычные SATA-диски с 7200 rpm. Их недостаток известен всем — низкий IOPS.

Читать дальше →
Total votes 63: ↑58 and ↓5+53
Comments16

Настройка ipv6 в Proxmox и заметки о lvm

Reading time3 min
Views15K
image

В многих местах вижу вопросы о том, как настроить ipv6 для контейнеров в proxmox, а так-же, почему не работает онлайн бекап.

Сам уже довольно давно пользуюсь proxmox для виртуализации openvz (разделение сервисов, тесты, дев. окружения) ну и все это крутится на hetzner.

О том, как установить и настроить proxmox — писать не буду, на Хабре в частности, да и в интернете в целом — этой информации полно. Не смотря на то, что лучший источник такой информации — официальный вики.

Но что в вики нет, так это того, как же правильно ставить proxmox на дебиан.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments6

Офисная телефония на Asterisk+FreePBX

Reading time6 min
Views78K
Предыстроия

По неким политическим причинам передо мной встала задача по переводу телефонии нашего офиса с гибридной аналоговой АТС Panasonic KX-TDA200 на SIP. Упрощало задачу наличие в офисе СКС, а усложняло использование операторами панелей с кнопочками для быстрого переключения звонков.
Читать дальше →
Total votes 21: ↑15 and ↓6+9
Comments26

Машина времени в git

Reading time5 min
Views194K
В последнее время мои коллеги начинают знакомство с git'ом. И один из интересующих их вопросов — как откатиться до определённой ревизии. В интернете можно найти набор команд, но хочется, чтобы было понимание каждой из них. Баловство с комадами git'а без понимания может привести к потере истории разработки.

В этой статье я хочу рассказать о командах git checkout и git reset с ключами --soft и --hard.
Читать дальше →
Total votes 127: ↑122 and ↓5+117
Comments39

Ping-flooding атака: что осталось «за кадром» или о пользе дотошности

Reading time3 min
Views14K
Собственно, открываю топик по мотивам habrahabr.ru/post/157207
Тема интересная, но некоторые простые, но важные моменты остались за кадром. А жаль. Кому интересно, какие — прошу.

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

Так как же удалить миллионы файлов из одной папки?

Reading time5 min
Views148K

Феерическая расстановка точек над i в вопросе удаления файлов из переполненной директории.

Прочитал статью Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки и очень удивился. Неужели в стандартном инструментарии Linux нет простых средств для работы с переполненными директориями и необходимо прибегать к столь низкоуровневым способам, как вызов getdents() напрямую.

Для тех, кто не в курсе проблемы, краткое описание: если вы случайно создали в одной директории огромное количество файлов без иерархии — т.е. от 5 млн файлов, лежащих в одной единственной плоской директории, то быстро удалить их не получится. Кроме того, не все утилиты в linux могут это сделать в принципе — либо будут сильно нагружать процессор/HDD, либо займут очень много памяти.

Так что я выделил время, организовал тестовый полигон и попробовал различные средства, как предложенные в комментариях, так и найденные в различных статьях и свои собственные.
Читать дальше →
Total votes 155: ↑145 and ↓10+135
Comments103

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

Reading time4 min
Views158K

Предисловие


Скорей всего, матерым системным администраторам статья будет не очень интересна. В первую очередь она ориентирована на новичков, а также на людей, которые столкнулись с подобной проблемой — необходимостью удалить огромное количество файлов из одной папки в ОС Linux (Debian в моем случае), а также с закончившимся местом на диске, когда df -h выдает что почти 30% свободно.
Читать дальше →
Total votes 111: ↑107 and ↓4+103
Comments144

Укрощаем трёхглавого дракона или как работает аутентификация в Bacula

Reading time2 min
Views18K
Приветствую, Хабравчане.

Bacula — кроссплатформенное клиент-серверное программное обеспечение, позволяющее управлять резервным копированием, восстановлением, и проверкой данных по сети для компьютеров и операционных систем различных типов. (Wikipedia)

Вообще с бакулой я связался совершенно случайно. Я всегда предпочитал самописные скрипты для бэкапов и мониторинг их выполнения nagios-ом, т.к. все специализированные средства (Bacula, Amanda, и т.п.) казались мне архитектурно слишком сложными, которые сами, в силу своей сложности, требуют того, чтобы их бэкапили. Но однажды, политикой сверху, нас посадили на ARCserve. Поигравшись немного с этим монстром я вернулся к Bacula и понял, что Bacula — это верх изящества и простоты.
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments18

Грабли, или 5 типичных ошибок настройки Asterisk

Reading time3 min
Views197K


Статья ориентирована на начинающих пользователей Asterisk, которые, тем не менее,
имеют знания о работе компьютерных сетей на уровне CCNA и которые изучали основы IP-телефонии без специализированных курсов.

Читать дальше →
Total votes 40: ↑30 and ↓10+20
Comments26

Особенности «национальной» маршрутизации

Reading time3 min
Views16K
Каждый, кому приходится заниматься хоть немного IP-сетями представляет основы IP-маршрутизации.
Можно не знать протоколов динамической маршрутизации, или знать, но не до тонкостей. Можно не быть гуру OSPF, BGP и иже с ними, но тот алгоритм, по которому уже из сформированной route-таблицы (сформированной тем или иным способом, вручную или благодаря динамике) выбирается next-hop представляют многие.

Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments12

Комбинированная балансировка нагрузки интернет-каналов

Reading time3 min
Views42K

Предистория



Рано или поздно системный администратор сталкивается с необходимостью распределить трафик по нескольким каналам, при этом естественно желание чтобы каждый канал использовался по максимуму. Столкнувшись с подобной необходимостью, и решив не изобретать велосипед, обратился к помощи поисковиков. Так как сервер у меня на Ubuntu, то обратил свое внимание на статью http://help.ubuntu.ru/wiki/ip_balancing. Реализовал «Способ 1», но при тесте были замечены следующие критичные проблемы: при использовании ссылок на некоторых сайтах они не открывались (например при попытке включить музыку на ресурсе «ВКонтакте»). Причина очевидна — запрос шел через другой канал. Обдумав ситуацию, решил скомбинировать подход к балансировке. Логика проста — больше всего съедает трафика торренты и им подобные программы, поэтому разделяем трафик. В итоге трафик с портами до 11000 распределяем приблизительно равномерно по количеству абонентов — подсетями, трафиком с портами 11000-60000 выравниваем загрузку каналов.
Читать дальше →
Total votes 62: ↑56 and ↓6+50
Comments24

Установка и первоначальная настройка Check Point R75

Reading time5 min
Views48K
Check Point Software Technologies является одним из мировых лидеров в области обеспечения интернет-безопасности. Сетевые экраны Check Point используются во многих банковских учреждениях. К сожалению, в Сети практически отсутствует информация о конфигурировании этих устройств. Попробуем восполнить этот пробел.
Читать дальше →
Total votes 16: ↑10 and ↓6+4
Comments22

Puppet под нагрузкой

Reading time6 min
Views33K
Puppet — довольно удобный инструмент для управления конфигурациями. По сути, это система, которая позволяет автоматизировать настройку и управление большим парком машин и сервисов.

Базовой информации о самой системе много, в том числе и на Хабре: здесь, здесь и здесь. Мы же постарались собрать в одной статье несколько «рецептов» использования Puppet под действительно большими нагрузками — в «боевых условиях» Badoo.

О чём пойдет речь:

  • Puppet: ликбез;
  • кластеризация, масштабирование;
  • асинхронный Storeconfigs;
  • сбор отчётов;
  • анализ полученных данных.

Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments48

MPLS VPN с TE в корпоративных сетях

Reading time4 min
Views28K
Всем доброго времени суток. Сначала хотел написать «академический» вводный абзац про то, для чего нужен MPLS со всеми его современными приложениями. Но потом подумал, что на эту тему есть много разной литературы и «плодить здесь еще одну сущность нет необходимости» ( William Ockham). Поэтому ближе к делу.

Еще году в 2007 старший Компелла (который Кириетти, автор draft-kоmpella, rfc 6624 и др.) говорил нам на очередной конференции: «Парни, скоро MPLS будет в ваших домашних рутерах». И тогда сквозной QoS, TE… С тех пор прошло пять лет, до домашних маршрутизаторов MPLS еще не добрался, но из провайдерской технологии уверенно шагнул в корпоративный сектор. Я не говорю здесь про большие компании, где MPLS появился почти вместе с провайдерским сетями. Имею ввиду средний (а иногда и мелкий) корпоративный сектор, где MPLS сети активно развиваются, что особенно заметно по зарубежным компаниям.

Может возникнуть вопрос – а зачем это? Чем не годятся обычные IGP, а порой и просто «растянутый по физике» L2? Если говорить в общем, то, на мой взгляд, это логическая простота, если хотите, красота и эффективность решений на базе MPLS. С появлением поддержки MPLS на entry-level устройствах от разных производителей, появилась возможность делать элегантные и не дорогие решения, обладающие, вместе с тем, широким функционалом и потенциалом развития. MPLS перестал быть технологией «больших» и «избранных», из чего-то малопонятного и малодоступного, он постепенно превращается в commodity.

Что делают чаще всего в корпоративном секторе с MPLS? В основном то же, что и в провайдерах, с поправкой на масштабы – L2 & L3 VPNы, VPLS, плюс их защита и обеспечение QoS на базе TE. Эта статья описывает простой пример, как на базе устройств HP 5800 серии построить MPLS VPNы, VPLS и защитить их с помощью механизмов TE. Вот сеть:


Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments25

Краткие заметки по Cisco CCNA (часть ICND1)

Reading time8 min
Views103K
Приветствую!

В этом посте я структурировал заметки, созданные вместе со слушателями на курсах в процессе повторения пройденного материала. Изначально все это делалось в блокноте. В посте нет детальных описаний и т.д. Добавил немного графиков и оформил по порядку. В общем, рассматривайте информацию, как краткие шпаргалки, которые можно почитать вечером перед сдачей экзамена, чтобы быстро все освежить в памяти. Если будет интересно, то можно выложить ICND2, да и много чего еще есть в таком же духе.
Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments43

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity