Это страшное слово – «виртуализация». Мое решение на базе KVM.


Softovick

Заметка пригодится всем, кому интересно использовать виртуализацию в своей работе. Мое решение вполне может претендовать на промышленное применение и пригодится тем, кто захочет сократить расходы на аппаратную часть при необходимости иметь в наличии разветвленную сетевую инфраструктуру. На подобном варианте базируется некоторые решения от IBM, к примеру. Но эти решения далеко не бюджетные и востребованы лишь в исключительных случаях.
Итак, однажды мне понадобилось в домашних условиях воспроизвести разветвленную сетевую инфраструктуру, состоящую из различных программных платформ. Путь начинался от VMWare Workstation и завершился KVM… Почему именно KVM и как все было, читайте ниже.

1. Немного истории или с чего все началось.
Работая в банке, я вживую столкнулся с виртуализацией. Это была операционная система AIX от IBM, работающая на майнфреймах. С самого начала меня поразила мощь и гибкость подобного подхода. И когда мне понадобилось воспроизвести в тестовых целях дома разветвленную программную инфраструктуру, то сразу базировал все это на принципах виртуализации. Это позволило избежать как значительных затрат на аппаратную часть, так и уместить все весьма компактно в плане пространства.
Для читателя следует учесть, что на самом деле инструментов виртуализации великое множество. Каждый из них имеет свои тонкости и нюансы. Я же ставлю цель рассказать об одном варианте, с которыми работаю лично, описывая по возможности недостатки и особенности остальных.
2. Мой выбор называется KVM (или Kernel-based Virtual Machine).
Подробнее об этом варианте можно почитать тут.
Но лучше все по порядку излагать. Начну с условий отбора и какие из известных мне вариантов этим условиям неудовлетворяют:
— основная система должна быть бюджетной и мощной.

В аппаратном плане я выбрал вариант AMD Phenom X4 9550 / Asus M3A78 / 2x2Gb DDR-II / 1x160Gb IDE + 2x1Tb SATA-II. Видео здесь совершенно не приципиально, кроме того, что в случае встроенной придется учитывать, что она под себя забирает часть оперативной памяти, соответственно для виртуальных машин ее останется меньше. Скажу сразу — выбор материнки с встроенным RAID-контроллером был не совсем корректным. Как выяснилось, RAID этот работает только в программном режиме, т.е. нужны драйвера для Windows систем, ну а в Linux такого же эффекта можно было достичь гораздо проще, используя стандартные средства.
Использование программной платформы для основной системы было однозначно в пользу GNU/Linux, т.к. позволяло получить среду виртуализации без лишних затрат на лицензирование, а также более облегченную в плане нагрузки (вот никогда я не пойму, почему в Windows Server без графики ничего нельзя поставить и сделать…. бессмысленная нагрузка, ИМХО). Изначально планировалось использовать вариант Ubuntu Server Hardy LTS, но почти сразу была произведена миграция на Debian Lenny (он к тому времени как раз вышел).Ни в коем случае не принижаю достоинства Ubuntu, но субьективно Debian стабильнее и быстрее работает.

— система виртуализации должна быть стабильной, общедоступной и нетребовательной к ресурсам.

От выбора разбегаются глаза, но после изучения отзывов в интернете и попыток использования сложилось субьективное мнение.
Продукты VMWare не подходят. Workstation платная, ESXi не удалось поставить на мою систему из-за неподдерживаемого чипсета (он у меня оказался более современным). Неплохим выбором был бы VMWare Server, но судя по отзывав она тяжеловата и периодически падает, сам я не стал пробовать после неудачи с ESXi. Не подошли они еще по одной причине — компания все таки продает свои продукты и только часть из них доступна в свободном доступе.
VirtualBox оказался весьма удачным вариантом. Существует в двух вариантах — OSE и Freeware. В открытом доступе исходников Freeware-версии нет, зато компенсируется это функциональностью. Из известных мне различий — это отсутствие в OSE версии поддержки USB, ограничения при работе с сетью, неподдерживается графическая акселерация (кстати, дающая весьма приличный прирост скорости работы виртуальной машины). VirtualBox идеально подходит для простейшей реализации, т.к. позволяет быстро получить работоспособную виртуальную машину без лишних телодвижений и внимательного изучения руководства. Приятной особенностью оказалась поддержка работы из консоли, что позволяет не использовать графических надстроек и соответственно снимается дополнительная нагрузка на хост-машину. Для начинающих «домашних виртуализаторов» я бы посоветовал именно такой вариант. Лично я до сих пор его использую на личном ноутбуке для быстрого поднимания тестовой среды, а также для работы в Windows (там уже давно и стабильно обосновалась Ubuntu в качестве основной системы). По субьективным ощущениям работает VirtualBox гораздо шустрее VMWare Workstation, занимает меньше места как на диске, так и в памяти. Для каждой машины выделяется отдельное окно, а также при установленных драйвера в гостевой системе (есть «из коробки») есть возможность интегрировать в рабочий стол хоста, что очень удобно и позволяет разнести задачи на разные виртуальные столы.
QEMU — очень мощная штука. Но когда вспомнил про нее, уже обратил внимание на виртуализацию на базе ядра и информацию про Xen и KVM, потому близко знакомится с чистым QEMU не стал.
Xen — идеальная система для виртуализации. Но имеет весьма существенный недостаток — гостевая система должна быть заранее подготовленна.
KVM, базируется на QEMU, по скорости почти не уступает Xen, зато обладает более гибкой функциональностью, всей мощью настроек QEMU (хотя основная часть необходимых мне была и в VirtualBOX). Оба варианта, Xen и KVM реализованы во всех современных дистрибутивах и для использования не надо прилагать серьезных усилий. Но есть между ними принципиальное отличие, о котором пойдет речь дальше.

— необходимо иметь возможность воспроизвести на виртуальных машинах различные программные платформы.

Несмотря на доступность в этом плане продуктов VMWare и VirtualBOX, от их использования я отказался еще ранее, так что рассматривать не буду… А вот применительно к Xen и KVM опишу чуток подробнее, т.к. сам искал информацию весьма долго.
Xen не позволяет запускать системы отличные от хостовой!!!, а точнее не подготовленные заранее для работы в виртуальной среде. И к сожалению (а может к счастью), подобной обработке не поддаются дистрибутивы Windows. Что меня не устраивало, потому в итоге выбор пал на варианте использования KVM, для которого заранее подготавливать гостевую систему не надо.

Итак причины выбора KVM кратко:

1. Реализация доступна из коробки в любом большом дистрибутиве;
2. Реализовано на базе ядра Linux, соответственно обладает большой скоростью;
3. Используется такими гигантами, как RedHat и Ubuntu, что говорит о высокой стабильности и гибкости;
4. Не требуется дополнительных махинаций с гостевой системой для установки в виртуальную машину.

3. Как я сделал это на Debian.
Дальше пойдет больше техническое описание, описывающее по шагам, как я сделал свой сервер, свободно тянущий с десяток виртуальных серверов.
Несмотря на то, что мой любимый дистрибутив Ubuntu, в итоге под базовую системы был выбран Debian. В рамках статьи объяснять тонкостей не буду, что да как, но на десктопе я все также предпочитаю использовать Ubuntu. Большинство инструкций для Ubuntu и Debian актуальны для обоих вариантов, потому при настройке я использовал и это и то и другое.
Итак, начнем ставить сервер.
Берем дистрибутив Debian. Чтобы не качать лишнего потом и сразу получить свежую систему, я брал вариант netinstall, при помощи которого устанавливал только вариант «Стандартная система», большего нам и не надо. Кстати, я использую 64-битный выпуск, чтобы получить поддержку большего количества оперативной памяти (>3Гб) без обходных путей и выкрутасов (к примеру, 32-битное серверное ядро дистрибутива Ubuntu поддерживает больше, чем 3Гб, но только при наличии такой возможности в чипсете).
Я использую под системные разделы («/», «/home», swap) жесткий диск IDE, дабы не иметь проблем при работе системы при установке на RAID-массив (а они есть). При установке сразу создаю RAID-1 на основе двух жестких дисков SATA для достижения большей сохранности данных (основная информация будет храниться на нем). В дальнейшем для работы с софтовым RAID-массивом следует использовать утилиту mdadm.
Свежеустановленную систему я немного ретуширую. Для начала устанавливаю ssh, чтобы можно было сразу засунуть системник подальше и отключить от него уже ненужный монитор:sudo apt-get install sshМногие советуют переключить порт с стандартного 22 на другой. Но это следует делать только в том случае, если вы уверены в своих действиях и ваш сервер подключен напрямую к интернету. Кстати, следует упомянуть, что если будет использоватся нестандартный порт, то потом возникнут сложности с удаленным управлением KVM-виртуализацией. Поэтому я оставил стандартный порт, но через аппаратный маршрутизатор сделал переброску на нестандартный, доступный снаружи.

Затем включаем синхронизацию времени через интернет (настоятельно советую, пригодится).
sudo apt-get install ntp ntpdate
Для контроля температуры чипсетов, процессора и жестких дисков:
sudo apt-get install lm-sensors hddtemp
Утилита hddtemp работает сразу, для настройки lm-sensors запускаем после установки:sudo sensors-detectотвечаем на все вопросы утвердительно.
Использовать очень просто:
— узнать температуру процессора, чипсета и других характеристик sudo sensors получаем что-то вроде:

it8712-isa-0290
Adapter: ISA adapter
VCore 1: +1.33 V (min = +3.54 V, max = +3.30 V) ALARM
VCore 2: +3.76 V (min = +1.39 V, max = +1.01 V) ALARM
+3.3V: +3.28 V (min = +4.00 V, max = +0.91 V) ALARM
+5V: +6.69 V (min = +3.04 V, max = +6.10 V) ALARM
+12V: +12.67 V (min = +15.23 V, max = +5.57 V) ALARM
-12V: -15.33 V (min = -0.85 V, max = -12.39 V) ALARM
-5V: +2.85 V (min = +3.06 V, max = +3.47 V) ALARM
Stdby: +5.99 V (min = +0.11 V, max = +6.37 V)
VBat: +3.31 V
fan1: 2922 RPM (min = 3260 RPM, div = 2)
fan2: 0 RPM (min = 5400 RPM, div = 2) ALARM
fan3: 0 RPM (min = 2732 RPM, div = 2) ALARM
M/B Temp: +44.0°C (low = -73.0°C, high = -49.0°C) sensor = transistor
CPU Temp: +32.0°C (low = -65.0°C, high = -9.0°C) sensor = transistor
Temp3: +128.0°C (low = +23.0°C, high = -66.0°C) sensor = disabled
cpu0_vid: +0.000 V

— узнать температуру 1 жесткого диска SATA — sudo hddtemp /dev/sda получаем что-то вроде:

/dev/sda: WDC WD1001FALS-00J7B0: 33°C

Для дальнейшей работы рекомендую обзавестись сторонним DHCP-сервером и на нашем сервере виртуализации настроить bridge-интерфейс.
Установим нужные утилиты: sudo apt-get install bridge-utils
Я использую в качестве DHCP-сервера свой роутер, а bridge-интерфейс создавал по инструкции. По той же инструкции рассказано, как сделать, чтобы виртуальная машина в KVM создавалась по умолчанию с использованием этого способа подключения. Для ускорения перезагрузки (совершенно не критичная ситуация, если сервер будет включен круглосуточно) советую заранее указать статический адрес на интерфейс даже при условии доступности DHCP.

И самое вкусное, устанавливаем KVM модули и полезные утилиты. Сразу добавим текущего пользователя в соответствующую группу для доступности использования KVM. Описание использования утилит можно найти по уже указанным руководствам.sudo aptitude install kvm libvirt-bin virtinst virt-top python-virtinst
sudo adduser softovick libvirt
Фактически сразу можно использовать. Описывать все команды смысла не вижу, для этого есть man. Но покажу, как я создаю виртуальную машину:
для Linux virt-install -n linux -r 512 -f linux.img -s 15 -c образ.iso --accelerate --vnc --vncport=5900 --noautoconsole --os-type=linux --os-variant=generic26
для Windows virt-install -n windows -r 512 -f windows.img -s 15 -c образ.iso --accelerate --vnc --vncport=5901 --noautoconsole --os-type=windows --os-variant=win2k3 --noacpiПосле этого дальнейший ход установки и экран гостевой машины можно контролировать, подключившись при помощи VNC-клиента к серверу по порту 5900 и 5901(рекомендую для каждой машины заранее определять порт VNC, чтобы было удобно подключаться). Есть еще несколько полезных опций, я их не использую лишь потому, что не столкнулся с их необходимостью.

И еще один штрих, но не последний. Как подключить к гостевой системе возможность что-то писать напрямую на физический раздел или папку на рейде, я пока не понял, хотя и старался. Поэтому в случае Linux я подключаюсь к данным на сервере при помощи nfs, а в случае Windows — при помощи Samba. Настройка Samba достаточно тривиальна, устанавливаем sudo aptitude install samba и правим конфигурационный файл /etc/samba/smb.conf под свои задачи. А вот установка и настройка nfs не совсем тривиальна. Я использую такой вариант установки, позволяющий подключаться к нужным папкам с любого ip-адреса локальной сети (вида 192.168.10.*):sudo aptitude install nfs-kernel-server portmap
perl -pi -e 's/^OPTIONS/#OPTIONS/' /etc/default/portmap
echo "portmap: 192.168.10." >> /etc/hosts.allow
/etc/init.d/portmap restart
echo "/media/raid 192.168.10.0/255.255.255.0(rw,no_root_squash,subtree_check)" >> /etc/exports
/etc/init.d/nfs-kernel-server reload
После приведенных действий достаточно на гостевой системе сделать так:
sudo mount сервер:/media/raid локальная_папка
При необходимости можно включить автоматическое монтирование при загрузке, поправив конфигурационный файл /etc/fstab, добавив туда строку типа:
virtual:/media/raid /media/raid nfs defaults 0 2
Ну вот, в целом настройка нашего сервера виртуализации завершена. Управлять им можно как в консоли, так и при помощи графических инструментов virsh или virtual manager.

P.S.:
Некоторые полезные советы:
1. Если вы указали конкретный порт VNC для гостевой машины, то через Virtual Manager вы не сможете автоматически запустить графическую консоль.
2. Virtual Manager не сможет подключиться, если у вас переопределен порт ssh. Точнее для этого придется долго и нудно разбираться.
3. Обязательно используйте для гостевой Windows Server режим —noacpi, чтобы она нормально установилась.
4. Аккуратно настраивайте режим сбережения энергии на гостевых системах, ни в коем случае не отключайте экран, иначе не сможете потом подключится по VNC.
5. Если вы хотите удаленно выключать и перезагружать машины через Virtual Manager, то отключайте хранитель экрана, т.к. он блокирует управление питанием.

49 комментариев для “Это страшное слово – «виртуализация». Мое решение на базе KVM.”

  1. GreatVini10 марта 2009 ~ 08:40

    Огромное спасибо за статью! Много полезного. Сам в данный момент решаю вопрос виртуализации на «домашнем сервере».

  2. StraNNicK10 марта 2009 ~ 15:01

    Тоже довольно долго подбирал решение для виртуализации.
    Тоже пришёл к kvm.

    Но поскольку я гораздо ленивее, взял готовое решение. Посмотрите, м.б. и Вам понравится — Proxmox VE.

  3. Anonymous16 марта 2009 ~ 14:43

    ИМХО проще было подорать железо, чтоб на нем ESXi завелся…

  4. Softovick16 марта 2009 ~ 18:16


    Анонимный пишет…

    ИМХО проще было подорать железо, чтоб на нем ESXi завелся…

    Т.е. Вы предлагает мне бегать по магазинам и покупать/менять железо, чтобы запустить какое-то программное обеспечение, которое, возможно, меня и не устроит по своим характеристикам??? По моему от этого как раз стоит отвыкать, дзен путь Linux состоит как раз в том, что всегда найдется ПО под задачу или под оборудование, в отличии от Windows. В которых даже сервер без графики работать не умеет…

  5. Anonymous16 марта 2009 ~ 19:14

    Неплохая статья. А что не позволяет использовать Windows Core Server или даже БЕСПЛАТНЫЙ Hyper-V Server? Поддержка драйверов у них лучше, чем у ESX3,5.
    Я на ноутбуке выбрал Windows 2008(Hyper-V) — потому что мне нужен не только гипервизор, но и локальная графическая управлялка. (Андрей)

  6. Александр Самойленко16 марта 2009 ~ 19:21

    Softovick, Вы серьезно рассматриваете эту штуку как промышленное решение?

    Могу Вас уверить — один, ну максимум два сервера. Дальше — столкнетесь с такими проблемами, что придется бежать к тому, у кого есть человеческие Management Features.

    А вот от ESXi вы зря так сразу отказались…

  7. Softovick16 марта 2009 ~ 19:24

    Андрей, все очень просто. Я считаю расточительством использовать графические средства управлени и вообще графику там, где без нее можно прекрасно обходится. И Debian (да и любой Linux. в том числе Ubuntu) на моих серверах прекрасно подтверждает мою точку зрения, работая быстрее и стабильнее на той же конфигурации… ну и потом, каков бы бесплатным не был сервер на базе Windows, я бы предпочел ему сервер на Linux при возможности.

  8. Softovick16 марта 2009 ~ 19:26

    Александр Самойленко пишет…
    Один/два говорите? Только сейчас у меня крутится 6 серверов, один из них держит rtorrent и LAMP+FTP, два работают серверами приложений в кластере и еще два обеспечивают работу с СУБД снаружи…. никаких тормозов, даже учитывая что параллельно сижу играю музыку с сервера и смотрю фильмы напрямую открывая через сеть…..

  9. Александр Самойленко16 марта 2009 ~ 19:36

    Я имел в виду физические хост-серверы виртуализации…

  10. Softovick16 марта 2009 ~ 19:41


    Александр Самойленко пишет…

    Я имел в виду физические хост-серверы виртуализации…

    В конечном итоге все зависит от задач и масштабов, согласитесь… Я уже сталкивался с ситуацией, когда даже супер мощного сервера с промышленным решением от IBM не хватало для задач… Управлять же серверами на Linux вообщето в некоторых случаях проще, чем Windows…

  11. Anonymous17 марта 2009 ~ 16:03

    Win2k8 Core и Hyper-V server GUI отсутствует в явном виде.
    В Core вместо Explorer.exe запускается cmd.exe, Hyper-V server в глаза не видел, но там аналогичная реализация, как мне кажется. Имхо, зря не глянули.

    Случай из практики: долго выбирал платформу виртуализации: Win2k8+ HyperV или Win2k8Core+HyperV. Первый привычнее для админа-виндусятника, второй жрет меньше ресурсов, что критично для виртуализации.
    Выбрал Win2k8+HyperV, т.к. в командной строке не было средств управления утилитой Powerpath (mmc only). (Андрей)

  12. Softovick17 марта 2009 ~ 18:00

    Анонимный пишет… про Windows

    Учитывая основную тематику блога, рассуждения о платформах Windows я лично не предполагал. По сути каждый выбирает для себя тот инструмент, который ему удобен. Я же никого не заставляю пользоватся своим решением, только лишь описываю как я решил задачу. Кому надо, тот прочитает и сделает по своему 🙂 Линуксоиду предложение использовать сервер виртуализации на базе Windows (даже без графики) — в лучшем случае посмотрит криво 🙂

  13. Kawaikunee18 марта 2009 ~ 07:06

    Хорошая статья, надо запомнить. Люблю четкие рецепты, спасибо.

  14. Anonymous24 марта 2009 ~ 10:47

    http://citrix.com/English/ps2/products/feature.asp?contentID=1686939
    В списке фич XenServer:
    Windows® and Linux guests — yes

  15. Softovick24 марта 2009 ~ 17:38

    Анонимный пишет…

    http://citrix.com/English/ps2/products/feature.asp?contentID=1686939
    В списке фич XenServer:
    Windows® and Linux guests — yes

    Да, спасибо. Интересный продукт. Только платный, не обратили внимания? То, что там дают бесплатно, сильно урезанная версия… Почитал инструкции — чтобы нормально заработала виртуальная гостевая система, ее надо либо заранее подготовить (Linux), либо потом ставить и включать какие то драйвера и сервисы (Windows)… На KVM мне ничего не надо ставить и предварительно готовится. Смысл тогда?

  16. StraNNicK25 марта 2009 ~ 01:55

    Согласен с автором.
    Но всё же возьму на себя смелость ещё раз порекомендовать обратить внимание на Proxmox VE или на oVirt.

    XenServer берёт инфраструктурой. Упоминаемые мною продукты эту инфраструктуру предоставляют.

  17. Piyavkin11 июля 2009 ~ 17:28

    Я извиняюсь за тупость, но почему статья обрывается на полуслове:

    «Многие советуют переключить порт с стандартного 22 на другой. Но это следует делать только в том случае, если вы уверены в своих действиях и ваш сервер подключен напрямую к интернету. Кстати, следуе».

    И как посмотреть статью целиком?

  18. Zeboton11 июля 2009 ~ 21:49

    > Я извиняюсь за тупость, но почему статья обрывается на полуслове…
    Вот так вот хорошо работает экспорт/импорт у WordPress.

    Сейчас вручную восстановлю статью.

    Спасибо, что обратили на это внимание.

  19. Piyavkin12 июля 2009 ~ 12:03

    Уфф! А я уж испугался, что мой интеллект начал сдавать (в упор не вижу «читать далее» или еще чего). 🙂

    Спасибо за статью!

  20. Piyavkin13 июля 2009 ~ 22:45

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

  21. Softovick13 июля 2009 ~ 23:18

    Piyavkin, если вам транспортабельно, в целях демонстрации на десктоп-системе, то советую обратить внимание не на KVM, а на VirtualBox, только Free, а не OSE. ИМХО, лучший вариант в плане выкрутасов. Где-то даже на Хабре видел описание, как запустить гостя в отдельной консоли и перключатся между ними по Ctrl-Alt-F8. Или же попробуйте подробнее изучить QEMU.

  22. Piyavkin16 июля 2009 ~ 22:22

    Да, остановился-таки на VirtualBox (на него же отсылают из убунтовского руководства по KVM тех, кому много не надо). Sun, как всегда, не подкачал. Немного (совсем немного) поковырялся и получил то, что хотел. Интерфейс приложения дружественный с точными и ясными комментариями (всюду, где только можно).
    Поставил себе Full версию из репозитория производителя, не OSE. Но, похоже, все их различие только в штуках, которые одиночному пользователю вряд ли нужны, т.е. это инструментарий для создания сети предприятия с использованием тонких клиентов в качестве рабочих станций (USB, RDP). Очень удобно во многих отношениях. Но надо только компаниям, для которых, как раз, и предусмотрено платное использование.

    ЗЫ: А есть какой-то способ сделать работоспособный образ диска (для запуска в качестве VM) с уже установленной и используемой ОС (чтобы, напр., по-новой не ставить и не настраивать все используемые приложения, не заморачиваться с миграцией)?

  23. Softovick16 июля 2009 ~ 22:30

    Практически во всех гипервизорах такая фишка есть, она называется клонирование… В VirtualBox эта фишка доступна из консоли только, смотрите команду «VBoxManage», опция «clonehd» (в справке VirtualBox есть)

  24. Piyavkin17 июля 2009 ~ 20:18

    Я имею в виду не ОС «поднятую» на VM, а нормальным образом стоящую на десктопе ОС, которая до этого занимала отдельный компьютер и которую я хочу переместить на VM.

  25. Softovick17 июля 2009 ~ 22:08

    Да, теоретически можно. Сам я не пробовал, но возможно вот эта статья прольет больше света на решение проблемы. http://www.ibm.com/developerworks/ru/library/l-clonezilla/index.html?ca=drs-ru-0709

  26. Piyavkin20 июля 2009 ~ 07:48

    О, спасибо! То, что надо. )

  27. Livid4 декабря 2009 ~ 13:42

    > (или > если HTML-форматирование в комментариях включено) замените таки на > во вставках.

  28. admin5 декабря 2009 ~ 11:15

    @Livid
    Спасибо. Исправили, но пришлось пожертвовать подсветкой.

  29. first-leon22 декабря 2009 ~ 16:47

    Опечаточка небольшая тут:
    sudo adduser softovick libvirt
    Группа на самом деле libvirtd называется.

    А в общем статьи бодрые. Автору респект

  30. RMZ16 января 2010 ~ 23:20

    Добрый вечер.
    а кто нибудь пробовал запускать mikrotik на kvm ?
    Когда выставляю в роли гипервизора в virt-manager qemu и архитектуру i686 то запускается , а если выбираю kvm то mikrotik устанавливается но потом не загружается

  31. storma21 января 2010 ~ 21:37

    Для начинающего получил массу инф.

    Спасибо за ссылку на Proxmox VE и oVirt.
    А то уже хотел развёртывать ALT Linux 5 arc, но там готовый офис сервер. Предпочитаю отдельные продукты для конкретных целей:
    FreeNas, pfSense, Win2003+1C+Terminal. Теперь возможно всё раскидать на 2 сервака. 1-й Виртуалити (серьёзный), 2-й Nas-iSCSI (из старого хлама).

    Ещё раз спасибо.

  32. Паяц31 марта 2010 ~ 15:22

    Softovick,

    Маленький вопрос, если Вы еще занимаетесь виртуальными машинами:
    я поставил KVM на Ubuntu 9.10, установил дополнительные пакеты, настроил мост, как у в инструкции по ссылке, но застопорился на изменении шаблона для новых машин.

    Дело в том, что у меня папке /etc/vmbuilder/libvirt есть два файла:
    — libvirtxml.tmpl
    — libvirtxml_fsimage.tmpl

    И в первом нет конструкции с network, которую надо заменить на bridge. Там уже присутствуют переменные и т.п.

    Строка о которой идет речь присутствовала в точном виде во втором файле, но изменения его ни к чему не привели…

    Я все настройки делаю пока в GUI через virt-manager.

  33. Паяц31 марта 2010 ~ 17:22

    Сразу добавлю. 🙂

    Нашел, как бороться с моим же вопросом: надо virt-manager запускать от рута или gksu virt-manager.

    Тогда цепляется бридж и все прекрасно 🙂

  34. sergowech22 апреля 2010 ~ 12:28

    Такой вопрос — тема актуальная, но вот никак не могу найти следующее:
    При данном решении, то есть как в статье, имеется ряд НО. Эти «НО» очень критичные для человека, который вдруг решит использовать сие на рабочих серваках — при перезапуске сети на хостовой машине (/etc/init.d/networking restart) сеть в гостевых системах (в винде) отваливается намертво — решается только перезагрузкой гостя. И второй вопрос — при перезагрузке хостового сервера гостевые системы не завершаются корректно — они умирают как при выключенном рубильнике. Есть решение как это побороть?

  35. Softovick22 апреля 2010 ~ 12:35

    Насколько я помню, в KVM можно писать свои правила при обработке выключения хоста.. Где-то я даже встречал миниинструкцию… http://www.propheta.ru/2009/05/blog-post.html

  36. mitay22 апреля 2010 ~ 13:50

    Простите за, может быть, глупый вопрос.
    Когда поднимается br0 он «поглощает» eth0?
    Т.е. теперь по адресу хоста будет доступен гость, а хост по сети перестанет быть доступен?
    Момент, м.б. простой, но неочевидный, укажите, пожалуйста, куда копать.

  37. Softovick22 апреля 2010 ~ 18:23

    br0 замещает eth0, но не физически и он не блокирует при этом хост. Т.е. по сети будут также виден как хост, так и гостевые машины.
    Просто это позволяет получать виртуальным машинам внешние (по отношению к хосту) IP-адреса и обращение к ним будут идти по IP, они должны быть разные, естественно.

  38. mitay23 апреля 2010 ~ 14:09

    а как зайти на вновь созданную виртуальную машину через консоль?
    (ни хост ни, тем более, виртуалка иксов не имеют)

  39. Softovick23 апреля 2010 ~ 18:34

    Если вы создавали гостя при помощи virt-install и указали параметр «—vnc —vncport=5900» — то по указанному порту можно будет подключится любым vnc-клиентом, получите доступ к консоли. А там можно установить ssh и смело пользоваться ssh потом.

  40. foxant3 июня 2010 ~ 17:00

    Кто сказал, что под Xen нельзя установить гостевую винду?
    У меня прекрасно 2 виртуалки 2k3 работатю на одном Centos+Xen. (2x Xeon 5420, 8Gb RAM, RAID10…).
    Прекрасно работатет и на обычной ASUS материнке с процессором Intel E8400.
    Конечно, под E2160 и им подобным можно запустить только паравиртуальные машины. Для полной виртуализации нужен процессор, который поддерживает виртуальные технологии.

  41. Юрий5 июня 2010 ~ 15:56

    Как у KVM и XEN с 3d акселерацией? Переезжаю с винды. Для тестов тестов мне за раз приходится поднимать по 5-7 виртуалок на VMWare c директ 3D.
    Хочется вообще отказаться от Xсов в пользу скорости работы виртуалок, но нормальная работа 3.0 шейдеров очень важна.

  42. Softovick7 июня 2010 ~ 10:28

    Нет под Linux в виртуалках Direct3D и врядли будет….

  43. Юрий5 июня 2010 ~ 15:58

    Гости WinXP

  44. я23 марта 2011 ~ 00:22

    ос умеет передовать полное управление видеокартой гостевой ос

  45. я23 марта 2011 ~ 00:23

    *Xen умеет

  46. mackuz26 ноября 2012 ~ 14:31

    «Я использую под системные разделы («/», «/home», swap) жесткий диск IDE, дабы не иметь проблем при работе системы при установке на RAID-массив (а они есть)

    А какие могут быть проблемы? Они возможны на любом RAID? Или аппаратному, на хорошем сервере они не грозят?

    Спасибо за статьи, они очень полезны.

  47. Softovick26 ноября 2012 ~ 14:45

    Проблема не в RAID, а в том, что ОС некорректно загружается с софтового RAID, по крайней мере на тот момент нормального решения не было. Сейчас, насколько мне известно, оно уже это умеет, хотя и не всегда может быть тривиально. Я просто решил не заморачиваться и пользоваться IDE как старым проверенным способом, не более.
    Если RAID аппаратный, то для ОС в этом случае вообще прозрачно — 1 там диск или 10, она работает уже через контроллер, тот сам распределяет. Там с загрузкой не будет проблем.

  48. mackuz26 ноября 2012 ~ 14:52

    Спасибо за оперативный ответ!

  49. сергей25 июля 2014 ~ 01:50

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

Ваш комментарий

*