Построение ИТ инфраструктуры небольшого офиса

В данной публикации я сделаю большую подборку статей с моего сайта, касающуюся настройки своей инфраструктуры в небольшом офисе. Это не будет набором лучших практик, скорее просто навигационная статья, объединяющая всё, что у меня есть по этой теме, с моими комментариями и рекомендациями. Я постараюсь передать свой опыт по построению небольших, готовых к эксплуатации, инфраструктур.

Углубленный онлайн-курс по MikroTik

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

Введение

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

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

И еще раз важное замечание. Не надо принимать мои статьи и рекомендации за истину в последней инстанции. Я просто делюсь своим опытом, таким, какой он есть. К тому же я обычный человек и могу заблуждаться, делать что-то неправильно и советовать ерунду. Если вы видите это, то обязательно пишите об этом в комментариях. Не претендую на лавры крупного специалиста и всезнайки. У меня просто большой практический опыт и им имеет смысл делиться, даже если он не совсем правильный во всем.

Шлюз для небольшого офиса

На базе стандартной ОС

Начнем с основного - доступа в интернет. Для этого нам нужен шлюз. Его выбор будет сильно зависеть от конкретных требований к функционалу и быстродействию. Лично я предпочитаю софтовые шлюзы на базе популярных операционных систем:

Сам я начинал с Freebsd, но сейчас, очевидно, это не самый лучший выбор, так как Freebsd растеряла всю свою популярность и мало где используется. А выбор между Debian и Сentos и её клонами — это выбор между вашими предпочтениями. Принципиальной разницы в эксплуатации не будет. Единственный совет — стройте всю инфраструктуру, по возможности, на базе одной операционной системы. Сейчас я выбираю для этого Debian.

Поясню, почему лично мне такой вариант нравится больше всего. Во-первых, унификация. Как я уже сказал, удобно всё делать на базе одной системы. Во-вторых, гибкость настроек. Вы можете реализовать практически всё, что пожелаете. К примеру, настроить openvpn сервер. При этом, вы можете насоздавать любое количество тоннелей с различными параметрами. Например, кого-то посадить на стандартный udp порт, кого-то на tcp. На каких-то тоннелях включить сжатие, где-то убрать и т.д. Это очень удобно. Сюда же можно будет добавить l2tp или что-то еще.

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

На базе готовой программной сборки

Отдельно стоит рассмотреть программный шлюз на базе преднастроенной сборки. Под капотом там скорее всего будет тот же Linux или Freebsd, но все управление осуществляется через web интерфейс. Пример такого шлюза я разбирал в статье - шлюз на базе clearos. Мне довелось плотно с ним поработать в одной организации, поэтому и появилась статья. Я не могу сказать, что однозначно его рекомендую. Плюс там только в том, что он на базе Centos. В данном сегменте, на мой взгляд, лидер - pfsense. Сам я никогда не разворачивал подобные сборки, если обслуживал инфраструктуру сам, они мне доставались по наследству.

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

На базе готового аппаратного решения

Здесь речь идет о популярных роутерах на базе Zyxel, D-link, Mikrotik и т.д. На мой взгляд однозначным лидером в этом сегменте по соотношению цена/качество/функционал был Микротик. Но сейчас всё не так однозначно. Микротики по прежнему можно приобрести, но цены уже кусаются. Есть смысл рассмотреть другие бренды. Не хочется подробно останавливаться на этом моменте, потому что он дискуссионный.

Если у вас типовые требования к функционалу шлюза и не смущают цены, то я рекомендую ставить Mikrotik, а не программный роутер. Микротик сэкономит вам кучу времени, так как в готовом виде предлагает функционал, удовлетворяющий процентов на 90-95 потребности типового офиса. По нему много материалов в сети, есть вендорские курсы и сертификация.

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

Выбор сервера для офиса

В этом разделе я рассмотрю вопрос покупки серверов для офиса. Выбор тут обычно состоит из вариантов приобретения:

  1. Серверного брендового железа.
  2. Серверного железа noname.
  3. Десктопного железа.

Мне знакома одна компания, которая много лет все свои сервисы размещала на десктопном железе. Люди искренне не понимали, зачем платить больше, если и так всё работает. При этом у них реально ничего не ломалось. Не сразу, но мне все же удалось убедить перейти на брендовые сервера (HPE).

Переплачивать или нет за бренд - решать руководству. Ваша задача доходчиво разъяснить, в чем разница. У меня есть отдельная статья на этот счет - зачем нужен брендовый сервер. Лично я всегда настаиваю на покупке хорошего сервера, пусть и б.у. если нет возможности купить новый. Сервер обязательно должен быть с двумя блоками питания, с рейд контроллером для возможности горячей замены дисков, с bmc. Все остальное по потребностям в производительности.

Добавлю еще один важный момент. Если будете использовать объемные HDD диски (2+Tb), не собирайте raid5. В случае замены диска, массив очень долго перестраивается и есть большая вероятность сбоя второго диска. В этом случае вы теряете все данные. Я в основном использую raid1 или raid10, в том числе и для ssd. При этом часто вижу сопротивление отдельных лиц от рейда на ssd. Якобы это может снижать производительность. Я не вижу смысла спорить по этому поводу, потому что raid собирается для отказоустойчивости. Как ещё её можно относительно просто обеспечить? Даже не обсуждаю это. Для бэкапов, если на сервере 5 и более дисков, делаю raid6.

Выбор гипервизора

Дальше идет очень спорная тема - какой выбрать гипервизор. Я всегда, в обязательном порядке, всё настраиваю в виртуальных машинах. На железо ставится только гипервизор и больше ничего. Это позволяет полностью отвязаться от железа. Гипервизоров, к слову, обязательно должно быть два. Не важно, какое там будет железо, главное, у вас всегда должна быть возможность оперативно развернуть все сервисы на подменном железе, в случае выхода из строя основного.

Если нет возможности приобрести идентичное оборудование в резерв, подберите что-то, что позволит запустить на время ремонта основного сервера только критичные виртуалки. Проработайте этот момент, всё настройте, а лучше автоматизируйте разворачивание бэкапов виртуальных машин на запасное железо.

Теперь, собственно, о гипервизорах. Я рассматриваю только бесплатные варианты, так как чаще всего потребности малого и среднего бизнеса могут быть удовлетворены бесплатными гипервизорами. Выбор состоит из следующих вариантов:

  1. VMWare Esxi. Нормальный вариант от лидера отрасли. Одно время там были неприятные ограничения в бесплатной версии, но сейчас вроде бы нет этих проблем. Существенным минусом vmware я считаю невозможность установить её на софтовый рейд и отсутствие хороших инструментов для автоматических бэкапов. Если у вас нет железного рейд контроллера, то esxi вам не подойдет.
  2. Hyper-V. Если не ошибаюсь, он второй по популярности и доле рынка гипервизоров. Вариант нормальный, встает на фейк рейды (не рекомендую на них ставить) и даже позволяет их мониторить. Я использую Hyper-V там, где предполагается эксплуатация виртуальных машин на базе Windows. Статья по настройке 2019-й версии - Установка и настройка Windows Hyper-V Server 2019. Существенный минус Hyper-V - не умеет пробрасывать usb в виртуальные машины. Если у вас usb токен, например, от лицензии 1С, это может стать проблемой. Решение может быть софтовое — usbipd-win. Ну а плюс это то, что под капотом привычный Windows Server.
  3. KVM в составе ProxMox. Если посмотреть статистику по использованию гипервизора kvm, то окажется, что она ничтожно мала. Почему так, я не очень понимаю, ведь kvm использует огромное число хостеров для построения своей инфраструктуры. Она же в основе продукта Red Hat - RHEV. В общем случае я предпочитаю использовать proxmox. Он без проблем устанавливается на софтовый рейд mdadm. Его легко и быстро установить и настроить (по сравнению с hyper-v). У него удобный интерфейс управления через браузер. Из коробки присутствует инструмент для бэкапов, правда поддерживает только полные бэкапы виртуальных машин. Но есть отдельный продукт — Proxmox Backup Server, в котором есть уже и инкрементное хранение бэкапов. В других гипервизорах этот вопрос придется решать отдельно. Proxmox умеет пробрасывать usb в виртуальные машины. По моему мнению, на сегодняшний день по совокупности факторов этому продукту нет конкурентов в малом и среднем бизнесе.
  4. XenServer. Раньше я активно использовал этот гипервизор. Нравилось то, что так же вставал на mdadm, под капотом centos, плюс удобная панель управления в виде приложения на Windows. Минус бесплатной версии xenserver, который доставал - за многими настройками приходилось лазить в консоль и писать километровые команды. Например, чтобы добавить виртуальную машину в автозагрузку. XenServer тоже позволяет пробрасывать usb виртуалкам. На тот момент, когда я им пользовался, была бесплатная утилита по бэкапу, поддерживающая дедупликацию и инкрементные live бэкапы. Потом ее сделали полностью платной. И одновременно с этим, 7-я версия XenServer перестала устанавливаться на mdadm. В итоге все его плюсы превратились в тыкву и я перестал его использовать. Сейчас есть более функциональный бесплатный аналог на основе гипервизора Xen — XCP-NG, но мне кажется, он уже не особо нужен на фоне Proxmox.

Установка и настройка Windows Hyper-V Server 2019Вкратце всё расписал, что знал, по гипервизорам. Какой из них использовать — решать вам. Я остановился на proxmox и hyper-v. Как уже сказал ранее, важно ничего не ставить на сам гипервизор, чтобы не привязываться к железу и без проблем переезжать на другой гипервизор.

Почтовый сервер

По почтовому серверу у меня есть отдельная подробная статья с огромным количеством комментариев - выбор почтового сервера. Если решите использовать свой, то выбор, в основном будет стоять между самосбором на основе необходимых компонентов (postfix+dovecot), либо какого-то готового варианта, типа Zimbra (уже не сильно актуально из-за прекращения поддержки open source версии) или Iredmail. Платный вариант с Exchange я не рассматриваю. Если инфраструктура на Windows и есть деньги на Exchange, то имеет смысл использовать его.

В первом случае вы настроите только то, что вам реально нужно. Это снижает требование к железу, повышает надежность, упрощает дебаг, так как система более простая получается. Но и настроить всё это не просто. Почтовый сервер требует некоторого опыта в Linux и совсем новичкам дается не просто. Но зато вы получаете гибкость (перенос почтового сервера, защита почтового сервера) и возможность настроить некоторые нестандартные вещи (автозамена темы письма, запрет писем с поддельным полем from, очистка почтовой базы).

Готовая сборка в этом плане проще, так как быстрее ставится и имеет готовый интерфейс для управления. Но в замен вы теряете в гибкости. Плюс, вам будет трудно решать проблемы, если до этого с почтовыми серверами не работали. К примеру, мне сейчас всё равно, что использовать, хоть Zimbra, хоть Iredmail. Я и логи знаю где смотреть, и в базу могу залезть что-то глянуть, и бэкапы скриптами наколхозить если что. Иначе за них придется платить отдельные деньги.

В общем, по почтовому серверу резюме такое — если есть желание разбираться в этой теме, настраивайте сервер сами. Если просто нужна нормальная почта, а почтовыми серверами заниматься нет большого желания, ставьте какую-то сборку. Вот список наиболее популярных на сегодняшний день: Mail-in-a-Box, Mailcow, hMailServer, Tegu, Carbonio CE, Poste.io, Modoboa.

Файловый сервер для офиса

С файловыми серверами все просто. Если инфраструктура на Windows с AD и есть возможность поднять файловый сервер на Windows, поступите именно так. Это простой, удобный и надежный вариант. Из разряда настроил и забыл. Альтернатива - Samba, с AD или без.

В целом, интеграция Samba + AD работает. Но есть нюансы. Я за всю свою карьеру сталкивался с различными проблемами работы самбы. То права доступа к файлам слетают, то авторизация не работает, то еще какие-то проблемы. Все решаемо, но доставляет лишние хлопоты. У самбы ужасные логи, трудно дебажить. Если проблемы с авторизацией и вводом в домен, приходится практически вслепую исправлять ошибки, так как в логи неинформативны. При бэкапах и переносе сервера будет отдельно стоять вопрос сохранения прав доступа.

Если у вас нет AD, то никаких проблем не будет. Настраиваете Самбу, логирование доступа, корзину. Корзина для удаленных файлов особенно нравится. Если не ошибаюсь, для винды ее до сих пор не завезли.

Есть ещё вариант — установить готовую сборку под хранение файлов, типа Nextcloud. Это намного больше, чем просто файловый сервер, так что посмотрите предлагаемый функционал. Если он вам особо не нужен, то лучше настроить обычную самбу.

Для простого файлового сервера с доступом через браузер можно обратить внимание на File Browser. Простой в настройке и удобный в использовании файловый сервер. Более функциональный аналог — SFTPGo.

Выбор сервера телефонии

С выбором решения по VOIP для офиса вопросов много. Я не знаю, что тут однозначно посоветовать, так как мой опыт очень узок. Выбирать придется из следующего:

  1. Ванильный Asterisk. Я всегда использовал его. Как обычно, основное преимущество - гибкость настроек, выбор подходящей операционной системы. Минус - сложно настраивать. Если не знакомы с астериском, просто так взять и въехать в тот же dialplan сходу не получится. У меня есть отличная статья по этой теме для новичков - настройка asterisk. Освоите голый астериск, все остальное будет значительно проще.
  2. Freepbx. Это готовая панель управления на базе asterisk. Все управление происходит через веб интерфейс. В консоль сервера лазить не надо. Плюс тут очевиден - проще разобраться и быстрее настроить. Минус тоже закономерен - вы ограничены в функционале тем, что заложили в него разработчики панели. В целом, это нормальное решение, много где его видел, каких-то явных проблем не знаю. Более простые аналоги — MikoPBX, Issabel PBX.
  3. Платное софтовое решение. Мне более ли менее известно 3cx. Сам его не настраивал, но видел компанию, где оно использовалось. Ничего конкретного сказать не могу, так как нет собственного опыта эксплуатации. Плохих отзывов не слышал. В целом, хорошее коробочное решение, которое можно установить на свое железо (это важно), в случае необходимости перенести.
  4. Готовое аппаратное решение. Вы покупаете железку с готовым интерфейсом управления. Это может быть браузер, либо какая-то вендорская программа. Тут я тоже ничего не могу сказать конкретного, так как сам не эксплуатировал. У всех известных вендоров по телефонии есть решения на базе VOIP. Я немного сталкивался с телефонными станциями Siemens и Panasonic с платами расширения для VOIP. Мне не нравятся эти решения, так как привязаны к железу. Если обычную виртуалку с asterisk можно забэкапить и развернуть где угодно, то что делать с телефонной станцией в случае ее поломки?
  5. Виртуальная АТС как услуга. Вы покупаете у облачного провайдера готовую услугу. Управляете ей через браузер. Свой сервер не нужен. Абонентские устройства сразу подключаются к облаку через интернет. Решение сейчас популярное и удобное, так как не требует начальных затрат и особой настройки. Покупается услуга, быстро настраивается и можно сразу пользоваться. Очевидных минусов тут два. Первое, вы регулярно платите абонентку за услугу, в то время как свой сервер условно бесплатен, если у вас им занимается сисадмин на полной ставке. Второе, без интернета у вас нет связи между сотрудниками офиса. Да и в целом, все локальное общение идет через интернет и зависит от него, что явно не удобно. Этот вариант однозначно подходит тем, у кого нет штатного сисадмина с подходящими компетенциями. Для всех остальных надо думать и взвешивать все варианты.

Вот такой расклад по выбору телефонии для офиса. Как я уже сказал, сам предпочитал всегда Asterisk, но явный минус такого решения - мало кто знает его хорошо. Если подбирается сисадмин общего назначения для обслуживания офиса, не так много из них будут хорошо разбираться в астериске, даже если укажут его в резюме.

Выбор self-hosted чата

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

В этом списке не хватает еще одного бесплатного чата, который мне часто советовали попробовать - Rocket.Chat. Когда я его смотрел, он был похож на Mattermost, но это было очень давно. Сейчас они уже разошлись в разные стороны. В настоящее время у меня есть желание еще раз проработать этот вопрос. Попробовать все популярные чаты и что-то выбрать для использования.

Основная проблема со своим чат сервером в том, что ожидаешь функционала, к которому привык в популярных мессенджерах - Telegram, WhatsApp, Slack и т.д. Но по факту они намного хуже и нужно идти на какие-то компромиссы, а не хочется. Так что в настоящий момент я не могу посоветовать какой-то конкретный чат.

Вот ещё несколько вариантов бесплатных чатов, которые можно рассмотреть: Twake, Revolt, Delta Chat, Jami, SimpleX Chat.

Система мониторинга

Zabbix 5.0С выбором системы мониторинга для своей инфраструктуры меньше всего вопросов и сомнений. Тут я однозначно рекомендую Zabbix. У меня очень много статей по этой теме. Если вы новичок, то начать стоит с подробной статьи по установке и начальной настройке. Далее можно добавить уведомления в Telegram.

Может возникнуть закономерный вопрос. А почему именно Zabbix в качестве системы мониторинга? Ведь сейчас очень популярен прометеус. Сравнение Zabbix vs Prometheus я сделал в отдельной статье. Все подробности там. Есть еще Nagios и Icinga. В целом, я знаком с ними, но как по мне, функционал сильно хуже по сравнению с Zabbix. Не вижу причин их использовать. Хотя недавно общался с человеком, который обслуживает мониторинг nagios на тысячи хостов. Для меня это было откровением, так как не думал, что ее используют в масштабных системах. Считал, что это больше для небольшой инфраструктуры, где не принципиально, что использовать.

Сбор и хранение логов

Для начала расскажу, зачем вообще хранить логи. В целом, в небольшой организации можно обойтись без централизованного хранения логов. Можно вручную проверять каждый лог по мере необходимости. Тем не менее, я обычно настраиваю единое хранилище. Из того, что регулярно будет требовать внимания — логи почтового сервера, в частности postfix и dovecot, логи asterisk и samba. Вам будет значительно проще находить нужную информацию из единой точки входа.

В самом простом варианте вы можете собрать все необходимые логи в текстовые файлы с помощью syslog-ng и просматривать их через webmin. Почему именно webmin? Мне лично нравится там просмотрщик текстовых логов. Удобно работает выборка и поиск. Именно такое решение я часто применял. Требует минимальных ресурсов на работу, плюс настраивается все очень просто и быстро.

Установка и настройка ELK Stack

Если вам нужно удобное хранилище логов с хорошим поиском, визуализацией, редактированием на лету и т.д., то конечно лучше использовать для этого ELK Stack. У меня много статей на тему сбора и визуализации информации из логов разных сервисов и устройств. Все это хранится в отдельном разделе. Выбирайте, что вам нужно и настраивайте. Но даже если вы просто соберете все логи в elasticsearch, без визуализации и настройки, это все равно значительно облегчит вам управление инфраструктурой. А если нужно проводить какой-то анализ происшествий, событий безопасности или сбоев, то без него вообще не обойтись.

Пример подбора серверов для офиса

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

Подбор серверов для офиса

Скачать таблицу.

При таком раскладе и один сервер сможет потянуть всю нагрузку, в случае аварии с другим. Если вам нужно сэкономить на лицензиях Windows Server, то понятно, что надо будет все компоновать поплотнее. В самом экономном варианте, на каждом гипервизоре будет по одному Windows Server. Само железо может быть очень бюджетным, если будет приобретаться б.у. Каждый сервер можно уложить в бюджет ~2,500$.

Советую не экономить на памяти. Она стоит не дорого, но очень упрощает жизнь. Чем больше, тем лучше. В общем случае, можно обойтись и без SSD. 1С, конечно, будет неспешно работать, но в целом жить можно. Так же не советую покупать дорогие процессоры. Зачастую они остаются недонагруженными, так что можно что-то попроще брать.

Бэкапы

Сервер бэкапов можно собрать на любом, в том числе десктопном, железе. На нем не будет ни нагрузки, ни жесткого требования к максимальному аптайму. Чаще всего он будет работать по ночам и забирать информацию с серверов. Но если есть возможность, лучше всё же какой-то простенький сервер, чтобы было удаленное управление через ipmi. Как правильно делать бэкапы я подробно рассказал, а так же объяснил отдельно, почему надо так же дублировать бэкапы куда-то вовне, если вы арендуете размещение своих серверов у какого-то хостера.

Если говорить о конкретных реализациях бэкапов, то вариантов может быть очень много. Если речь идёт про сырые данные, то лично я предпочитаю их бэкапить с помощью rsync и самописных скриптов. Если нужно какое-то готовое решение, то могу порекомендовать следующее:

  • Veeam Agent for Windows или Linux — известные бесплатные инструменты для бэкапа всей системы целиком или отдельных данных от одного из мировых лидеров в данной тематике.
  • Kopia — кроссплатформенная система для бэкапа файлов (Win, Lin, Mac) c GUI. Может подключаться по ssh к хостам, поддерживает подключение к storage по S3,webdav, sftp. Простая и удобная система для тех, кто хочет всем управлять через GIU. В консоль лизить не обязательно.
  • Burp — написан на C, использует как и rsync библиотеку librsync. Работает в режиме клиент - сервер. Умеет шифрование, дедупликацию, планировщик, оповещения и т.д. Облегченная версия Bacula/Bareos для тех, кто последнюю не осилил.
  • Syncthing — утилита для синхронизации каталогов по сети, которая работает по принципу торрент клиентов. Можно автоматически синхронизировать данные в режиме реального времени на нескольких хостах. Важно понимать, что это не совсем программа для бэкапа, а скорее для копирования данных в режиме реального времени. А уже с копии можно спокойно снимать бэкап.
  • Borgbackup — кроссплатформенная утилита для бэкапа, состоящая из одного бинарника. При этом имеет обширный функционал - дедупликация, сжатие и т.д. Работает по ssh, клиенты не нужны. Отлично подходит для использования в скриптах. Хранит данные в бинарном формате.
  • Rsnapshot — написан на perl, под капотом обычный rsync. По сути это скрипт для автоматизации бэкапов с помощью rsync. Он умеет делать инкрементные бэкапы, ротировать их и чистить устаревшие данные. Для экономии места хранилища использует hard links на одни и те же файлы в бэкапах.
  • BackupPC — полноценная кроссплатформенная система бэкапов со своим GUI. Работает по ssh, в том числе с помощью rsync. Подойдет для тех, кто не осилил или ему не нужен весь функционал Bacula/Bareos.
  • FreeFileSync — это аналог известной платной программы под Windows GoodSync, которую многие знают, но она платная. Работает FreeFileSync примерно так же, только полностью бесплатна, исходный код открыт.

Более подробно все эти программы и некоторые другие описаны у меня в отдельной статье — Топ 12 бесплатных программ для бэкапа.

Заключение

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

И еще важное дополнение. Все описанное железо не обязательно размещать у себя. Его можно либо полностью арендовать, либо приобрести самостоятельно и разместить в ЦОД. Только выбирайте хостера правильно.

Углубленный онлайн-курс по MikroTik.

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

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

49 комментариев

  1. Hi,Vladimir,professional article helps much! Please inform me where can I put the ADS if I need to show the link or banner.
    We mainly design the R86S high performance firewall routers with Intel N5105/N6005 3*2.5G+2*10.0G SFP+ port.
    Please show me the contact who will hanlde over my request for review and the ADS,thank you!

  2. А в чем проблема общей хранили для кластера? Не особо мощное железо с кучей sata, диски нужного объёма, debian (ну или по вкусу), mdadm, fc инициатор (названия пакета не помню), и fc карточки qlogic, можно бу, ну и патчи fc. И вот почти SAN без коммутатора.

    • Общая хранилка - еще одна точка отказа, при сбое которой ляжет вообще всё. То есть нужен абсолютно точно рядом подобный подменный сервер. Итого получаем еще +2 железки к общей схеме. Если есть деньги, то конечно хорошо с общей хранилкой. Но в данном случае запросто можно и без неё обойтись.

  3. Никита

    Жаль не расписали хорошее бесплатное решение для ведения заявок и учёта движения оборудования. Но возможно это тема для новой статьи? ))

  4. Спасибо за статью, Владимир. Очень интересно было читать о Вашем опыте. Хотел распросить не много подробнее о некоторых моментах.

    - Вы гипервизор ставите на RAID 10 из HDD или на RAID 1 из SSD, чем руководствуетесь?
    - Какие HW RAID controllers чаще используете? Какие по Вашему мнению дают лучшее сочетание цена/функционал? Всё конечно в рамках Вашей комфортной компоновки, из примера.
    - Какие ИБП используете для серверов из примера, как расчитываете нагрузку?
    - В качестве SQL сервера для 1С, применяете PostgreSQL?
    - И соответсвенно сам 1С server разворачиваете на CentOS/Debian, или всё же на Win?
    - Можете посоветовать надёжные фирмы, исходя из опыта, где берёте б/у сервера?

    Надеюсь на ответ. :)

    • 1. Конечно лучше поставить raid1 из ssd дисков. Они в любом случае будут значительно быстрее hdd. Так что если есть возможность, лучше ssd использовать. Но все зависит от требований к объему, свободным слотам и т.д. Однозначно сказать, что лучше, нельзя.
      2. Я не знаю, какие лучше. Выбор сейчас невелик. Это либо adaptec, либо megaraid. Что-то другое давно не встречал. Что покупать, надо исходить из бюджета. Я не тестировал производительность. Если есть возможность выбирать, я возьму megaraid.
      3. Беру всегда APC. С ними меньше всего проблем. Нагрузку смотрю по документации ИБП и спецификации серверов. Не знаю, какие тут могут быть еще варианты.
      4. Да, применяю. Но если есть возможность использовать mssql, лучше брать его. Проще управлять, быстрее работает. При длительной эксплуатации это может оказаться по факту дешевле.
      5. Сервер тоже стараюсь ставить на Win. Это проще и дешевле. Под linux потом больше за персонал платить придется. Под виндой сервером управлять любой эникей может, а под linux уже нормального админа надо искать.
      6. Я не заморачиваюсь. Беру там, где дешевле. Сейчас выбор магазинов большой.

      • Андрей

        Насчет Windows согласен, но есть один момент. 1C сервер под Windows работает значительно медленнее, если речь идет о виртуальной машине, слишком большие накладные расходы получаются. А вот если под тем же Proxmox развернуть LXC контейнер и всем 1С сервер, то фактически он будет работать как на голом железе. Разница в тесте Гилева у меня была около 30-40%, при использовании Postgres Pro (LXC) vs MS SQL Server 2019 (Windows Server 2019 VM).
        Если иметь собственную базу знаний и вносить туда все, что делалось, то в принципе передать ее можно тому же эникейщику и админить такой 1С сервер даже в чем-то будет легче, чем виндовый.

        • Очень интересное наблюдение. Даже как-то не верится, что виртуализация даёт просадку до 40%. Такое не наблюдается с другими системами. Штраф виртуализации часто и много измеряют. Обычно просадка по производительности в районе 5-10%. Не знаю, что там такого особенного может происходить в 1С сервере, что он так критично теряет производительность, если его база находится в виртуальной машине. Вы уверены, что в тестах не было каких-то ошибок или дополнительных факторов?

          • Евгений

            Добрый день. Делали тесты под виртуализацией, реальные просадки по Гилёву есть и довольно сильные, но как все и говорят - Гилёв синтетика и с реальностью далеко не всегда коррелируется. Но рабочий сервак стоит на голом железе, в нем одновременно под 700 пользователей, а всякие специализированные штуки - ЗУП, Бухня и мелочи стоят на виртуалке. Да, есть точки отказов, да лицухи на 2 сервера, но в большой компании удобнее так, как выяснилось.

  5. Евгений

    Подскажите пожалуйста, при такой схеме построения инфраструктуры компании, есть смысл объединять сервера виртуализации в кластер?

    • Объединять в кластер всегда есть смысл, если железо позволяет. Хуже не будет.

      • Евгений

        Спасибо за ответ и за статьи, очень помогают. Понятно что кластер позволяет создать единую точку управления. А в том что в кластере будут всего 2 ноды (и притом без общей шары) - не вылезет в будущем проблемы?

        • Проблем, по идее, быть не должно. Но и смысла большого нет. Без общего хранилища виртуалки не смогут оперативно переезжать с ноды на ноду.

        • Антонов Евгений

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

  6. Андрей

    Из опыта могу сказать, что pfSense работает сверхнадежно, как OpenVPN, так и IPsec, аптаймы годовые - норма, ничего не рвется. pfSesne выбрали из-за возможности дополнительно поставить Haproxy и удобно админить. Я не считаю, что pfSense нужен для админов с низкой квалификацией, как раз-таки в нем многое автоматизировано и избавляет от необходимости сидеть в CLI, логи тоже удобно смотреть и фильтровать. А еще крутая фишка - автоматическое резервное копирование по каждому изменению настроек в облако с доступом по ключу. Используем pfSense как пограничный роутер для Proxmox с доступом в инфраструктуру через VPN.

    • Годовые аптаймы как раз не норма. Надо же обновления ставить и перезагружаться :) А вот тут с готовыми сборками обычно могут быть проблемы. Чистую систему с софтом из стабильных репозиториев я с большей уверенностью обновляю, нежели какую-то сборку. Шанс что что-то пойдет не так намного выше.

  7. Самый большой минус Free ESXi - нет возможности использовать любой софт для РК т.к. в нем нет АРI

  8. Максим Косолапов

    Из решений по телефонии и веб интерфейсом использовали сначала бесплатный elastix, но потом когда его купила 3cx и сделала платным, то нашли проект Issabel, это продолжение развития бесплатного elastix на современном asterisk и его плюшках и без проблем мигрировали туда, сейчас продолжаем пользоваться Issabel и вполне можно рассматривать этот проект как хорошо зарекомендовавшее себя бесплатное решение.

  9. Евгений

    Очень здорово, статья хорошо систематизирует накопленный опыт, спасибо, Владимир!

  10. Аноним

    спасибо

  11. Хорошая статья, очень интересно. Что касается чата - использовали simple chat (schat.me) Проект к сожалению уже заброшенный. Но свои задачи решает успешно.

  12. Сергей

    Владимир, а на серверах под разные дисковые массивы (раид10 на hdd и раид1 на ssd) - не требуется ли раздельные контроллеры?

    • Нет, можно в рамках одного все настроить.

      • Сергей

        Технически - да, можно.
        Но, с точки зрения производительности, я сталкивался с версией, что под каждый массив, по феншую - отдельный контроллер.
        В нагрузках типа 10-20 пользователей - скорей всего приемлемо все в одну кучу.
        А вот если 50+ ?

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

  13. По-поводу чата использую сервер OpenFire + клиент Spark, минимальный функционал обеспечен.
    По-поводу почты, всё таки для малого бизнеса проще использовать ту же Yandex почту, т.к. сейчас бизнес становится более белым и переживать что ваше письмо кто-то прочитает уже не актуально. А по бекапу почты, можно найти средства и выполнять его если необходимо. Плюс у того же Яндекса антиспам и антивирус думаю что будет всяко лучше работать, чем самому это настраивать и сопровождать. Проблем в последнее время с доставкой писем с той же Yandex почты не наблюдается. ИМХО Yandex почта оптимальный вариант.
    По-поводу использования брендованных аппаратных решений, опять же для малого бизнеса (10-50 ПК), считаю не целесообразной тратой денежных ресурсов заказчика. Сейчас даже десктопные решения надежны и не вызывают проблем. А тот же блок питания можно купить из наличия в магазине и устранить проблему в течении часа. На своем опыте скажу, что такие решения работают в разных организациях более 5-8 лет и проблем не наблюдается. В основном беру матери Supermicro c IPMI на десктопном процессоре, при этом проц. выбираю с более высокой тактовой частотой, т.к. частота - это приоритет номер один для работы в 1С. Если же брать подобную конфигурацию на XEON-ах это будет в 2-3 раза дороже, да и частоты у XEON-ов ниже. SSD на M.2 или SATA SSD + Proxmod + mdadm + HDD для файлообменника и бэкапов.

    • Конечно можно использовать десктопное железо. А вот надо ли на этом экономить, вопрос спорный. Если взять те же 50 человек со средней зарплатой в 50 000р., то один только ФОТ в месяц будет 2 500 000р. Стоит ли здесь экономить 300-400 тысяч на железо, которое нужно будет купить один раз в 5 лет, решать, конечно же, руководству. По моим наблюдениям, более ли менее адекватные руководители на этом не экономят. А экономят чаще всего не очень эффективные бизнесы, которые реально и без серверов вообще проживут. На компе бухгалтера расшарят базы и будут работать, пока их шифровальщик не зашифрует. А потом отдадут 100 т.р. за расшифровку (сталкивался с этим), деньги на это сразу найдутся. В то время как на сервер с бэкапами не хватало.

      • Все таки это вопрос целесообразности. Если вы понимаете что простой 1-2 часа погоды не сделает, а в малых бизнесах это практически так, то десктопное железо целесообразно.
        Возьмите организацию поменьше где 10-20 человек и зарплата не такая как в Москве, затраты на бренд могут оказаться большими для организации и как итог вы можете потерять клиента из-за более высокой цены вашего предложения.

        • Но я все же рассмотрел пример с 50 человек, а не 10-20. При 10-20 свой сервер может быть вообще не нужен, кроме как для 1С, но и тут я бы рассмотрел вариант аренды, так как скорее всего свой сервер и ставить то некуда будет. Проще в том же Selectel дедик взять на десктопном железе и все там настроить. А для бэкапов внешний usb диск в офисе.

      • Есть организации из 3-5 ПК и сервер приобретать это всегда большой вопрос для руководителя. Поэтому задача хорошего Админа минимизировать риски потери информации. Установить SSD в RAID1 на ПК где базы 1С и настроить бэкап на NAS, плюс контроль резервного копирования. Тоже живой вариант.

      • Насчёт брендового сервера с RAID контроллерами вот вам живой пример: был сервер SuperMicro со сказёвыми дисками и своим контроллером. И как-то раз он "полетел" (перестал запускаться). Аппаратная проблема. Но суть не в этом (сервер был старенький относительно). А проблема в том что диски были сказёвые да ещё и в рэйде на собственном аппаратном рэйд контроллере. А как оказалось бэкапы не делались! Но админ думал что делались. В итоге кучу гемора на тему: куда воткнуть сказёвые диски, да ещё и в рэйде!!! В итоге повезло что в одной соседней смежной канторе нашёлся почти аналогичный супермикровский сервер. А был бы простой бытовой комп с простыми HDD, воткнул бы в другой комп и делов то. Да, да я понимаю бэкапы обязательно и т.д. и т.п. Но бэкапы разворачивать тоже время нужно, а надо ещё новый сервак покупать вместо сломанного. Явно у малого бизнеса не стоят запасные серваки брендовые на этот случай. Потому с современными настольными компами с их скоростями, объёмами дисков и оперативки, для малого бизнеса уж лучше они, чем брендовые серваки с их аппаратными рэйдами с 0 совместимостью с другими, оперативка сервачная, которая если выйдет из строя то быстро не найдёшь и дисками SASовскими или сказёвыми. Но это опять же моё личное мнение.
        А вот вторая история: достался супермикровский сервак не такой уж старый со своим аппаратным рэйдом. Стал ставить Proxmox PVE с файловой системой ZFS и нифига!!! Оказалось ZFS не работает через аппаратные RAID контроллеры, а режима прямой работы с дисками у конкретно этого аппаратного рэйда не было!!! Потому пришлось ZFS пустить побоку и поставить на ext4. А другой сервак был на десктопном железе, там всё путём получилось! Вот и думайте и гадайте. Брендовые серваки хороши пока они работают. А когда выходят из строя, геморой постоянный с ними. Но это опять же для малого бизнеса!

        • Так тут целая куча допущений. Этот случай скорее исключение. Я диски всегда заказываю SATA, как раз для того, чтобы не было проблем с совместимостью. Рейд всегда делаю 1 или 10. Так проще всего и данные потом вытащить не сложно, даже если контроллер полетит. Ну и бэкапы никто не отменял, за ними надо следить. Я все же рассмотрел вариант, как все сделать правильно, а не как подстраховаться от косяков :) Тут не знаешь, где подстелить, если халтурщик работать будет.

          За историю спасибо, показательная.

  14. Владимир у вас ссылка "Сравнение Zabbix vs Prometheus" не туда ведет.

  15. Здравствуйте, все конечно зависит от задач админа.

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

    если исходить из точки зрения, что надо настроить и забыть, как в случае аутсорсинга, то половину из этого можно просто вычеркнуть (self hosted чат ? что? небольшому офису вацапа не хватит?).
    шлюз - микротик, почта - на яндексе, сервер телефонии - любая известная виртуальная атс (вестколл например). на счет остального 2 варианта развития событий:
    1) компания может арендовать виртуальный сервер (у хостера должны быть бэкапы), хранить там все данные, а до офиса при надобности пробрасывается l2 vpn для smb и всякого такого.
    2) компания покупает свой сервер и его админят аутсорсеры. для небольшого офиса по мне так хватит десктопного нормального железа (i5 /i7 + intel / samsung ssd + диск для данных + диск для бэкапов).

    сбор и хранение логов ни в том ни в другом случае особо не нужны. мониторинг - в первом случае у хостера, во втором случае смысла не имеет, ибо если сервак сдыхает, то и мониторинг тоже :)
    Кстати на счет мониторинга, на небольшие инсталляции в режиме далее-далее-готово подходит PRTG. ставится и настраивается действительно без всяких apt install nginx mysql .... и посильно практически каждому админу/конторе-аутсорсеру

    • 50 человек в watsapp это неудобно. Особенно если есть текучка. Привязано к личному номеру сотрудника. К тому же многое зависит от процессов в компании. Свой чат может очень сильно помогать. Я это наблюдал в одной компании, где очень активно использовали чат. Сначала скайп, но были проблемы, особенно после некоторых обновлений. Да и в целом управлять без единой панели управления, всеми этими чатами, учетками, доступами очень тяжело.

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

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

      Виртуальный сервер все вопросы не закроет. Их как минимум должно быть несколько. А еще хостер может прилечь на несколько дней, что далеко не редкость. Мониторинг не нужен ровно до того случая, как чей-то пароль от почты уходит вирусу и начинается спам. А потом твой почтовый домен, твой внешний ip попадает в кучу списков с ненадежными ip и у тебя начинаются проблемы. Это я все тоже проходил.

  16. Наталья

    Мне для моих пользователей очень хорошо зашел nextCloud/ownCloud для хранения. Киллерфичей было возможность парой кликом расшарить папку или файл в интернет.

  17. А почему корпоративная яндекс-почта не рассматривалась? Когда нет штатного админа - самое то.

  18. Спасибо. Было интересно почитать. Для меня актуально!

    • Наталья

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar