Qemu где хранятся файлы xml
Данная статья — это обобщение информации, накопленной за время использования гипервизора Qemu-KVM. Я хочу поделиться теми знаниями опытом, которыми обладаю на данный момент. Надеюсь, что моя статья пойдет на пользу тем, кто только собирается использовать гипервизор Qemu-KVM или уже использует. И еще: статья не для новичков linux (элементарные вещи здесь рассматриваться не будут).
Про данную систему виртуализации в сети написано много. Но когда действительно начинаешь с ней работать — сталкиваешься с нехваткой информации и практических примеров применения. Итак приступим.
- процессор Atlon X2 245
- оперативная память 4 гигабайта
- жесткий диск 500 гигабайт
- материнская плата ASUS M4N68T-M LE.
- Microsoft hyper-v не подходит — платная. Компания, в которой я работаю использует только лицензионное программное обеспечение. Следовательно никто не выделит для моих целей лицензию на сервер.
- VMWARE ESXi не знает контролера SATA, расположенного на материнской плате (поскольку разрабатывалась для серверных систем).
- Qemu-kvm — свободно разрабатываемый гипервизор, поддерживает аппаратную виртуализацию. Его можно установить в любой современный дистрибутив Linux. Это по мне, его и берем.
Переходим к делу. Установку операционной среды описывать я не буду. Оговорюсь лишь, что во время установки операционной среды жесткий диск большего размера не трогал. Его время еще придет. Как установить гипервизор на Debian очень хорошо описано здесь. Лично я ставлю qemu-kvm libvirt-bin.
Гипервизор поставили, теперь немного о внутренней структуре. Есть два каталога, в которые стоит заглянуть:
/etc/libvirt/ — здесь в основном хранятся конфигурационные файлы
/var/lib/libvirt/ — здесь будут хранится образы жестких дисков, мгновенные снимки системы и многое другое.
Наш гипервизор установлен.
Далее сохраняем файл и перезагружаем компьютер.
О, чудо! Гипервизор установлен!
Дальше возникает вопрос: как управлять сервером? Управлять Qemu-kvm можно двумя программами: virt-manager и virtinst.
Virt-manager.
Эта программа рассчитана на графический интерфейс. Она поддерживает как удаленное управление виртуальными машинами, так и локальное. Но у нее есть огромный минус — аналогов для windows попросту нет.
Как лично я вышел из положения. Установил графическую оболочку LXDE и сервер xrdp, благодаря такому нехитрому набору программ мне не пришлось физически ходить к компьютеру (больно много ему чести). Я просто подключался через стандартный RDP клиент который, есть в windows. Но это дополнительная трата ресурсов компьютера.
Если вы установили virt-manager, он автоматически создает:
хранилище для образов виртуальных машин по пути /var/lib/libvirt/images
виртуальный сетевой интерфейс default.
Следовательно подмонтировать жесткий диск с большим объемом нужно в директорию /var/lib/libvirt/images.
- можно подмонтировать жесткий диск в директорию и указать его в качестве хранилища
- можно просто устройство выбрать хранилищем.
Если не создавать хранилище для образов дисков виртуальных машин, то для того, чтобы диски лежали в одном месте, нужно будет указывать полный путь к образу при его создании(много писать), а так образ создастся в указанном пуле или если он у вас единственный, то его имя указывать не обязательно. Конфигурационный файл пула будет лежать в директории /etc/libvirt/storage/ это .xml файлик. Выходим из virsh введя команду exit.
В принципе наш гипервизор установился и его можно использовать. Но есть еще маленькая мелочь, о которой хотелось бы упомянуть. А именно о том, как работает Qemu-kvm.
Запущенная на нем виртуальная машина шлет команды физическому процессору напрямую через загружаемый модуль (kvm-amd или kvm-intel). Это должен быть один из модулей, который соответствует производителю процессора (Intel или AMD).
- отключаю поддержку звука (это сервер, а не рабочая станция);
- не использую протокол IPv6 (в моей сети он не используется);
- отключаю поддержку сетевых карт wifi, wmax и все что сними связанно.
В сборке собственного ядра мне помогли вот эти статьи первая и вторая.
Забегу немного вперед. Многие люди в интернете жаловались на то, что модель сетевой карты virtio некорректно работает. Этому есть объяснение, и достаточно простое. Драйвера для этого устройства находятся в стадии экспериментальных. Зато virtio storage работают отлично.
Теперь начинаем работать с виртуальными машинами. Создаем нашу первую виртуальную машину:
virt-install --connect qemu:///system \
--name comp1 \
--ram 512 \
--vcpus=1 \
--disk pool=storage,cache=none,size=20, format= qcow2\
--disk /home/firsachi/Winxp.iso,device=cdrom \
--bridge=br0,model=e1000 \
--os-type=windows
--os-variant=winxp \
--graphics vnc,port=5901,listen=0.0.0.0
Некоторые детали хочу пояснить:
pool=storage указываем пул, в котором нужно создать диск;
cache=none это означает, что отключено кэширование записи на диск. В моем случае это образ img. При включенном кэшировании записи вдвое увеличивается время обращения к диску виртуальной машины;
size=20 размер диска в гигабайтах;
format= qcow2 это формат образа диска. Как я понял, только он поддерживает снимки системы;
model=e1000 модель сетевой гигабитной карты Intel (по умолчанию идет стомегабитный rtl8139);
port=5901 порт, на который можно обратиться с помощью Ultra VNC Viewer;
listen=0.0.0.0 разрешение подключиться со всех IP (по умолчанию слушает только localhost).
Установку можно произвести непосредственно и на устройство. Выглядеть будет так:
virt-install --connect qemu:///system \
--name comp1 \
--ram 512 \
--vcpus=1 \
--disk /dev/sdb, format= qcow2\
--disk /home/firsachi/Winxp.iso,device=cdrom \
--bridge=br0,model=e1000 \
--os-type=windows
--os-variant=winxp \
--graphics vnc,port=5901,listen=0.0.0.0
Где sdb должен быть заменен на ваше устройство.
Если все прошло успешно, то для подключения к консоли нашей виртуальной машины нужно установить Ultra VNC Viewer к себе на компьютер. В подключении нужно указать IP адрес сервера и порт, или доменное имя сервера и порт.
Как происходит установка Windows, надеюсь, знают все.
Теперь о драйверах виртуальных машин. Для установки драйверов нужны следующие образы дисков: virtio-win-0.1-30.iso и viostor-0.1-30-floppy.img
Последний диск не обязателен, он нужен только в том случае, если вы собираетесь установить windows xp или windows 2003 server на virtio storage (кстати, если так сделать, то операционная система работает быстрее).
- comp1 – имя виртуального компьютера, к которому подключаем диск.
- /dev/sdc – путь к устройству на физическом компьютере.
- Vdv — куда подключаем на виртуальной машине.
- --type – тип диска.
Во многом поможет и вот эта статья. Рекомендую также заглядывать вот сюда.
- компьютер, на котором работала виртуальная машина, сгорел (процессор Atlon X2 245).
- раз в неделю виртуальная машина выключается и делается резервная копия файла конфигурации и образа диска.
Установил на нем Qemu-KVM, переместил на него файл конфигурации виртуальной машины и образ диска. В файле конфигурации отредактировал путь к диску виртуальной машины, перезагрузил ноутбук. И, о чудо! Гипервизор не только увидел мою виртуальную машину, но и запустил ее.
Вот так теперь и живем: гипервизор Qemu-KVM, виртуальный контролер домена, и довольный проделанной работой я.
Спасибо всем, кто дочитал до конца. Надеюсь, мои мысли оказались полезными.
Каталог хранилища файлов виртуальных машин KVM расположен по адресу /var/lib/libvirt/images и как его изменить мы пошагово расскажем и покажем в этой статье.
"storage pool" - устройство хранения данных по умолчанию (с именем default) расположено по адресу /var/lib/libvirt/images , владельцем директории и хранящихся в ней файлов виртуальных машин KVM является root:root с правами доступа на каталог 755 и 644 на файлы (*.qcow2). Для изменения пути к устройству хранения данных default есть два способа: с помощью графической оболочки и с помощью коммандной строки.
Изменение параметров виртуальной машины
libvirt stores it’s configuration as xml in ‘/etc/libvirt/qemu’. The xml is easy to understand, and is similar to VMware *.vmx files. While it is possible to edit these files in place and restart libvirt-bin for the changes to take affect, the recommended method for modifying the attributes of a virtual machine is via virsh (or virt-manager, if it supports changing the hardware you want to change). The concept is simple:
- export (aka ‘dump’) the xml of the virtual machine you want to edit
- edit the xml
- import (aka ‘define’) the xml
For example, to edit the machine named ‘foo’ (you can get a list of your machines with ‘virsh list —all’), do:
Добавление USB устройства
Определите Vendor ID и Product ID.:
Для подключения Broadcom Corp. Bluetooth Controller vendor и product id это 0a5c и 2110. Эти значения нужно добавить в xml профиль. Выполните virsh edit .:
Ограничения для USB устройств в KVM
- USB протокол 1.1
- Устройство должно быть подключено до запуска KVM
- Нужны изменения Apparmor
Добавление USB устройств
Изменение Apparmor
Для получения доступа к USB устройствам требуются изменения в настройках apparmor. Отредактируйте /etc/apparmor.d/abstractions/libvirt-qemu и раскомментируйте строки.:
После изменения настроек apparmor нужно перезапустить.:
Способ 2: Программа коммандной строки Virsh
Ещё одним способом изменения пути к хранилищу default является утилита коммандной строки virsh . Сначала сделаем дам конфигурации в виде XML:
Теперь откроем файл в любом удобном для нас редакторе и изменим путь в элементе на тот, который нам нужен:
Удалим текущий пул с именем default:
Создадим новый изуже обновлённого дампа pool.xml:
Добавление памяти
To change the memory allocation in a VM, dump the xml as above, then edit your xml to have:
Now define the VM as above. Keep in mind that the memory allocation is in kilobytes, so to allocate 512MB of memory, use 512 * 1024, or 524288.
Создание, запуск, установка и уничтожение ВМ — define, undefine, start, shutdown, destroy
Виртуальные машины, которые вы видите с командой list —all — являются «defined». Каждая виртуальная машина настраивается через XML файл в каталоге /etc/libvirt/qemu. Если вы хотите удалить ВМ из списка определенных в системе виртуальных машин, вам нужно использовать команду undefine:
Чтобы выполнить undefine нужно предварительно остановить виртуальную машину:
Команда shutdown пытается завершить работу гостевой операционной системы, используя ACPI.
Вы также можете использовать destroy. Эта команда мгновенно отключит виртуальную систему, как если вы выключите кабель питания из компьютера.
Если вы изменили файл конфигурации виртуальной машины, вам нужно сообщить об этом KVM перед перезапуском ВМ.
Теперь можно запустить виртуальную машину:
Приостановка и продолжение работы виртуальных машин
Virsh позволяет приостановить и затем продолжить работу виртуальной машины
Virsh — управление виртуальными машинами KVM: 2 комментария
Здравствуйте, а какими еще способами можно удалить виртуальную машину? Через ctrl + c еще можно же? Один из способов это destroy и undefine, а вот еще какие есть?
Ctrl + C врядли поможет с этим — это сочетание для прерывания текущей задачи, запущенной в консоли прямо сейчас.
Вируальные машины запускаются «гипервизором», который работает в фоне.
В этом howto мы с вами просто и быстро, шаг за шагом, запустим гипервизор Qemu-KVM в debian 8.
Будем запускать виртуальную машину в qemu-kvm от пользователя username, используя spice, qxl и virtio.
Предполагается, что установлен Debian 8 amd64, с выбранными в tasksel стандартными утилитами и SSH сервером. Доустановим.
Проверим, поддерживает ли наш процессор виртуализацию:
Включим форвардинг, net.ipv4.ip_forward=1
Создаем мост br0
Примерный вид /etc/network/interfaces
Проверим, должно быть похоже «br0 8000.08608ee7dc58 no eth0»
Используя мост, при старте виртуальной машины будут подниматься vnetX интерфейсы
Добавляем пользователя в группы kvm:
Разрешим доступ для spice и сменим пользователя, под которым все будет работать:
spice_listen = «0.0.0.0»
user = «username»
group = «username»
По большому счету всего готово к работе.
Без запущенных виртуальных машин хост-система занимает ~150 mb ram
GUI менеджер для выполнения базового ряда задач при работе с kvm.
Создание, запуск/остановка, клонирование — почти :) все, что нужно.
На другом компьютере устанавливаем:
Запускаем virt-manager.
Файл -> добавить соединение -> Гипервизор: QEMU/KVM и подключаемся к удаленному хосту под нашим пользователем username. Авторизация использует openssh-askpass.
Правка -> свойства подключения — Хранилище
Тут можно управлять хранилищами — например, создать qemu-iso-storage и положить туда дистрибутивы для дальнейших нужд. Например, gparted
К созданной виртуальной машине можно подключится простым вивером со всем функционалом, что предоставляет spice.
Для этого необходимо узнать URI домена/вирт.машины на kvm
На клиенте запустим:
Тоже самое другим вивером, который spice-client-gtk:
В продвинутом варианте при создании новой виртуальной машины существует баг.
В настройках, где выбираем spice-сервер или vnc-сервер, нельзя выбрать spice, не включив TLS.
Само по себе TLS в qemu по умолчанию не используется и, соовественно, выключенно.
Если TLS пока не нужно, можно временно запустить вирутальную машину с vnc-сервером, что бы в /etc/libvirt/qemu/ создался corn.xml и заменить в нем секцию на spice с выключеным TLS.
Продолжаем конфигурировать под root
Определяем пулы — где все будет лежать
конфигурации storage хранятся тут /etc/libvirt/storage/
по умолчанию есть default.xml — хранилище на файловой системе в /var/lib/libvirt/images
Добавляем свое qemu-test-storage:
*-as создает хранилище аналогичное дефолту, т.е. по конфигурации такое же как в default.xml
По умолчанию пул не запущен, стартуем:
Добавляем созданный пул в автостарт:
Посмотреть все пулы:
Регистрируем домен (виртуальную машину) с конфигурацией, описанной в файле corn.xml
Создать xml с конфигурацией (например, для шаблона) проще через virt-manager, чем описывать каждую опцию в virt-install.
Все конфигурации виртуальных машин хранятся в /etc/libvirt/qemu/
Вообщем, предполагается, что у нас есть этот файл.
Добавить домен в автозагрузку:
Текущая конфигурация домена:
Стартуем домен, смотрим URI и подключаемся любым доступным способом.
Теперь расширим том домена.
Воспользуемся qemu-img — QEMU disk image utility. В нашем случае том corn.qcow2
Наблюдение — windows 7 мало 10GB, что бы разом выкачать все из центра обновлений и корректно их установить.
Бывает полезно сначало установить «Обновление для Windows 7 (KB2852386)» — позволяет худо-бедно (читай, никак) очищать C:\Windows\winxsx через стандартную «очистку диска» и между перезагрузками, а после использовать центр обновлений.
Минимально достаточно следующего:
Затем добавляем устройство CD-ROM, «вставляем туда gparted» и все как обычно. Русский язык — 24.
По хорошему надо использовать libguestfs-tools или resize2fs
Как и было обещано в предыдущей статье, сегодня мы поговорим о базовой настройке хост-машины для работы KVM.
Для начала необходимо узнать, есть ли у нашего процессора необходимые инструкции для поддержки виртуализации.
$ egrep '(vmx|svm)' /proc/cpuinfo
Если есть — это замечательно.
Подготовка операционной системы
Установку Debian Squeeze я, пожалуй, описывать не буду: если уж вы добрались до KVM, то установка системы — плёвое дело.
Устанавливать нужно будет 64-битную OS, поскольку необходимые пакеты есть только для этой архитектуры.
В Debian Squeeze «свежесть» пакетов с KVM и сопутствующих программами нас совсем не устраивает, поскольку очень много всяких фиксов и фич попросту пройдут мимо нас. Поэтому мы добавим репозитории Debian Sid и experimental:
Указываем, что у нас базовый дистрибутив stable, а не то, что подумала система:
Оттуда нам понадобятся пакеты:
Из стабильного репозитория нам будут нужны:
На вашем рабочем десктопе вы можете поставить virt-manager (GUI-утилита), который позволит удобно создавать нужные конфигурации виртуальных машин.
Ядро чем «свежее» — тем лучше (в известных пределах конечно: из git, например, я бы ставить не рекомендовал). Хорошим вариантом будет 2.6.39, вышедшее недавно.
Следует отметить, что в стандартном ядре отсутствует модуль для поддержки записи в UFS2, и если планируется запускать гостевую FreeBSD, потребуется собрать ядро с этим модулем. Ну и, конечно, в Debian-овском ядре отсутствуют свежие версии cgroups.
Что должно быть включено в ядре для использования максимального объема требуемого функционала:
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
CONFIG_CGROUP_SCHED=y
CONFIG_BLK_CGROUP=y
CONFIG_NET_CLS_CGROUP=y
Затем идём по ссылке и устанавливаем все deb-пакеты оттуда, копируем insmod.static в /sbin/insmod.static (это нужно, поскольку в работе libguestfs использует статически скомпилированную версию insmod, а в Debian и Ubuntu такого файла просто нет, однако в последней версиии febootstrap эту проблему устранили, insmod.static более не нужно загружать на сервер). libguestfs позволяет нам получать доступ к диску VDS через API libguestfs(C, Perl, Python, PHP) или через утилиту guestfish.
Первый блин
Сейчас мы установили все, необходимое для запуска VDS, их доступа в сеть и установки самой виртуальной машины.
Давайте попробуем что-нибудь поставить, например, тот же самый Debian. Пока без настройки сети, просто, по умолчанию.
Скачиваем установщик netinstall:
Редактируем /etc/libvirt/qemu.conf, чтобы виртуальные машины работали у нас от непривилегированного пользователя:
user = "username"
group = "libvirt"
Поскольку у нас будут использоваться tun-устройства, нужно выставить capability CAP_NET_ADMIN, сделать это можно как для отдельного исполняемого файла, так и для пользователя в целом, или настроить чтобы libvirt не сбрасывал нужные права для qemu/kvm.
Выставляем для отдельного файла:
sudo setcap cap_net_admin=ei /usr/bin/kvm
Или выставляем для пользователя в целом в файле /etc/security/capability.conf:
Или выставляем соответствующую настройку в /etc/libvirt/qemu.conf:
Добавим пользователя в группу libvirt и kvm:
Запустим установку виртуальной машины:
$ virt-install --connect qemu:///system -n debian_guest -r 512 --arch=i686 --vcpus=1 --os-type=linux --os-variant=debiansqueeze --disk debian-6.0.1a-i386-netinst.iso,device=cdrom --disk debian_guest.img,bus=virtio,size=2,sparse=false,format=raw --network=default,model=virtio --hvm --accelerate --vnc
Подробно разберём параметры, которые мы указали:
- --connect qemu:///system URL, по которому мы подключаемся к KVM. Подключаться можно через ssh.
- -n debian_guest Имя гостевой системы.
- -r 512 Выделяемый объём оперативной памяти в мегабайтах.
- --arch=i686 Архитектура гостевой операционной системы.
- --vcpus=1 Количество виртуальных процессоров, доступных гостю.
- --os-type=linux --os-variant=debianlenny Специфичные для данной операционной системы параметры.
- --disk debian-6.0.1a-i386-netinst.iso,device=cdrom Загружаемся с диска, образ которого указали.
- --disk debian_guest.img,bus=virtio,size=2,sparse=false,format=raw Создаём образ системы размером 2Гб, который сразу помещаем на диск (можно создать образ нулевого размера, но тогда возможна фрагментация, что получается несколько медленнее). Формат простой, можно сделать с dd файл. Драйвер диска virtio, использовать лучше virtio, чем ide: производительность их отличается если не на порядок, то в разы.
- --network=default,model=virtio Сетевые настройки по умолчанию. В этом случае libvirt создаст мост, сделает dhcp сервер и выдаст через него адрес для доступа виртуальной машины.
- --hvm Полная виртуализация — то есть, можно использовать собственные ядра.
- --accelerate Работа через /dev/kvm.
- --vnc Запускаем VNC, чтобы подключаться к текстовой консоли.
Утилиты настройки и управления
Для управления установкой и для клонирования виртуальных машин у нас есть две замечательные утилиты — графическая и консольная: virt-manager и virsh, соответственно. Конечно, консольная версия намного богаче по возможностям, но ничто не сравнится с видом графиков, от которых сердце сисадмина млеет.
Думаю с virt-manager вы и сами разберётесь, давайте попробуем покопаться в консольных внутренностях virsh. Вот несколько команд которые стоит выполнить и посмотреть что из этого получится:
$ virsh --connect qemu:///system list --all
$ virsh --connect qemu:///system dominfo debian_guest
$ virsh --connect qemu:///system stop debian_guest
Чтобы тысячу раз не писать --connect qemu:///system, добавьте:
export VIRSH_DEFAULT_CONNECT_URI= qemu:///system
В .bashrc или просто выполните эту команду в терминале.
Подготовка сети
В официальной документации предлагается использовать несколько вариантов организации сети: NAT, bridged и прямое использование сетевых карт. И, к сожалению, в различных примерах, которые я нашел в сети и на официальном сайте, рассматриваются только NAT и bridged сети.
В моей конфигурации используются TUN/TAP устройства, на которые с eth0 маршрутизируется трафик. Коротко опишу, почему выбран именно такой способ маршрутизации:
NAT нам не подходит, поскольку каждая VDS должна быть доступна из сети напрямую.
Схема с мостами не очень надёжная, поскольку теоретически есть возможность «захвата» IP адреса чужой виртуальной машины.
Итак:
Данный участок конфигурации нужно указывать непосредственно в конфигурационном файле гостя, расположенного по адресу /etc/libvirt/qemu/debian_guest.xml. Редактировать лучше всего через:
$ virsh edit debian_guest
Тогда конфигурация обновится на лету, при условии, что машина не запущена. В противном случае нужно будет подождать, пока она остановится, и запустить ее снова.
Создадим необходимое нам виртуальное устройство.
Для начала нам нужно дать нашему пользователю возможность беспарольного обращения к системным командам. Для этого добавим в sudoers:
Cmnd_Alias QEMU = /sbin/ifconfig, /sbin/modprobe, /usr/sbin/brctl, /usr/sbin/tunctl, /sbin/sysctl, /bin/ip, /usr/bin/cgcreate, /usr/bin/cgdelete, /sbin/tc
username ALL=(ALL:ALL) NOPASSWD: QEMU
Включим возможность форвардинга и проксирования arp-запросов:
sudo sysctl net.ipv4.conf.all.forwarding=1
sudo sysctl net.ipv4.conf.all.proxy_arp=1
Также можно добавить эти параметры в /etc/sysctl.conf и применить их:
Создадим виртуальную сетевую карту и поднимем устройство:
sudo tunctl -b -u username -t debian_guest
sudo ifconfig debian_guest 0.0.0.0 up
Создадим маршрут на нужное нам устройство с нужного IP-адреса:
sudo ip route add 10.10.10.100 dev debian_guest
Теперь можно запустить VDS:
$ virsh start debian_guest
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="xx:xx:xx:xx:xx:xx", ATTR=="0x0", ATTR=="1", KERNEL=="eth*", NAME="eth1"
Нужно удалить этот файл и перезагрузить VDS — после этого сетевая карта определится корректно.
Пропишем новые сетевые настройки в гостевой системе:
10.10.10.10 — это IP-адрес хост-системы. Теперь мы сможем попинговать другие машины.
Добавим DNS-серверы в /etc/resolv.conf, и будет совсем замечательно:
К слову, замечу, что оказалось очень удобно называть сетевые устройства, принадлежащие VDS, также, как и сами VDS — отпадает необходимость искать, кому принадлежит устройство tap0 или vnet0, или как там ещё можно их обозвать.
Если понадобится выдать виртуальной машине ещё один IP-адрес, достаточно будет просто на хост-машине прописать ещё один маршрут:
А в гостевой системе создать алиас для сетевого устройства:
В следующей части
В следующей статье я расскажу о том, как создать образ VDS, что вообще меняется от системы к системе, и как эти параметры можно удобно менять.
Рекомендуемый контент
Вы не любите рекламу!? Напрасно!:) На нашем сайте она вовсе ненавязчивая, а потому для нашего сайта можете полностью отключить AdBlock (uBlock/uBlock Origin/NoScript) и прочие блокировщики рекламы! AdBlock/uBlock может препятствовать нормальной работе системы поиска по сайту, отображению рекомендуемого контента и прочих сервисов Google. Рекомендуем полностью отключить блокировщик рекламы и скриптов, а также разрешить фреймы (aka iframe).
АдМинь БагоИскатель ярый борец за безглючную работу любых механизмов и организмов во всей вселенной и потому пребывает в вечном поиске всяческих багов, а тот кто ищет как известно всегда находит. Когда что-то или кого-то вылечить не в состоянии, то со словами "Я в аду, а вы все черти" уходит в запой выйдя из которого снова берётся лечить неизлечимое.
Добавить комментарий
АХТУНГ! Все комменты модерасятся модерастом. Мессаги исключительно рекламного или оскорбительного содержания, оценочные суждения типа "круто" ("отлично", "спасибо", "автор дебил" и т.п.) не публикуются, а поэтому злостным спамерам, пранкерам и прочей сетевой нечисти рекомендуем напрасно не тратить своего времени и удовлетворять свои больные фантазии на специализированных Интернет ресурсах! Разумная критика, замечания, дополнения приветствуются. Поля помеченные символом * обязательны к заполнению.
virsh — утилита для командной строки Linux, предназначенная для управления виртуальными машинами и гипервизорами KVM и Xen.
Virsh использует API libvirt и является альтернативой для xm и графической программы virt-manager .
С помощью virsh вы можете сохранять состояние виртуальных машин, переносить ВМ между гипервизорами и управлять виртуальными сетями.
С virsh вы всегда можете получить список доступных команд или параметров, используя команду «help». «help command» даст вам дополнительную информацию по команде command.
Изменение модели сетевой карты
kvm and qemu currently default to using the rtl8139 NIC. Supported NICs in Ubuntu 8.04 LTS are i82551, i82557b, i82559er, ne2k_pci, pcnet, rtl8139, e1000, and virtio. To use an alternate NIC, dump the xml as above, then edit your xml to have:
Now define the VM as above.
Способ 1: Virt-Manager GUI
Открываем " Virtual Machine Manager " из " Меню приложений -> Система -> Менеджер виртуальных машин " или набрав в консоли " virt-manager ".
Клик правой клавишей мыши на соединении, выбираем " Детали " ("Свойства соединения")
Переходим на вкладку " Хранилище ", где в левой части "окна" выбираем " default ", а в нижней части "окна" жмём " Остановить пул " и потом " Удалить пул " (не переживайте, после удаления пула файлы образов останутся на своём месте :)
Нажимаем " Добавить пул " с параметрами " Название " и " Тип "
На следующем шаге изменяем " Путь к приёмнику: " и нажимаем " Завершить "
Создание новой виртуальной машины
Перед тем, как вы сможете управлять виртуальной машиной с помощью virsh, вам нужно определить ее:
Указанная команда определяет новую виртуальную машину newvm. Чтобы увидеть ее в списке, вам нужно использовать ‘list —inactive’ или ‘list —all’, поскольку list без параметров покажет только уже запущенные ВМ.
Получение новых ID
Чтобы получить новый MAC адрес для вставки в файл конфигурации виртуальной машины, используйте команду
Чтобы получить новый uuid для вашего xml файла, используйте: uuidgen
Список ваших виртуальных машин
Virsh позволяет просмотреть виртуальные машины на данном узле командой list:
Добавление процессоров
KVM allows you to create SMP guests. To allocate two CPUs to a VM, dump the xml as above, then edit your xml to have:
Now define the VM as above.
Читайте также: