0,0
рейтинг
27 ноября 2013 в 16:31

Администрирование → Десктоп в домашнем сервере или «всё-в-одном»

image
Цель: недорого собрать систему поддерживающую проброс PCI-устройств в виртуальную машину (c IOMMU). Создать полноценное рабочее место, поднять виртуальный маршрутизатор и еще полезные мелочи.

Комплектующие:


  • Процессор AMD FX-8320 Vishera — 4800 руб.
  • Материнская плата Gigabyte 970A-UD3 — 3000 руб.
  • Модули памяти Kingston по 4GB 1100x4 руб.
  • Видеокарта Nvidia GT440 — 1800 руб.
  • Видеокарта AMD Radeon HD 7750 — 2800 руб.
  • Сетевая карта PCIEx1 TP-LINK TG-3468 — 340 руб.
  • USB-контроллер PCIEx1 ST-LAB U-750 — 500 руб.
  • Жесткий диск Western Digital WD5000AAKX — 1800 руб.
  • USB-накопитель Kingston DataTraveler SE9 — 250 руб.


Модули памяти, GT440, жесткий диск у меня уже были.

Гипервизор


Я не хочу и не люблю, чтобы все службы крутились внутри одной операционной системы. А так как у меня уже есть выделенный сервер под управлением ESXi (5.1), то и сейчас я буду использовать его.

В биосе предварительно включаем IOMMU, горячую замену SATA-дисков.
VMware ESXi 5.1.0 был установлен на USB-флешку, локальная виртуальная сеть настроена. Это совсем просто, описание процесса не требуется.

Для проброса USB-контроллера пришлось установить патч ESXi510-201303001.
Найти его можно на официальном сайте: www.vmware.com/patchmgr/findPatch.portal

Для установки патча придется включить SSH-сервер в настройках ESXi и в консоли выполнить команду:
# esxcli software vib install -d "/vmfs/volumes/datastore_name/ESXi510-201303001.zip" 


Сеть


Создаем виртуальную машину, которая будет маршрутизатором, 1 vCPU, 256 vRAM и диска на 8GB должно быть вполне достаточно.
Присоединяем к виртуальной машине 2 сетевых интерфейса, расположенных в разных vSwitch.

image

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

pfSense включает в себя все необходимые службы для дома: DNS, DHCP, NTP, uPnP, VPN (OpenVPN, PPTP, IPsec, L2TP), IGMP Proxy, WoL, SNMP. Так же рисует графики по сетевым интерфейсам и имеет кучу утилит для диагностики. Заходить в консоль нет необходимости. Кстати, на pfSense можно ставить дополнительные пакеты, в репозитории есть VMware Tools, которые мне нужны.

Ссылки на скачивание и все необходимые инструкции есть на официальном сайте: www.pfsense.org

Если вы хотите сами настроить маршрутизатор, то можете воспользоваться этой статьей.

Рабочее место (или HTPC)



Создаем виртуальную машину под операционную систему Windows 8.1, ресурсы по вкусу, я остановился на 4vCPU, 4GB vRAM и 60GB диске под ОС.

Подключаем к виртуальной машине видеокарту и USB-контроллеры, предварительно настроив их в «passthrough mode».

У меня это выглядит так:
image
image
image

Запускаем виртуальную машину, подключаем к ней ISO-образ, устанавливаем Windows как обычно.
После установки Windows 8.1 нашла в сети все необходимые драйвера для работы видеокарты и USB-контроллеров.

Делаем внешний монитор/телевизор основным и отключаем встроенный от VMware монитор.

image

Подключем по USB клавиатуру и мышь. Запускаем Youtube 1080p в любимой браузере для проверки пригодности виртуальной машины в качестве HTPC, запускаем любимую игрушку для проверки производительности. У меня Diablo 3 на максимальных настройках со сглаживанием и вертикальной синхронизацией стабильно показывает 30 кадров в секунду.

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

Захостим что-нибудь


У хост-системы есть еще свободные ресурсы? Да, есть. Подниму зеркало для своих сайтов.

Создаю виртуальную машину, устанавливаю ОС, настраиваю ПО.

Если вы не знаете как это делается, то для вас есть много статей:

Nginx+php-fpm+perl под Debian Squeeze
Прокачка debian/ubuntu сервера для маленьких. Часть 1
Установка и настройка: Nginx + php5-fpm
Настройка Nginx + LAMP сервера в домашних условиях. Часть 1: Настройка frontend — backend
LAMP +Nginx на VPS стабильно и без лишней головной боли

А поиск здесь.

Захостим что-нибудь?


У хост-системы есть еще свободные ресурсы? Да, есть. Давайте качать торренты на сервер, а то SOHO-роутер от известного производителя делает это так медленно и USB портов у него мало.

Создаю виртуальную машину, устанавливаю любимую ОС, настраиваю любимый transmission и samba/nfs-шару.

Если вы не знаете как это делается, то для вас есть много статей:

Сборка и настройка Transmission в Debian или все что вы хотели знать о Transmission но боялись спросить
Transmission — внедряем в него плюшки
Многопользовательская торрент-качалка на transmission
Авторегулирование скорости Transmission

А поиск здесь.

Подводные камни


Оказывается, далеко не все видеокарты можно пробросить в виртуальную машину. Мне не удалось пробросить Nvidia GTS 250 и GT440. Windows хоть и видит видеокарту, но изображение отказывается выводить, а панель управления Nvidia говорит что монитор не подключен к ГП Nvidia.

Без патча ESXi510-201303001 USB-контроллеры не переходят в режим passthrough.

Без другого ПК нельзя включить выключенную виртуальную машину, так что виртуальную машину с VMware vSphere Client лучше не выключать, если в доме нет других ПК.

Дальнейшие планы


Хочу заменить GT-440 на другую видеокарту, которую можно пробросить в виртуальную машину, например, HD7850/7870, чтобы обеспечить еще одно рабочее место, ESXi и без видеокарты будет работать.

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

Итог



  • Можно экспериментировать с виртуальными машинами не мешая другому человеку играть в Minecraft.
  • Имеем мощный виртуальный маршрутизатор.
  • Удобно делать снапшоты и резервные копии.
  • Можно захостить дома виртуальные машины если выйдет из строя другой ESXi-хост.
  • Гибкость изменения конфигурации.


По стоимости получается как обычный декстоп, но получаем десктоп+домашний сервер.
Получается, что роутер, торрентокачалка и сетевое хранилище совсем не занимают места, не шумят и не тратят электричество, это делает десктоп ;)

Если вы давно думаете о покупке домашнего сервера, то посмотрите на свой десктоп, может быть он и станет вашим домашним сервером?
Максим Клюшков @klu4ik
карма
33,0
рейтинг 0,0
Linux Инженер
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (39)

  • +6
    Получается, что роутер, торрентокачалка и сетевое хранилище совсем не занимают места, не шумят и не тратят электричество, это делает десктоп ;)

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

    А вообще подобным образом использую десктоп, только у меня крутятся Ubuntu 13.10 + Windows 8.1, видеокарты HD6870 + HD7770
    Гипервизор Xen
    • 0
      Смайлик в конце предложения намекает на то, что я говорю не серьезно.
    • 0
      Имхо, речь про то, что сервер, роутер, торрентокачалка и сетевое хранилище и если даже по отдельности — то выключаются весьма редко, так что в длительной перспективе использования разницы не вижу. (Шум не беру в расчет ввиду разных у всех условий).
  • 0
    Хорошая статья, и в особенности пинок мне :) закончу мучать микротик на тему dual access с билайном и займусь виртуализацией :)
    P.S. В ESXi можно поставить автоподъём виртуалок после ребута: Configuration>Virtual Machine Startup/Shutdown
    • +1
      Это понятно, но если пользователь сам выключит ВМ, то ESXi ее не включит. Надо написать простенький скрипт, который будет запускать автоматически ВМ.
    • 0
      А что его мучать? l2tp+static routes.
      • 0
        К этому я и пришел :) осталось сделать :) вчера до 2 ночи докурить не получилось. Нашёл на форуме микротика описание как сделать и мольбы сделать это по умолчанию :)
        • +1
          а что там курить, простите? Вот у меня под боком есть такой, с dualaccess, прописанными раутами (частично по dhcp, частично статика) — не вижу ничего сложного или неочевидного
  • 0
    Автору спасибо, но возник вопрос: сколько это чудо ест в ваттах? Не замеряли?
    • 0
      Не замерял. Могу попробовать завтра замерить. Можно посчитать по комплектующим. Блок питания стоит на 550W, но я думаю 350W должно хватить, видеокарты маломощные.
    • 0
      Использую XCP 1.6, работает на железе Intel Xeon 1245v2, 4x8GB ram, 2x1TB hdd, 2xGigabyte HD7770 OC 1GB, при обычной загрузке (25-35% загрузки CPU, без игр, 2 виртуалки Win7, ) потребляет не более 100W (между 75-90W).
  • –1
    При подключении по SSH:

    vim-cmd vmsvc/getallvms |grep — получаем VM ID
    vim-cmd vmsvc/power.on Всё.

    P.S. пока вернулся интернет — стал дублем :(
    • 0
      Я знаю, почему у вас такой ник — смените провайдера, если это возможно :-)
      • 0
        Нику очень много лет, а пров умер первый раз, и из-за перегрузки питания в гор. сети.
  • 0
    Такой очень важный вопрос:
    1. Говорите про два рабочих места (две видюхи): можно ли второй набор клавиатура+мышь пробросить в другую машину? Или надо целиком ЮСБ-контролёр пробрасывать?

    2. Третий ЮСБ-контролёр в дополнение к двум встроенным в материнку по какой причине купили? Материнские нельзя пробрасывать?
    (Вроде вы все три пробрасываете)

    3. Видюхи нВидии не заработают? ATI брать?

    • 0
      По поводу пункта 3, наверно оставлю тут это: en.wikipedia.org/wiki/List_of_IOMMU-supporting_hardware
    • 0
      1. ESXi не видит обычные HID-устройства для проброса, лучше контроллер пробросить. Те же флешки удобнее будет подключать.

      2. У меня не получилось пробросить USB-контроллеры встроенные, поэтому купил внешний. Однако, он тоже не заработал. После поисков в интернете нашел патч и получилось пробросить любой контроллер.

      3. Есть списки совместимости, ссылку уже привели. Однако они достаточно коротки и не на 100 процентов достоверны :(
  • 0
    Как я понимаю, писалось по следам полосатого Слона моей статьи (даже отсылка к ней имеется). И не зря первым комментарием стало саркастическое упоминание о том, что жрёт такая махина немерено. Не всегда мощный десктоп должен работать. А вот роутер/сервер должны работать 24/7. В итоге имеем не такой результат, которого хотели достичь изначально. Понятно, что если компьютер один, и новое покупать невыгодно — то данный вариант неплох. Но, помилуйте, если есть возможность собрать гораздо менее мощную (и менее прожорливую) систему из подручного хлама — то почему нет?
    • 0
      Это Intel Core 2 Duo E8400 — хлам? Я действительно начал писать статью после прочтения вашей. Ваша статья неплохая, а вот эффективность использования машины плохая.
      • 0
        Ну, когда рядом лежат материнки, укомплектованные i3-i5 и всякими далеко не последними Phenom, а так же FX четвёртой серии — начинаешь понимать, что 2 ядра по 3 ггц — совсем не много. Это была минимальная конфигурация, которую смог собрать.

        Насчёт эффективности. Очень хочется спросить — а вы статью дочитали? А комментарии, хотя бы некоторые? Просто я, наверное, раз в двадцатый сейчас скажу, что сервер используется НЕ ТОЛЬКО как роутер. И «как сервер» он используется очень даже эффективно.

        По поводу виртуализации — опять же, проследуйте в комментарии к той статье, надоело повторять одно и то же, аки попугай какой-то.
  • 0
    Я как-то пробовал пойти по этому пути, но шумящий сервер для меня — это конкретная ложка дегтя. Не пробовал ли кто выделять физическую карту в Vmware View и работать с удаленного тихого терминала через PCoIP?

    PS: у меня вертится с полтора десятка VM на домашнем сервере — зеркала важных проектов, и тп. Восполнить недостаток физических нетворк интерфейсов сильно помогает (казалось бы) Эппловские USB Ethernet, которые легко пробросить в любую VM, Windows или Linux.
  • 0
    А на intel core i3-i5 такое бюджетное решение собрать можно? Чтобы положить в m-itx корпус, и не жрало много?
    • 0
      Да, можно, если найдете материнскую плату с Intel VT-d. Плата Intel DQ67EP должна подойти, но я бы не назвал это бюджетным решением.
  • +2
    Как никогда здесь будет уместен комментарий про то, что «мсье знает толк».
  • 0
    Отличная идея же. Можно и макось воткнуть. Приметил на реализацию домой.

    Спасибо!
    • 0
      Собственно, буду пробовать, когда выйдет на наш рынок материнка на Intel Avoton (atom, 8 ядер).
      Много сетевых интерфейсов по умолчанию, терпимый контроллер для ESXi (он же привередлив к контроллерам, да?), маложрущий процессор изначально, ест мало места — вполне ок. Подрубить к микротику и отлично. Главный ввопрос для меня — возможность работать удалённо, на всякий случай. В принципе, можно и RDP терпеть, но есть же нормальная виртуализация монитора для работы удалённо? Или RDP лучше?
      • 0
        А можно попросить просветить про «нормальная виртуализация монитора для работы удалённо»? А то сам последнее время с работы даже больше на домашнем компе работаю, чем на рабочем. :)
      • 0
        Кстати, если я правильно понимаю, то использование внешней видеокарты(для HTPC-style или игр) с Intel Avoton сделает встроенное решение IPMI нерабочим. Не так ли?
        • 0
          На сколько понимаю, да, если нет возможности прикрутить KVM от IPMI к другому выходу. Но там всё такое мимими-маленькое, что это вряд ли возможно вообще. :)
  • 0
    Спасибо за интересный experience. Взял на заметку. )
  • 0
    А как насчет установки VMware на Intel NUC, кто-нибудь пробовал? Заводится нормально?
  • 0
    Почти тоже самое только память 4*8.
    Зачем покупать 4*4. Уж если жмет лучше 2*8. Имхо.

    Проц такой же.
    Ставил SSD кайф.
    Сейчас родной HDD тоска :(

    Стоял Hyper-V.

    Сейчас Win7 ->VmWare Workstation->Hyper-V +Hyper-V ->( Win7 + win 2012)
    Но понимаю что первый пункт абсурден (второе следствие из первого).
    Прослойка такая чтобы поизучать новые фишки win 2012R2 за неимением в наличии 2\3 железок.
    А вложенной виртуализации у Hyper-V нет. Да и говорят с поддержкой железа были проблемы раньше VmWare. (более требовательная, абы на чем не взлетала)

    Изучении VmWare забросил потому что не давали бесплатно более 32Гб.
    А в этом году повернулись лицом. Так что стоит и посмотреть.

    Может не внимательно читал.
    Но как вы подключаетесь к VM? Прямо из ESXi Или по RDP с другого ПК?
    Не ясно, про включение.

    Просто как бы в Hyper-V можно в powershell включить\выключить.

    P.S. За пост спасибо. Утром на свезжую голову перечитаю.

    • 0
      Подключаюсь к ВМ физическим монитором, клавиатурой и мышью. По поводу памяти — согласен, но она у меня уже была.
  • 0
    Почему нельзя на VM autostart включить?
    • 0
      В этом случае нужно перезапустить железо полностью, чтобы сработал VM Autostart.
  • +1
    У бесплатного ESXi 5.1 есть ограничение на 32 Гб RAM. Даже в домашних поделках это уже порой становится проблемой. В ESXi 5.5 это ограничение сняли.
    • 0
      А проблему проброса ЮСБ они починили?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.