hdablin
@hdablin
Клинический психолог с психиатрическим диагнозом.

Виртуализация инфраструктуры (в т.ч. рабочих станций) в домашних условиях?

Здравствуй, Хабр!



Интересует решение для виртуализации десктопов в домашних условиях. Виртуализация домашнего сервера тоже интересует, но проблема именно в десктопах.



Чего хочется

Поскольку темя для меня новая и неизведанная, вместо нормального ТЗ напишу просто список хотелок, которые у меня есть:



1. Возможность запускать нужное (штук 15-20, не больше) количество виртуалок на мощном ПК, возможность подключаться к ним с относительно слабых клиентов, не имеющих жесткого диска (или иного накопителя). Клиент для iOS — желателен, но не необходим;



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



3. Возможность динамического распределения ОЗУ хоста между виртуальными машинами без необходимости их перезагрузки;



4. Возможность просмотра HD-видео на клиентских устройствах, возможность «пробрасывания USB» и звука;



5. Совместимость с Linux. В смысле, сейчас на рабочих станциях установлен Debian, и отказываться от него очень не хочется;



6. Низкая стоимость решения. Бюджет проекта (включая и ПО, и аппаратуру) — до 40 тыс. руб. Если можно сделать на бесплатном софте и имеющемся железе — будет замечательно;



7. Отсутствие шума. Клиенты должны охлаждаться пассивно (вероятно, это требование ограничит список потенциально пригодного к использованию «железа», что, в свою очередь, может повлиять на выбор ПО).



Как организована сеть сейчас, и почему такой вариант не устраивает



В сети четыре ПК:

1. Мощная рабочая станция (i7 2600K, 16 гигабайт ОЗУ, SSD),. Именно её планируется сделать хостом. Охлаждается пассивно;



2. Слабый сервер (старый «Целерон», 1 гигабайт ОЗУ). Если получится, будет использоваться в качестве «тонкого клиента» после изъятия вентиляторов и HDD (чтобы не шумел);



3. Слабая рабочая станция (Sempron 145, 2 гигабайта ОЗУ). Кандидат на преобразование в тонкий клиент. Охлаждается пассивно;



4. Рабочий ноутбук с Win 7. В сети сейчас не используется, в будущем хочу открыть доступ с него к файловому хранилищу сервера для бэкапа.



Ещё есть роутер, раздающий интернет, и смартфон. В сети два пользователя, оба они не любят делить свой десктоп с кем-либо другим (особенно друг с другом), т.е. вариант «временно поработать за чужим компьютером» — неприемлем.



Текущая организация не нравится пользователям по ряду причин:



1. Ресурсы оборудования не используются на полную мощность (пока один из пользователей оккупировал мощную станцию с целью просмотра няшных котиков, второй вынужден редактировать видео на гораздо более слабой машине);



2. Рабочие станции требуют установки SSD, которые, как показала практика, не так надежны, как хотелось бы (пытались использовать SLC и MLC-устройства, на разных контроллерах). При том, что все данные хранятся на сервере, установка SSD ради удовлетворения требований ОС представляется весьма расточительным шагом.



3. Низкая скорость копирования видеоконтента с мобильных устройств / камер, на которых он был записан, на сервер, на котором он будет храниться;



4. Сложность запуска дополнительных ОС при необходимости. Довольно часто ко мне обращаются с вопросами, касающимися поведения различного ПО в условиях, несколько отличающихся от «нормальных» ("а что, если я запущу эту штуку под вайном, а не под виндой, и поставлю импорт?"). Чтобы ответить на такие вопросы, приходится воссоздавать часть среды вопрошающего, что без виртуализации сделать не так просто. Кстати, паравиртуализация не подходит, т.к. ОС приходится разворачивать самые разные;



5. Сложность перераспределения дискового пространства. На текущий момент на сервере не настроен LVM, поэтому возникают ситуации, при которых контент логически следует поместить на /media/home_storage, а место есть только на /media/work_resources, что не есть правильно.



Очевидные решения, которые не устраивают

1. VMWare ESXi + Horizon View. Мощное удобное средство, обеспечивающее всё, что нужно. Перераспределение памяти, динамическое управление размерами хранилищ и файлов ВМ, прекрасная реализация PCoIP, позволяющая смотреть HDTV на клиенте. Недостатков два — цена (адекватная для предприятия, но слишком высокая для рассматриваемого здесь домашнего применения) и необходимость держать сервер под Windows (не то что бы мне не нравилась ОС от Microsoft, но просто ни для чего, кроме запуска View, она мне не нужна);



2. Решения на основе KVM (например, Proxmox). Здесь стоимость гораздо более приемлема, но нет PCoIP. Для виртуализации десктопов в Сети рекомендуют использовать VNC, но (не знаю, может, просто я не умею его использовать) он представляется мне слишком медленным и не лишенным неприятных мелких багов (я понимаю, что «баги» — это особенности реализации, а не протокола, но я ни разу не видел свободную от них реализацию);



3. MS Hyper-V + Windows 7/8 + RDP. Главный недостаток этого варианта заключается в том, что в качестве ОС для виртуализованных рабочих станций предполагается использовать Windows (в ином случае этот вариант эквивалентен предыдущему, т.к. снова придется использовать VNC). Я не хочу разводить холивар Windows vs. Linux, просто у обоих пользователей под Linux уже сформирован круг используемого софта, выработаны привычки, которые не хочется менять и т.п. Чистая вкусовщина, но т.к. речь о домашней инфраструктуре, хотелось бы учесть и её.



Вопрос

Возможно ли реализовать все хотелки, если нет — от каких следует отказаться? Если да, то как это сделать? Буду рад и готовым рецептам, и ключевым словам для дальнейшего поиска информации.



Если удастся найти решение, не требующее использования достижений современной фармакологии, напишу статью.
  • Вопрос задан
  • 10883 просмотра
Пригласить эксперта
Ответы на вопрос 3
merlin-vrn
@merlin-vrn
А почему вы не смотрите на VirtualBox? Для десктопной виртуализации — самое оно.

Кроме того, KVM есть не только в виде Proxmox. virt-manager тоже есть на пару с libvirt, тоже для десктопа — неплохо.
Ответ написан
@valdiks
Рассматривали ли вы возможность установить в сервер 2 видеокарты, которые пробросить в виртуальные машины вместе с USB?
У меня, например, сейчас виртуализированы 2 рабочие станции W7 под Xen Cloud Platform, одна из которых в 10 метрах от другой (в соседней комнате). Плюсы проброса отдельной видеокарты в гостевую ОС, думаю, очевидны.
Возможно, вам тоже может подойти такой вариант.
Посмотрите habrahabr.ru/qa/42616/ — там есть дополнительная информация (и мой комментарий).
Ответ написан
Комментировать
@ITguru
Сам не пробовал, но давно присматриваюсь к решениям ncomputing Возможно, это то, что нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы