Отказоустойчивость доступа к сети в Linux

linux net

Те, кто занимается сетевыми технологиями, наверняка знает множество различных способов обеспечения отказоустойчивости компьютерных сетей. При этом есть как общеиспользуемые стандартизированные решения на L2 или L3 уровнях, так и узкие специализированные наработки. Сервера Linux также обладают всем необходимым функционалом, чтобы обеспечить выживаемость сервера в случае выхода из строя сетевой карты или отдельного коммутатора. Для этого используется функционал бондинга (bonding), который позволяет объединять в один общий виртуальный линк несколько физических интерфейсов. Данная возможность присутствует в различных дистрибутивах операционной системы Linux и может отличаться небольшой спецификой в настройке. Разные дистрибутивы используют свои конкретные механизмы настройки сети. Однако, непосредственные технические возможности по обеспечению сетевой отказоустойчивости остаются идентичными.

С помощью бондинга мы можем объединять несколько Ethernet интерфейсов в один виртуальный линк. При этом с противоположной стороны могут находиться как несколько различных коммутаторов, так и одно сетевое устройство. Так в случае использования протокола LACP мы можем объединить и одновременно использовать неисколько интерфейсов одновременно. Это позволяет обеспечить не только отказоустойчивость, но и повысить скорость доступа к сети в случае такой необходимости. Но для этого мы должны подключать все интерфейсы в один коммутатор, который поддерживает протокол LACP. Если же мы подключаем сетевые интерфейсы к различным коммутаторам, то можем использовать режим бондинга active-backup, который использует только один активный линк в данное конкретное время, но позволяет переключаться на резервные в случае выхода из строя основного.

Читать далее «Отказоустойчивость доступа к сети в Linux»

Импорт kvm виртуалок в Proxmox


Система виртуализации на базе Proxmox все больше набирает популярность при создании IT инфраструктуры в последнее время. Данное решение объединяет в себе черты профессиональной системы виртуализации с возможностью создания кластеров и централизованного управления с одной стороны. А также все свойства Open Source продукта с другой стороны. При миграции на данную систему управления виртуализации Вам скорее всего придется столкнуться с задачами импортирования виртуальных машин как из среды VMware, так и работающих под управлением гипервизора kvm. Как это сделать легко и просто со вторым типом виртуальных машин, используемых в open source среде хочется рассказать поподробнее.

Читать далее «Импорт kvm виртуалок в Proxmox»

Отправка email с серверов

sending email from servers (pic)

На вопрос нужно или нет отправлять почту с работающих серверов — для меня ответ всегда был положительным. Здесь конечно же идет речь не об отправке различного рода спама в Интернете, а об использовании электронных писем с различными оповещениями из IT систем на серверах. С помощью электронной почты всегда можно было доставлять нужные сообщения администраторам и программистам, уведомляя их о тех или иных событиях в работе IT систем. Да, сейчас есть ряд альтернативных способов доставки сообщений о происшествиях в программном обеспечении и оборудовании. Это, например, SMS или мессенджер Telegram. Такие способы, как правило, используются в системах мониторинга, позволяя оперативно сообщать о критических инцидентах. Однако, с моей точки зрения, использование электронной почты актуально и полезно и сегодня. Функции сортировки электронных писем позволяют эффективно анализировать тренды и выявлять проблемы в работе IT систем.

Для того, чтобы наш сервер стал способным отправлять почтовые сообщения, мы должны установить и настроить на нем MTA агент. MTA — Mail Transfer Agent (Агент передачи электронной почты). Программное обеспечение, выполняющее функцию MTA, занимается пересылкой электронных писем по протоколу SMTP. На основе него строятся серьезные почтовые сервера, которые способны обслуживать тысячи и миллионы пользователей. Нам в общем случае такой функционал избыточен. Наиболее популярные MTA в операционной системе Linux — Postfix, Sendmail, Qmail, Exim. Я предпочитаю работать с Linux системами на серверах, поэтому затрагивать тему использования MTA на платформах Windows не буду. Мне хотелось бы показать как быстро установить и настроить пакет Exim4, для целей доставки почтовых уведомлений с конкретного сервера. Его компактность, надежность и наличие всего необходимого просто идеально подходят для этой цели.

Читать далее «Отправка email с серверов»

Netstat и аналоги


У каждого администратора, IT инженера или программиста наверняка есть несколько десятков базовых утилит или команд, которые постоянно применяются в работе. У меня также есть такой набор базовых инструментов, который является неотъемлемой частью моей профессии. Среди них можно назвать wget, curl, ping, vim, tree, git, ip ну и конечно же netstat. Последняя являлась незаменимой утилитой при работе на абсолютно разных платформах, начиная от всевозможных версий Linux, Unix, BSD и заканчивая MacOS, а так же Microsoft Windows. С помощью нее можно получать информацию о сетевых соединениях, интерфейсах, таблицах маршрутизации. Утилитка позволяет получать обширнейшую информацию, которая бывает полезна во время траублшутинга, дебагинга или настройки чего-то нового.

В последние несколько лет отчетливо прослеживается тенденция на замену утилиты netstat на более новые ее аналоги — ss и lsof. Так уже в Centos по умолчанию Вы не найдете netstat, Вам предлагается использовать уже именно ss, а также lsof. Можно конечно же устанавливать netstat из пакетов и не париться о новых его аналогах. Мне однако такой путь кажется не правильным. Время идет, технологии развиваются, и надо обязательно изучать новинки, даже если они на первый взгляд кажутся бесполезными. При написании этой статьи не ставил цели сделать какое-то наглядное пособие по использованию новых аналогов netstat. Хотел скорее показать, как безболезненно перейти на новые утилиты, расширив свой профессиональный кругозор и функциональные возможности.

Читать далее «Netstat и аналоги»

Сила инвентаря и переменных в Ansible


Хотелось бы поговорить в этой статье о такой важной составляющей в работе системы управления Ansible, как файлы инвентаря и соответствующие переменные. Большая часть логики в работе Ansible содержится в соответствующих ролях, которые несут основную нагрузку при выполнении плейбуков. Но для полноценного понимания, как работает Ansible, необходимы знания о правильной настройке инвентаря и переменных для групп и конкретных хостов. С помощью правильно настроенных переменных мы можем направлять выполнение ролей в том или ином направлении. Это позволяет сделать Ansible чрезвычайно гибким и мобильным, а создаваемые роли более универсальными. Хороший пример, где без этого просто не обойтись — установка и настройка различного рода кластерного программного обеспечения. Как правило, в кластере есть сервер, выполняющий Master роль, и прочие сервера, что требует небольшого различия в проводимых настройках. Также, зачастую, различные сервера требует различных конфигураций в настройках одного и того же софта.

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

Читать далее «Сила инвентаря и переменных в Ansible»

Базовая настройка сервера с помощью Ansible


Если раньше при установке любого сервера приходилось делать достаточно много рутинной работы по базовой настройке ручками. Теперь с помощью ролей Ansible или похожих инструментов эти задачи сводятся к минимуму с точки зрения затрат времени и усилий. Многие считают, что использование Ansible — это прерогатива DevOps инженеров. С моей точки зрения, на сегодняшний день это базовый инструмент, который должен быть в арсенале любого IT специалиста. Как установить нужные пакеты в операционной системе Linux, а также как сделать базовые настройки в ней с помощью Ansible покажу на примере, который я постоянно использую в реальной жизни. Сама роль из данного примера предельно простая. Этот код может служить в том числе и для учебных целей. С помощью нее можно начать создавать свои собственные конструкции в процессе обучения системе управления конфигурациями Ansible.

В своем блоге уже несколько раз поднимал тему Ansible. Это были статьи — Разворачиваем Django с Ansible, а также Тестируем Ansible роли с Molecule. В них мы рассмотрели практические аспекты использования Ansible, а также его вспомогательные инструменты. Автоматизация задач по администрированию и развертыванию настолько плотно входит в работу ITшников, что использование функционала Ansible становится рутинной процедурой. Давно уже сам для себя решил, что буду выкладывать в общий доступ на GitHub свои личные наработки. Начну с этой Ansible роли, которая доступна по ссылке — https://github.com/andreyuzb/ansiblerole-linux-common. Дальше по тексту мы разберем ее функционал, а также то, как работает сам Ansible при этом.

Читать далее «Базовая настройка сервера с помощью Ansible»

Организация удаленной работы

https://www.youtube.com/watch?v=x5etUa0gjVE

Новый 2020 год для многих людей на планете Земля запомнится прежде всего тем, что вспыхнула пандемия коронавируса COVID-19, а также теми ответными мерами, которые были приняты многими странами. В итоге, большое количество организаций были вынуждены перейти на удаленный режим работы. При этом конечно же есть серьезные государственные и коммерческие структуры, кто в принципе планировал потенциальное развитие форс мажорных событий для своей инфраструктуры. Как правило, это компании с хорошим финансированием департамента IT, которые способны проводить долговременные стратегии по развитию своей инфраструктуры в жизнь. Такие организации годами вкладывали в различные технологичные решения, от маршрутизаторов, до систем DLP и сложной аналитики. Для них больших проблем с переходом на удаленную работу возникнуть не должно. Однако, есть множество организаций малого и среднего бизнеса, для которых работа из дома не кажется такой банальной и простой вещью. Именно для тех, кто впервые столкнулся с проблемой организации работы сотрудников на дому, я подготовил это видео.

Читать далее «Организация удаленной работы»

IT инфраструктура для стартапа в Узбекистане (часть 3)


В завершающей части цикла статей о проблемах построения своей IT инфраструктуры в стартапе рассмотрим такие важные моменты, как обучение технического персонала, а также вопросы технической поддержки со стороны вендоров и поставщиков товаров и услуг. С моей точки зрения это одни из основных вопросов, на которые руководитель стартапа обязательно должен обратить внимание. Экспертиза и квалификация сотрудников проекта, а также тех, кто будет помогать в разрешении возникающих проблем — ключевой момент в эксплуатации сложных IT систем. То, что проблемы и вопросы по работе компьютерных систем будут постоянно возникать, можете быть на 100 процентов уверенны. Наверняка, в процессе использования придется что-то менять, донастраивать, реконфигурировать. Также надо учитывать возможные воздействия на вашу инфраструктуру из вне, как например, отключение электропитания или хакерские атаки. И во всех данных случаях понадобятся квалифицированные кадры, способные поддержать Ваш проект в боеспособном состоянии.

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

1. IT инфраструктура для стартапа в Узбекистане (часть 1).

2. IT инфраструктура для стартапа в Узбекистане (часть 2).

3. IT инфраструктура для стартапа в Узбекистане (часть 3) (данная статья).

4. Нужна ли нам облачная инфраструктура?

Читать далее «IT инфраструктура для стартапа в Узбекистане (часть 3)»

IT инфраструктура для стартапа в Узбекистане (часть 2)


Наступил Новый 2020 год, прошло время небольшого расслабления, которое как-то само по себе приходит на стыке лет. У меня раскачка заняла довольно таки много времени в этом году. Пришло время для концентрации и нового рывка длиною в год. В первой части статьи о том как построить IT инфраструктуру стартапу, была поднята тематика как подступиться к этой задаче людям, которые далеки от этой области. Потом была статья в блоге — Нужна ли нам облачная инфраструктура, которая рассказывала о плюсах и минусах облаков. Она была своеобразным продолжением первой статьи и затрагивала популярную тему облачных вычислений, и то, когда нужно стартапу обращаться к ним. Развивая тематику из вышеупомянутых статей, тут хотелось бы акцентировать внимание на вопросах формализации инфраструктуры, а также такого важного документа в повседневной работе ITшника, как Техническое Задание.

Необходимость документации и формализации процессов создания и работы IT инфраструктуры обусловлена сложностью и большим разнообразием компонентов. Успешность внедрения и дальнейшего функционирования во многом зависит от того, насколько все правильно расписано на бумаге. Однако, большинство организаций пренебрегает этими пунктами при своей работе. Как результат, уже при приемке сколько-то технологически сложных работ у подрядчиков начинаются постоянные трения и недовольства с ними. Заказчик думает, что исполнитель должен сделать на свое усмотрение так, чтобы все было идеально, однако в большинстве случаев исполнитель смотрит на то, что указано в Техническом Задании. И как следствие возникает конфликт ожиданий и полученного в результате. У меня до сих пор в голове периодически крутится аббревиатура из курса Cisco CCDAPPDIOO, которая обозначает основные вехи IT проекта, и первые 3 буквы расшифровываются как Prepare (Подготовка), Plan (Планирование) и Design (Дизайн). Именно с этого должен начинаться любой IT проект.

Читать далее «IT инфраструктура для стартапа в Узбекистане (часть 2)»

Нужна ли нам облачная инфраструктура?


Данная статья является логическим продолжением — «IT инфраструктура для стартапа в Узбекистане». В той статье мы остановились на основных проблемах, которые возникают у начинающих стартапов при создании собственной IT инфраструктуры своей компании. Здесь хотелось бы поделиться своим опытом и мыслями о том, когда стоит использовать облачную инфраструктуру, а когда нет. О плюсах и минусах облаков. А также о нюансах и специфике, про которые стоит задуматься перед тем, как начать использовать в реальной практике. Облачные технологии, пожалуй поднимают планку необходимой экспертизы и интеллектуальных навыков инженеров на еще более высокий уровень. По сути в таких проектах, основными затратами организации становятся покупка ресурсов публичного облака и оплата труда инженеров, поддерживающих и работающих с этой инфраструктурой.

Давайте представим, что Вы находитесь у истоков какого-либо проекта, который требует серьезных вычислительных ресурсов. У Вас на сегодняшний момент будет два различных пути организации IT инфраструктуры. Первый и наиболее апробированный большей частью организацией — строить свой ЦОД или определенную серверную комнату со всем необходимым пассивным или активным оборудованием. Данное оборудование и будет выступать ядром IT инфраструктуры. Второй путь, который стал очень популярным за последние несколько лет — использование облачной инфраструктуры публичных провайдеров, таких как Amazon AWS, Google GCP, Microsoft Azure и т.д. По всему миру за основными лидерами в облачных технологиях подтягиваются и многие другие компании. Однако, тон задает именно эта троица и в первую очередь AWS.

Читать далее «Нужна ли нам облачная инфраструктура?»