FastNetMon

Показаны сообщения с ярлыком kvm. Показать все сообщения
Показаны сообщения с ярлыком kvm. Показать все сообщения

понедельник, 5 сентября 2011 г.

воскресенье, 24 июля 2011 г.

Немного мыслей про виртуализацию - Linux KVM

Имхо, это не так. Сама по себе технология Xen с архитектурной точки зрения весьма проблемна и сложна в поддержке, об этом уже столько всего сказано, что могу лишь как ссылку привести список рассылки KVM, почему и зачем его начали писать.

Разумеется, текущее состояние KVM далеко от production-ready решений по виртуализации от конкурентов, но все движется к тому, что в районе RHEL 6.2-6.4 это будет очень и очень серьезная технология, которая потеснит текущих игроков рынка и сильно. Не буду углубляться в подробности, но одно лишь рвение Intel в ее (KVM) развитии стоит внимания да и не только Intel, кому интересно: http://www.openvirtualizationalliance.org/ в данном консорциуме состоят Intel, HP, IBM, Red Hat. Конечно, я не умаляю крутости Ситрикса и VmWare, но с такой могучей четверкой еще надо потягаться будет.

А вот несколько слов от одного из ведущих разработчиков KVM - Avi Kivity, http://kerneltrap.org/node/8088 в его интервью очень хорошо объясняется, в чем отличия KVM от других систем виртуализации.

Изначально опубликовано: http://forum.searchengines.ru/showthread.php?p=9229954

четверг, 22 апреля 2010 г.

error: failed to add iptables rule to allow forwarding to 'virbr0': Invalid argument

virsh net-start default
error: Failed to start network default
error: failed to add iptables rule to allow forwarding to 'virbr0': Invalid argument


Apr 22 09:47:00 CentOS-54-64-minimal kernel: virbr0: starting userspace STP failed, starting kernel STP
Apr 22 09:47:00 CentOS-54-64-minimal avahi-daemon[3500]: Registering new address record for 192.168.122.1 on virbr0.
Apr 22 09:47:00 CentOS-54-64-minimal libvirtd: 09:47:00.348: error : internal error '/sbin/iptables --table filter --insert FORWARD --destination 192.168.122.0/255.255.255.0 --out-interface virbr0 --match state --state ESTABLISHED,RELATED --jump ACCEPT' exited with non-zero status 1 and signal 0: iptables: Unknown error 18446744073709551615
Apr 22 09:47:00 CentOS-54-64-minimal libvirtd: 09:47:00.348: error : failed to add iptables rule to allow forwarding to 'virbr0': Invalid argument
Apr 22 09:47:00 CentOS-54-64-minimal avahi-daemon[3500]: Interface virbr0.IPv4 no longer relevant for mDNS.
Apr 22 09:47:00 CentOS-54-64-minimal avahi-daemon[3500]: Leaving mDNS multicast group on interface virbr0.IPv4 with address 192.168.122.1.
Apr 22 09:47:00 CentOS-54-64-minimal avahi-daemon[3500]: Withdrawing address record for 192.168.122.1 on virbr0.


Ядро 2.6.33.2 и не работает :(((

Установка виртуализации KVM на CentOS 5.4+

Действовать мы будем по официальным мануалам от Red Hat: http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Virtualization_Guide/index.html и статье "Виртуализация — это просто" LXF 12/125.

Офсайт проекта KVM: http://www.linux-kvm.org/page/Main_Page

Проверяем, можем ли мы на данный сервер поставить KVM

Во-первых, у нас должен быть CentOS / RHEL версий старше 5.4:
cat /etc/redhat-release
CentOS release 5.4 (Final)


Во-вторых, проверяем поддержку процессором аппаратной виртуализации:
egrep 'vmx|svm' --color /proc/cpuinfo


В ответ на это для каждого ядра:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm

Установка требуемого ПО

Ставим сам kvm, модуль ядра:
yum install kvm


Ставим libvirt и его обвязку для Python:

yum install -y libvirt libvirt-python


Ставим утилиту для удобной установки вирт машин:

yum install -y python-virtinst


Запускаем libvirtd:
/etc/init.d/libvirtd start


Убеждаемся, что libcirtd добавился в автозапуск:
chkconfig --list | grep virt
libvirtd 0:off 1:off 2:off 3:on 4:on 5:on 6:off


Установка VPS, создание образа

Для этого поставим CentOS 5.4 в вирт машину, для этого заюзаем утилиту virt-install (вот для того, чтобы понять, как избавиться от "Connected to domain myvps Escape character is ^]" мне пришлось изрядно прогуглить):

virt-install --connect qemu:///system --name mykvmvps --ram 1024 --file /var/lib/libvirt/images/mykvmvps.img --file-size 10 --location http://mirror.yandex.ru/centos/5.4/os/x86_64/ --network network:default --hvm --accelerate -x console=ttyS0


После этого запустится инсталлятор CentOS, где на свое усмотрение ставите машину с требуемыми настройками. В результате же установки конфиг виртуальной машины создастся в папке /etc/libvirt/qemu, а диск в папке /var/lib/libvirt/images.

Управление виртуальными машинами

Для управления VPS на базуе KVM есть две основных утилиты от RedHat: virt-manager (графическое приложение) и virsh. Обе они работают через libvirt (абстрактный относительно типа системы виртуализации API для управления). Разумеется, мой выбор — virsh.

суббота, 17 апреля 2010 г.

Поддержка виртуализации kvm в RHEL/CentOS 5.4

Начиная с версии 5.4 в RHEL появилась поддержка kvm виртуализации! Причем, без каких-то левых репозиториев и сомнительных мануалов :)

Итак, встречайте, официальный мануал:
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Virtualization_Guide/index.html


Разрешаю обзывать меня ретроградом за такие новости на фоне выхода RHEL 5.5, но все же :) В ближайше время ждите мануал по поднятию виртуалки на базе KVM по CentOS 5.4 x86_64.

среда, 5 сентября 2007 г.

Виртуализация в openSUSE 10.2 x86_64 c помощью QEMU и kvm, практическая реализация

Установка QEMU

С установкой самого QEMU все достаточно просто, вот, например, отличная ссылка по данной теме: тут. Хотя я сам немного схавлявничал, скачав руками с репозитория файлик qemu-0.8.2-22.x86_64.rpm и поставив его командой
rpm -ihv qemu-0.8.2-22.x86_64.rpm


Для проверки правильности установки можете скачать образ freedos c сайта http://fabrice.bellard.free.fr/qemu/download.html и запустить его командой
qemu-system-x86_64 freedos.img
(ну конечно же на забыв распаковать его из архива).

Стоп, а что если мы работает на платформе x86_64 ? Вот как раз по данному поводу есть небольшая ремарка на сайте с документацией к QEMU (http://fabrice.bellard.free.fr/qemu/kqemu-doc.html#SEC7), а именно: "If you use kqemu on an x86_64 host, you must use `qemu-system-x86_64' instead of `qemu'", так что для всех пользователе 64 битной платформы родной становится программа qemu-system-x86_64, которая при запуска того же freedos конастатирует весьма неприятный факт, kvm отключен "Could not open '/dev/kqemu' - QEMU acceleration layer not activated", но тем не менее продолжает отлично работатать, хоть и медлненней, но это не надолго, сейчас мы решим и проблемы со скоростью.

Установка поддерржки kvm

Вот по данной теме есть две отличные статьи: оригинал, перевод, описывающие установку поддержки kvm посредством рпм пакетов.

Сам настраивал по данным мануалам и хотел бы сделать некоторые добавления, а именно то, что для запуска kvm модулей ядра нужно использовать команды:
modprobe kvm и modprobe kvm-amd (или kvm-intel)
и после этого запускать образы ОС посредством команды
qemu-kvm
которая сразу же проинформирует об ошибке, если не найдет модули kvm.

И все же у меня все ещё остались некоторые вопросы, буду рад если кто-то мне пояснит их - мы установили модули kvm и добились их стабильного функционирования, а тогда что такое модуль ядра kqemu, который цепляется как устройство /dev/kqemu и очень любим приложением qemu-system-x86_64?

Ну вот теперь точно все, приятной Вам виртуализации)

Виртуализация в openSUSE 10.2 x86_64 c помощью QEMU и kvm, введение.

Вы должно быть заметили, что последнее время начался бум всевозможных технологий виртуализации и соответственно самих эмлуяторов (Parallels Desktop, QEMU, Xen, vmware, VirtualBox и проч.) это и не случайно, ведь данные технологии предоставляют невиданые ранее удобства в масштабировании и интеграции всевозможных система, чего только стоят решения vmware для корпоративных клиентов, позволяющие создавать в целые виртуальные вычислительные среды на основе кластеров, причём отдельные элементы этих ВС являются виртуальными машинами, которые могут в случае сбоя одного из элементов кластера (уже физического) быть автоматически перемещены на другой физический сервер.

Также учитывая мощности (зачастую 2х и более ядерных) современных систем можно без проблем держать несколько виртуальных машин на некоторой хост операционной системе, например почтовый сервер от MS или сервер 1С можно спокойно держать в виртуальной машине. У меня собственно необходимость в виртуализации встала, когда потребовалось поставить программы, которые работают либо только под виндовс, либо под дос (да, увы, и такие архаизмы встречаются), а сервера (впрочем, как и рабочие станции, находящиеся в моём распоряжении) работают исключительно на Линуксе.

Для начала краткий экскурс по технологиям.
QEMU is a generic and open source machine emulator and virtualizer.

When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performances.

When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. A host driver called the QEMU accelerator (also known as KQEMU) is needed in this case. The virtualizer mode requires that both the host and guest machine use x86 compatible processors.

Тут вроде итак все понятно, Qemu представляет собой платформу для эмуляции систем (а также других платформ, например Arm).
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream.

Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.

The kernel component of KVM is included in mainline Linux, as of 2.6.20.

KVM is open source software.

Тут, конечно, как в предыдущем случае двумя словами обойтись нельзя, но я постараюсь - kvm представляет собой модули для ядра Линукса, которые позволяют достичь очень высокой производительности виртуальных систем (до 50% мощности хостовой операционной системы).

Для заинтересовавшихся привожу официальные сайты этих проектов:
- QEMU
- kvm

В следующих публикациях будут пошаговые инструкции по конкретной реализации описанных технологий.