Если вы читали предыдущие мои руководства по серверу DIY, то, возможно, заметили, что я являюсь поклонником продукта ESXi от VMware. Я знаю, что существуют и другие альтернативы, такие как Unraid и Proxmox, но ESXi — это то решение, которое я знаю лучше всего и с которым я чаще всего сталкиваюсь в своей повседневной профессиональной деятельности. Я также являюсь большим поклонником pfSense, и несколько лет назад я объединил два своих любимых программных решения и создал (очень) самодельный домашний маршрутизатор, на котором в качестве гипервизора работал ESXi, а pfSense — в качестве виртуальной машины, и с тех пор он работает очень хорошо.
Недавно Рохит рассказывал о некоторых системах пассивного межсетевого экрана Topton, и мое внимание привлекли безвентиляторные устройства на базе Intel Core i7. Аппаратное обеспечение моей домашней системы ESXi/маршрутизатора устаревало, и я увидел возможность для обновления, поэтому я попросил одно из устройств. Патрик прислал его, и вот мы здесь.
В этой статье я собираюсь затронуть несколько тем. Во-первых, я объясню, почему я настроил свой домашний маршрутизатор именно таким образом. Далее я расскажу о причинах, побудивших меня перейти на новое устройство i7. И наконец, я расскажу о самом процессе обновления, через который мне пришлось пройти, чтобы перейти со старой системы на новую. Давайте начнем!
VMware ESXi + pfSense?
Я работал с pfSense задолго до того, как установил его на хост ESXi, но мне хотелось, чтобы мой маршрутизатор делал для меня больше. Первоначальным толчком к этому послужила программа Pi-hole. Если вы не знаете, Pi-hole — это сетевой (DNS) блокировщик рекламы, телеметрии и вредоносного ПО. Название Pi-hole происходит от традиционного аппаратного обеспечения, на котором он должен быть установлен, — Raspberry Pi, но мне не хотелось иметь еще одно устройство, которое нужно было бы постоянно включать и подключать к сети. Кроме того, Pi-hole работает как DNS-сервер в локальной сети, а это, на мой взгляд, как раз то, что мог делать мой маршрутизатор. Позже Патрик познакомил меня с Guacamole. Guacamole — это шлюз удаленных рабочих столов без клиентов, который показался мне очень крутым, и меня снова посетила мысль о том, что это то, что я хотел бы, чтобы делал мой маршрутизатор. Так родилась идея перестроить мой маршрутизатор в виде хоста ESXi с виртуальной машиной для каждой нужной мне функции.
Мое первое решение было одним из самых «самостоятельных», которые я когда-либо делал. Помимо того, что я собрал систему из недорогого подержанного оборудования и вещей, которые валялись у меня под рукой, я также переживал прилив вдохновленной COVID-изоляцией мечты научиться работать с деревом, поэтому я сам собрал корпус.
Это не совсем произведение искусства, но с работой оно справлялось. Внутреннее устройство было таким же простым, как и внешнее:
Моя скромная система ESXi базировалась на материнской плате ASUS H110T/CSM. На этой маленькой материнской плате есть разъем для подключения блока питания DC12V/19V, и у меня как раз оказался старый блок питания от ноутбука. В сочетании с подержанным процессором Core i5-6500T и 32 Гбайт оперативной памяти для ноутбука у меня получилась система. ESXi была установлена на 16-гигабайтный M.2 от Chromebook, а для хранения виртуальных машин был установлен старый SSD Samsung 850 Pro 250 ГБ. Все это было помещено в маленькую деревянную коробочку.
.
Он отлично работал и не доставлял мне никаких проблем. Со временем я обнаружил еще больше преимуществ маршрутизатора ESXi. Например, когда вышла версия pfSense 2.5.x, я смог установить ее рядом с существующей версией 2.4.x, а затем легко переключаться между ними, пока все необходимое для 2.5.x было правильно настроено. Недавно, когда вышла версия 2.6.0, я мог с уверенностью перейти на новую версию, поскольку перед нажатием кнопки обновления я сделал снимок своей версии 2.5.x. Если что-то пошло не так, я мог просто откатиться к снимку.
Наконец, еще несколько виртуальных машин нашли свой дом на моем маленьком сервере. Я запускаю Home Assistant для всех «умных» домашних вещей в моей жизни, и он с удовольствием работает на этой маленькой системе. Время от времени я запускаю тестовые виртуальные машины, и здесь у меня есть для этого подходящее место.
Время для обновления
Увы, время приходит для всех вещей. Пока моя система работала нормально, было несколько проблем. Одна из встроенных сетевых карт в H110T/CSM — модель Realtek, а VMware кое-что изменила в ESXi 7.0, и установить драйверы для сетевых карт Realtek в версии 7.0 и выше невозможно.
Во-вторых, мой дом начинает переходить на сети 2,5 Гбит/с, а все в моей существующей системе было 1 Гбит/с. Кроме того, у меня возникла идея запустить транскодер Plex на моем маленьком хосте ESXi через iGPU passthrough, а кодер Quick Sync в i5-6500T не отличается особой производительностью.
Кроме того, я хотел увеличить объем и скорость хранения данных для своего хоста, а в H110T/CSM для этого просто не было возможности.
И наконец, я просто увидел возможность использования маленьких безвентиляторных процессоров i7. На некоторых графиках бенчмарка i7-1165G7 этот процессор значительно опережал мой старый i5-6500T, потребляя при этом, предположительно, меньше энергии.
После того как Патрик прислал мне устройство, настало время приступить к работе.
Установка оборудования и ESXi
Патрик прислал мне хост Topton без установленных накопителей и оперативной памяти, поэтому первой задачей была их установка. У меня было 16 Гбайт свободной оперативной памяти DDR4, которую я мог временно использовать, а когда я действительно введу новый хост в эксплуатацию, я воспользуюсь памятью из старой системы, поскольку ее там 32 Гбайт и она совместима с этим устройством. Что касается SSD-накопителя, то в этой системе можно было использовать NVMe-накопитель, поэтому я установил диск WD Red SN700 объемом 1 ТБ. В своем обзоре я отметил, что SN700 — очень хороший диск, но при длительной нагрузке он может немного нагреваться. К счастью, мой домашний маршрутизатор не отличается высокой нагрузкой, поэтому я не думаю, что у него возникнут какие-либо проблемы.
После установки оперативной памяти и SSD пришло время установить ESXi. Я не буду описывать сам процесс установки ESXi, поскольку он не представляет особой сложности, но хочу отметить, что для поддержки сетевых карт Intel i225-V на Topton требуется дополнительный драйвер, интегрированный в установку ESXi. Этот драйвер можно найти здесь, и как только он оказался у меня на установочной флешке, все прошло нормально.
Установив ESXi, я смог войти в систему через веб-интерфейс. Отсюда первое, что я всегда делаю, — настраиваю NTP, включаю функцию автозапуска и применяю лицензирование. У меня есть платная лицензия на хост ESXi, которая будет использоваться при работе с Veeam, но для большинства целей здесь вполне подойдет бесплатная лицензия ESXi.
Далее необходимо было настроить сеть.
.
ESXi с радостью увидела все шесть сетевых интерфейсов в моей системе, и vmnic0 будет выступать в качестве восходящего канала к моей домашней локальной сети. Я определю vmnic1 как физический порт WAN, через который будет подключаться мой Интернет. Для этого необходимо определить виртуальный коммутатор.
Я назвал свой новый виртуальный коммутатор vSwitch-WAN и назначил ему vmnic1. Затем я переключился на вкладку Port groups и настроил две группы портов.
Оригинальную группу портов «VM Network», связанную с vSwitch0, я переименовал в LAN, а для vSwitch-WAN создал новую группу портов, которую назвал WAN. Теперь, когда я запущу свою ВМ pfSense, я смогу назначить ей две сетевые карты — одну для LAN, другую для WAN.
Миграция с помощью Veeam
Поскольку я перемещаюсь с существующего сервера ESXi на новый, и у меня есть платная лицензия на ESXi, у меня есть возможность перенести ВМ с одного хоста на другой несколькими способами. Я могу настроить сервер vCenter и использовать встроенную в VMware функцию vMotion для переноса виртуальных машин с одного хоста на другой, но, честно говоря, это очень хлопотно для одноразового перемещения.
Лучшим вариантом для меня было использование Veeam. Я уже использовал Veeam на сервере у себя дома для резервного копирования виртуальных машин, работающих на моем хосте ESXi, поэтому настроить задание репликации между старым и новым хостом было довольно просто.
Я настроил новое задание, выбрал все свои виртуальные машины и запустил его.
Через некоторое время на новом хосте ESXi появились копии всех соответствующих ВМ со старого хоста. Оставалось только выключить существующий хост ESXi, перенести оперативную память на новый хост, подключить новый хост и загрузить его.
После включения нового хоста мне нужно было отредактировать каждую ВМ и выбрать сеть, к которой будет подключаться каждая виртуальная сетевая карта. На моем рисунке показана ВМ pfSense с двумя сетевыми картами.
И на этом все было готово! Я включил все свои виртуальные машины, начиная с pfSense и Pi-hole, и пошел проверять, все ли работает.
Интернет был подключен и работал нормально. Все остальные виртуальные машины загрузились так же легко, и у меня появилось гораздо больше памяти и производительности, с которыми можно поиграть. Я начал работать с iGPU passthrough, чего раньше никогда не делал, и очень надеюсь переложить на эту маленькую коробочку работу по транскодированию Plex.
Охлаждение
Читатели STH, ознакомившиеся со статьей Рохита, возможно, помнят, что было две модели Topton i7-1165G7, одна из которых имела хорошие тепловые характеристики, а другая — нет. Мне достался блок с не очень хорошими температурными характеристиками, и он стал некомфортно горячим на ощупь. Решение этой проблемы обошлось мне менее чем в $20, хотя и добавило в мою систему немного «DIY jank».
Как видно из рисунка, я просто установил на устройство 140-мегапиксельный вентилятор, дующий прямо вниз. Я прикрепил решетки вентилятора, чтобы защитить пальцы и провода от попадания вентилятора. Питание вентилятора осуществляется через USB-шлейф, который уже был у меня под рукой из другого проекта. Вентилятор работает на очень низких оборотах, поскольку это 12-вольтовый вентилятор, работающий от 5 В на выходе USB, что обеспечивает ему бесшумную работу. В конце концов, я закреплю этот вентилятор с помощью 3D-печатных лесов, но пока он просто стоит на системе. Благодаря такому «решению» температура упала почти на 30C, и все устройство хорошо охлаждается.
К сожалению, это также означает, что теперь есть вентилятор, хотя и тихий.
Окончательные выводы
В целом я очень доволен тем, как проходил процесс, и конечным результатом. Благодаря процессу репликации Veeam общее время простоя моего домашнего Интернета составило менее 20 минут. Новая система занимает меньше физического пространства и потребляет меньше энергии, чем старая система Core i5-6500T. Компромисс, возможно, заключается в том, что она выглядит менее круто, чем мой старый деревянный ящик. Но самое важное для меня то, что новая система значительно быстрее, имеет больше памяти, оснащена лучшими сетевыми каналами и позволяет перейти на более новую версию ESXi. Вооружившись новыми мощностями, я могу придумать множество различных проектов для тестирования, начиная с тестирования iGPU passthrough. Как только в моем доме появится больше устройств 2,5 Гбит/с, я буду готов и к этому».
Настройка маршрутизатора на хосте виртуализации — занятие не для всех, но, надеюсь, о моем путешествии было хотя бы интересно почитать. Если у кого-то возникнут вопросы в комментариях или на форумах, я буду готов ответить на них, а также выслушать предложения о том, какие еще интересные сервисы можно добавить на мой хост маршрутизатора!