Метка «qemu»

При создании корневых дисков виртуальных машин, обычно, на них с помощью fdisk/gdisk создается таблица разделов с единственным разделом для размещения на нем операционной системы. Это порождает некоторые неприятности на стороне гипервизора, например:

  • При монтировании диска нужно помнить, что монтируется не само блочное устройство, а раздел на нем. Проблема усугубляется если используется lvm-диск — ядро не видит разделы на нем без применения средств убеждения в виде kpartx.
  • Для восстановления раздела требуется не только резервная копия файловой системы, но и бубен/копия первого трека.
  • Изменение размера такого диска требует еще одного бубна лишней операции по изменению размера раздела на диске

Избавиться от таблицы разделов можно прямой загрузкой ядра, но этот метод не безгрешен. Гипервизор должен иметь на своей стороне образы ядер виртуальных машин, которые нужно поддерживать актуальными при обновлениях гостевых ОС.
Хочу рассказать вам об альтернативном варианте загрузки с диска без разделов с помощью EFI и GRUB2.
Читать полностью »

В этой короткой заметке я хочу рассказать о том, как подготовить тестовый стенд для работы с мультикастом.
Для меня самого эта задача была очень актуальной при подготовке девятого выпуска Сетей Для Самых Маленьких.
Хочется ведь не просто увидеть циферки в консоли, а посмотреть видео.

В качестве эмулятора мы будем использовать GNS.

Поясняющее наглядное видео.

Для примера мы возьмём вот такую сеть:

Микровыпуск СДСМ. Подготовка лаборатории для мультикаст в GNS3

Здесь R1 олицетворяет собой IP-сеть, редуцированную до одного узла — это в общем-то не имеет значения.
Главный вопрос: что будет на месте мультикастового сервера и клиента.
Читать полностью »

Создание виртуальной машины QEMU + соединение с сетью средствами qemu bridge helper (Arch Linux 2013.12.01)

Создание виртуальной машины не очень сложное дело, но нужная информация раскидана по разным сайтам. Будем считать, что программа QEMU уже установлена. Для начала нужно создать пустой образ диска:

sudo qemu-img create -f raw u1310 10G

Теперь настроим сеть в режим сетевого моста для проброса сети к виртуальной машине. Копируем /etc/netctl/examples/bridge в /etc/netctl/bridge и редактируем:Читать полностью »

Как запустить программу без операционной системы: часть 2

В первой части нашей статьи мы рассказали о том, каким образом можно получить простую программу “Hello World”, которая запускается без операционной системы и печатает сообщение на экран.

В этой части статьи, хочется развить получившийся в первой части код таким образом, чтобы он мог быть отлажен через GDB, компилировался через оболочку Visual Studio и печатал на экран список PCI устройств.

! ВАЖНО!: Все дальнейшие действия могут успешно осуществляться только после успешного прохождения всех 6-ти шагов описанных в первой части статьи).

Читать полностью »

Приветствую вас, читатели!

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

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

Disclaimer

Поправьте, если не так, но в поиске я не нашел реализации данной задачи именно на CentOS с подробным описанием всех шагов для новичков.
Хорошая серия статей написана librarian, но они для Debian.
Естественно, для бывалых админов, в этом никакой проблемы нет, но повторюсь, моя задача — описать подробную инструкцию для новичков.

Вопрос: в Интернете есть множество руководств для установки Qemu KVM под CentOS, возразите вы, и чем же данная статья будет интересна?
Ответ: здесь описывается полный цикл установки и настройки необходимых для виртуализации компонентов, установка гостевых виртуальных машин (ВМ), настройка белой и серой сети для ВМ, а также некоторые аспекты, которые помогут упростить управление ВМ, используя проброс графики с удаленного сервера на свой ПК и запуском virt-manager.

Помните 7 шагов?
Читать полностью »

Вышла в свет новая версия эмулятора QEMU, которая ознаменовывает окончание слияния двух веток веток разработки KVM и QEMU. Это означает что теперь можно использовать "Ванильное" QEMU для запуска ваших виртуальных машин KVM. Больше не потребуется специальная версия QEMU оптимизированная для KVM. Многие другие  отличительные особенности и и улучшения стали доступны с этим релизом, среди них значительное улучшение в USB3, живое зеркалирование дисков, поддержка томов glusterfs и улучшенная поддержка старого VGA режима.

Больше информации в официальном списке изменений.

Новая версия доступна к загрузке на Читать полностью »

Задача: Запустить, настроить n (в примере будем запускать 3) qemu машин с ОС ubuntu-12.04.1-server-amd64-1шт. и FreeBSD-9.0-RELEASE-amd64. Версия amd64 является рекомендованной разработчиками ubuntu.

1. Инсталляция (Не забываем обновить порты товарищи BSD'дельники)


main [16:54:emulators/qemu]# cd /usr/ports/emulators/qemu                                                 
main [16:55:emulators/qemu]# make install clean


                                                                  

Итак:


main [17:25:emulators/qemu-devel]# pkg_info | grep «qemu»                                                 
kqemu-kmod-devel-1.4.0.p1_5 Kernel Accelerator for QEMU CPU Emulator (development versi
qemu-0.11.1_11 QEMU CPU Emulator                                                                                
main [17:25:emulators/qemu-devel]# 


                                                                                   
Ускоритель и процессорный эмулятор установлены.

2. Создание рабочего пространства и настройка окружения

main [17:40:/usr/QEMU]#mkdir —p /usr/QEMU/UbuEx1


Скачаем образ загрузочного диска ubuntu-12.04.1-server-amd64.iso с официального сайта. Загружаем модули ядра и добавляем их в loader.conf (создаем при необходимости)


main [17:53:/usr/QEMU]# touch /boot/loader.conf
main [17:53:/usr/QEMU]# echo 'kqemu_load=&aquo;YES»' > > /boot/loader.conf
main [17:53:/usr/QEMU]# echo 'aio_load=&aquo;YES»' > > /boot/loader.conf


kqemu.ko — Модуль акселерации.
aio.ko — Модуль асинхронного ввода-вывода.

Или можно добавить модуль aio в ядро, так же для эмуляции работы в сети нам потребуется устройство tap, а следовательно в ядро необходимо подгрузить следующие модули:


options VFS_AIO
device tap
options IPFILTER
options IPFILTER_LOG

main [17:53:/usr/QEMU]# cd /usr/src
main [17:53:/usr/QEMU]# make buildkernel KERNCONF=< kernel_name >

main [17:53:/usr/QEMU]# make installkernel KERNCONF=< kernel_name >

main [17:53:/usr/QEMU]# shutdown —r now


Если не подгрузить модуль aio.ko то QEMU упадет с криком:


Bad system call: 12 (core dumped)


В том случае если вы планируете налаживание сетевого взаимодействия между хостовой FreeBSD и гостевыми системами необходимо так же загрузить седующие модули:


main [18:14:~]# kldload if_bridge
main [18:14:~]# kldload if_tap


После перезагрузки мы увидим, наши модули как погруженные в ядро:


main [18:22:~]# kldstat
Id Refs Address Size Name
1 28 0xffffffff80200000 1203808 kernel
2 1 0xffffffff81404000 2bdd0 kqemu.ko
3 1 0xffffffff81612000 42a7 linprocfs.ko
4 1 0xffffffff81617000 1e00b linux.ko
5 1 0xffffffff81636000 1582 fdescfs.ko
6 1 0xffffffff81638000 64b00 radeon.ko
7 1 0xffffffff8169d000 13a2b drm.ko
8 1 0xffffffff816b1000 2655 if_tap.ko
9 1 0xffffffff816b4000 55fe if_bridge.ko
10 1 0xffffffff816ba000 353d bridgestp.ko


bridgestp.ko — подгрузился автоматически.

Далее убедитесь что ваша основная шина IDE-master подерживает тенологию DMA (сейчас ее поддерживает большенство архитектур)

Так как неободимые модули ядра уже загружены — продолжим подготовку хостовой ОС к предстоящей настройке сети в гостевой ОС. После загрузки модуля if_tap.ko, среди сисемных переменных появятся те, которые регулируют работу интерфесов tap*. Нас интересует две —


main [19:26:~]# sysctl -a | grep «net.link.tap»
net.link.tap.debug: 0
net.link.tap.devfs_cloning: 1
net.link.tap.up_on_open: 0
net.link.tap.user_open: 0


net.link.tap.up_on_open — переводит интерфес в положение up, когда открыт /dev/ tap. net.link.tap.user_open — позволит пользователям открывать /dev/tap. Для ограничения использования устройств /dev/tap* изменим его владельца и права доступа к нему. Это можно сделать задав правила devfs в файле /etc/devfs.rules, по умолчанию в FreeBSD 9.0 его нет, поэтому создаем.


main [20:12:~]# touch /etc/devfs.rules
main [20:18:~]# echo "[sysqemu=11]" >> /etc/devfs.rules
main [20:17:~]# echo «add path 'tap*' mode 0660 group qemu» >> /etc/devfs.rules


Теперь изменим переменные:


main [20:20:~]# sysctl net.link.tap.user_open=1
net.link.tap.user_open: 0 -> 1
main [20:21:~]# echo net.link.tap.up_on_open=1
net.link.tap.up_on_open=1


Теперь подготовим сеть. Мне необходимо, чтобы ко всем машинам можно было подключиться снаружи по IP и они имели выход в локальную сеть виртуалных машин. Итак необходимо создать bridge интерфейс объеденив в него 3 tap интерфейса.
Читать полностью »

Новое ядро предлагает гибридную резервную функцию, может отрезать питания для «PCI» микросхем и включает в себя новую платформу для пользовательских драйверов. Другие новые функции включают в себя усовершенствования системы безопасности для временного каталога, а также квоты и резервное копирование для «Btrfs».

Линусу Торвальдсу и его товарищам разработчикам потребовалось десять недель, чтобы завершить теперь уже выпущенную версию «Linux 3.6». Новая версия, названная «Terrified Chipmunk», предлагает целый ряд новых возможностей, как для домашних пользователей, так и для профессиональных системных администраторов.

Управление энергопотреблением

Новая функция «Suspend to Both» снабжает «Linux 3,6» гибридным резервным потенциалом. «Mac OS X» и «Windows», предлагали такую функцию в течение некоторого времени. Данная функция позволяет компьютеру во время спящего режима хранить данные, как в оперативной памяти, так и на системном диске. Таким образом, система, которая находится в спящем режиме, как правило, просыпается в течение нескольких секунд, как будто пробуждается от «Suspend-To-RAM» (ACPI S3), однако, если во время спящего режима пропало питание (села батарея), то система восстановит данные оперативной памяти с жёсткого диска, как и после «Suspend-to-Disk» (Hibernate). В нашем коротком тесте с более старенькой системой и жёстким диском ёмкостью в 250 ГБ, «Suspend-to-Both» работал как и предполагалось. Он требовал около 16-ти секунд, чтобы уйти в спящий режим — в четыре раза дольше, чем с «Suspend-To-RAM» и также долго, как это требуется для «Suspend-To-Disk».

Ядро «Linux» версии 3.6 может отправлять Читать полностью »

Живая миграция виртуальных машин в ProxMox VE 2.x Недавно был поднят вопрос об использовании VmWare vMotion в небольшом кластере гипервизоров, однако цена данной возможности заставила немного пошевелиться в поисках альтернатив.

Так родился небольшой тестовый дайджест по настройке и эксплуатации возможности Live Migration виртуальных машин на основе QEMU в ProxMox VE 2.1 с использованием iSCSI NAS.

Нужно сказать что во второй версии ProxMox VE, девелоперы избавились от центральной ноды менеджмента кластера. Теперь ее роль может исполнять любая нода кластера, «был бы кворум» (с)

Читать полностью »

Управление облаком на open source софтеВ последнее время очень модными стали решения по построению облачных систем, облака строят все кому не лень. Для конечного пользователя все прозрачно: «Вот тебе точка входа, вот там твои ресурсы — используй!» И мало кто из них задумывается о том, как оно все устроено внутри. Да и не надо им знать, в сущности. Однако, людям, которые заняты как раз конфигурированием подобных систем, очень интересно, а как же это работает у других? И главное — на чем?
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js