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

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

Аппаратный сбой — ну тут сам бог велел… Тут нужно ехать и делать.

Что лучше выбрать для виртуализации? Но для этого нужно знать — а что вообще есть для виртуализации.

VMware vSphere (платная), VMware Esxi (есть бесплатная), Hyper-V (сама бесплатна, но работает на платной ОС Windows), OpenVZ (бесплатная, не поддерживает Windows), KVM (бесплатная), Xen (с открытым исходным кодом, наверное бесплатная), oracle virtual box (частично бесплатная).

Конечно есть много сравнений в работе этих гипервизоров, есть много цыферей, по которым считают то или иное решение лучше, но… я не собираюсь здесь строить систему виртуализации для предоставления ее в аренду, я собираюсь поднимать ну до 5-7 виртуальных серверов типа «Домен», «Прокси», «Файловая помойка», «почтовик», «сервер 1с» ну и тому подобное, так что подход к выбору немного меняется.

Сам я «игрался» с VMware, Hyper-V, KVM и VirtualBox-ом. VMware использовал в далеких 2000-ых, когда это только появлялось. Система замечательная, ни одно из ПО, на тот момент, не могло понять, что работало под гипервизором, даже тот же SoftIce прекрасно запускался. Hyper-V на тот же момент, по чисто субъективному восприятию, работало медленнее. Затем в моей жизни появился VirtualBox, по началу он уступал по возможностям двум предыдущим, но скорость работы он давал даже по более чем Hyper-V, это был «середнячок». На тот момент я работал в ОС Windows. Бесплатность VirtualBox-а очень привлекала и я полностью перешел на его использование. Т.е. примерно с 2010 года я стал использовать именно его.

У VirtualBox-а есть «платный момент». Дополнения VM VirtualBox Extension Pack платны для коммерческого использования. Они нужны для ускорения работы графики в виртуальной машине, для передачи USB устройств, для передачи общих папок и для организации общего буфера обмена между виртуальной машиной и хостовой. Из всего перечисленного больнее всего бьет, наверное, передача USB устройств, например при построении сервера 1С, если есть реальный USB ключик — то это проблема, но можно поступить иначе — в хостовой машинке подключить и настроить раздачу ключа по сети и спокойно работать. Общего падения производительности при отсутствии VM VirtualBox Extension Pack я не наблюдал.

По поводу KVM могу сказать лишь, что я пробовал его использовать в чистом виде, но при «поднятии» машинок на Windows — обнаружил падение, по сравнению с VirtualBox-ом, производительности системы, причем довольно сильное. Возможно я просто что-то не до настроил, но я постараюсь в ближайшее время вновь подойти к этому вопросу, т.к. сам VirtualBox опирается на KVM, значит и сам KVM должен давать результат не хуже, но пока я этого не достиг.

И так, почему же все таки VirtualBox, а не скажем тот же бесплатный вариант VMware Esxi. На это есть несколько причин, в первую очередь это дальнейшая защита виртуальных машин средствами хостовой системы linux, его файервол, возможности у него колоссальные. RDP от Microsoft-а — вещь замечательная, работает быстро, и его использование очень распространено, например работа с 1С через терминал, пожалуй большей скорости не получишь. Этот протокол опережает подобные разработки в том же linux. Но вот именно он является излюбленным блюдом взлома хакеров, ведь получив доступ по нему, с компом можно делать все что душе угодно. В общем RDP постоянно «ломают». Microsoft конечно постоянно его обновляет, защищает, но это помогает ненадолго. Так что с этим что-то нужно делать.

Вот здесь и приходит на помощь возможности linux, его файервол. Существует возможность настроить открытие определенного порта на определенное время для определенного ip, при определенных действиях (стуков по другим определенным портам), это называют — открыть порт по «стуку». Система довольно распространена для работы порта ssh, но ничто не мешает ее распространить на любой порт. Это мне понравилось и было водворено в жизнь.

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

Пункт третий — виртуальные жесткие диски. У VirtualBox есть возможность использовать динамические виртуальные диски (использую непосредственно для системы, не данных). Диск можно создать скажем 100Gb, а занимать места (после настройки виртуального сервера, первоначально) он будет, скажем 30Gb. Такой размер будет копироваться быстрее (при создании резервной копии самой системы виртуальной машины), чем если он полностью будет занимать 100Gb. У этого варианта конечно есть и свой минус, теоретически такая система может немного медленнее работать, но на практике — это не сильно сказывается.

Так, что я пока остановился на связке именно VirtualBox+linux.