libvirt Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:виртуализация:libvirt [2012/09/21 17:42]
[libvirt]
wiki:руководство_по_ubuntu_server:виртуализация:libvirt [2012/09/23 13:34] (текущий)
[Установка]
Строка 8: Строка 8:
 =====libvirt===== =====libvirt=====
  
-Библиотека **libvirt** используется в качестве интерфейса к различным технологиям виртуализации. Прежде чем начать использовать libvirt стоит убедиться,​ что ваше оборудование поддерживает необходимые расширения виртуализации для **KVM**. Наберите следующее в терминале:​+Библиотека **libvirt** используется в качестве интерфейса к различным технологиям виртуализации. Прежде чем начать использовать ​**libvirt**, стоит убедиться,​ что ваше оборудование поддерживает необходимые расширения виртуализации для **KVM**. Наберите следующее в терминале:​
 <​code>​kvm-ok</​code>​ <​code>​kvm-ok</​code>​
 Вам будет выведено сообщение о том поддерживает ли ваш центральный процессор (CPU) аппаратную виртуализацию или нет. Вам будет выведено сообщение о том поддерживает ли ваш центральный процессор (CPU) аппаратную виртуализацию или нет.
Строка 16: Строка 16:
 ====Виртуальные сети==== ====Виртуальные сети====
  
-There are a few different ways to allow a virtual machine access to the external networkThe default virtual network configuration is usermode ​networkingwhich uses the SLIRP protocol and traffic is NATed through the host interface to the outside network.+Существует несколько способов позволить виртуальной машине получить доступ во внешнюю сетьПо умолчанию виртуальная сеть настраивается как **usermode**когда используется протокол **SLIRP**, а сетевые данные маскируются с помощью **NAT** на сетевом интерфейсе компьютера при соединении с внешней сетью.
  
-To enable external hosts to directly access services on virtual machines a bridge ​needs to be configuredThis allows the virtual interfaces to connect to the outside network through the physical interfacemaking them appear as normal hosts to the rest of the networkFor information on setting up a bridge see Bridging.+Чтобы разрешить внешним компьютерам соединяться с сервисами виртуальной машины напрямую,​ требуется настроить мост (**bridge**)Это делает возможным соединения виртуальных интерфейсов с внешней сетью через физический интерфейспозволяя им считать себя обычными компьютерами в нормальной сетиДля информации по настройке сетевых мостов смотрите секцию [[wiki:​руководство_по_ubuntu_server:​сеть:​сетевые_настройки#​строительство_мостов|Строительство мостов]].
  
 ====Установка==== ====Установка====
  
-To install the necessary packages, from a terminal prompt enter:+Для установки необходимых пакетов введите в строке терминала: 
 +<​code>​sudo apt-get install kvm libvirt-bin</​code>​
  
-sudo apt-get install kvm libvirt-bin+После установки **libvirt-bin**, пользователя,​ используемого для управления виртуальными машинами,​ необходимо добавить в группу **libvirtd**. Это позволит пользователю получить доступ к расширенным сетевым опциям.
  
-After installing libvirt-bin,​ the user used to manage virtual machines will need to be added to the libvirtd ​group. Doing so will grant the user access to the advanced networking options.+Введите в терминале:​ 
 +<​code>​sudo adduser $USER libvirtd</​code>​ 
 +<​note>​Если в качестве пользователя выбран текущий,​ вам потребуется выйти из системы и войти снова, чтобы применились новое членство в группе.</​note>​
  
-In a terminal enter:+Теперь вы готовы установить гостевую операционную систему. Установка виртуальной машины повторяет тот же процесс,​ что и на обычном оборудовании. Вы можете либо автоматизировать установку,​ либо потребуется подключение клавиатуры и монитора к физической машине.
  
-sudo adduser $USER libvirtd+В случае с виртуальными машинами графический пользовательский интерфейс (GUI) аналогичен использованию физической клавиатуры и мыши. Вместо установки GUI приложение **virt-viewer** может быть использовано для соединения с консолью виртуальной машины по VNC. Смотрите секцию [[#​программа_просмотра_виртуальных_машин|Программа просмотра виртуальных машин]] для дополнительной информации.
  
-If the user chosen is the current useryou will need to log out and back in for the new group membership to take effect.+Существует несколько способов автоматизации процесса установки Ubuntuнапример,​ использование preseeds, kickstart и пр. Обратитесь к [[https://​help.ubuntu.com/​12.04/​installation-guide/​|Руководству по установке Ubuntu]] за подробностями.
  
-You are now ready to install a Guest operating system. Installing a virtual machine follows the same process as installing the operating system directly on the hardware. You either need a way to automate the installationor a keyboard and monitor will need to be attached to the physical machine. +Кроме тогоеще один способ установить виртуальную машину Ubuntu ​использовать **ubuntu-vm-builder****ubuntu-vm-builder** позволит вам создать дополнительные разделывыполнить после-установочные сценарии и прДетали смотрите в разделе [[wiki:​руководство_по_ubuntu_server:​виртуализация:​jeos_and_vmbuilder|JeOS и vmbuilder]].
- +
-In the case of virtual machines a Graphical User Interface (GUI) is analogous to using a physical keyboard and mouse. Instead of installing a GUI the virt-viewer application can be used to connect to a virtual machine'​s console using VNC. See Virtual Machine Viewer for more information. +
- +
-There are several ways to automate the Ubuntu installation process, for example using preseeds, kickstart, etc. Refer to the Ubuntu Installation Guide for details. +
- +
-Yet another way to install an Ubuntu virtual machine is to use ubuntu-vm-builder. ubuntu-vm-builder ​allows you to setup advanced partitionsexecute custom post-install scripts, etcFor details see JeOS and vmbuilder+
  
 ====virt-install==== ====virt-install====
  
-virt-install ​is part of the virtinst ​packageTo install it, from a terminal prompt enter+Программа **virt-install** является частью пакета **virtinst**Для ее установки введите в терминале
- +<​code>​sudo apt-get install virtinst</​code>​
-sudo apt-get install virtinst +
- +
-There are several options available when using virt-install. For example:+
  
 +Существует несколько опций доступных при использовании **virt-install**. Например:​
 +<​code>​
 sudo virt-install -n web_devel -r 256 \ sudo virt-install -n web_devel -r 256 \
 --disk path=/​var/​lib/​libvirt/​images/​web_devel.img,​bus=virtio,​size=4 -c \ --disk path=/​var/​lib/​libvirt/​images/​web_devel.img,​bus=virtio,​size=4 -c \
 jeos.iso --accelerate --network network=default,​model=virtio \ jeos.iso --accelerate --network network=default,​model=virtio \
 --connect=qemu:///​system --vnc --noautoconsole -v --connect=qemu:///​system --vnc --noautoconsole -v
 +</​code>​
  
-    ​-n web_devel: ​the name of the new virtual machine will be web_devel ​in this example.+  -- **-n web_devel**имя новой виртуальной машины,​ в данном примере **//web_devel//**. 
 +  -- **-r 256**: определяет размер памяти виртуальной машины в мегабайтах. 
 +  -- **--disk path=/​var/​lib/​libvirt/​images/​web_devel.img,​bus=virtio,​size=4**:​ указывает путь к виртуальному диску, который может быть файлом,​ разделом или логическим томом. В этом примере файл с именем **//​web_devel.img//​** в каталоге **//​%%/​var/​lib/​libvirt/​images/​%%//​** размером 4 гигабайта,​ использующий virtio в качестве дисковой шины. 
 +  -- **-c jeos.iso**: файл, используемый как виртуальный CDROM. Файл может быть как образом ISO, так и путем к устройству CDROM основной системы. 
 +  -- **--accelerate**:​ разрешает использование ускоряющих технологий ядра. 
 +  -- **--network**:​ обеспечивает детали,​ касающиеся сетевого интерфейса виртуальной машины. 
 +  -- **--vnc**: предоставление гостевой виртуальной консоли через VNC. 
 +  -- **--noautoconsole**:​ не подключается автоматически к консоли виртуальной машины. 
 +  -- **-v**: создает полностью вируализированную гостевую систему.
  
-    -r 256: specifies the amount of memory the virtual machine will use in megabytes. +После загрузки **virt-install** вы сможете подсоединиться к консоли виртуальной машины либо локально с использованием ​GUI, либо с помощью утилиты **virt-viewer**.
- +
-    --disk path=/​var/​lib/​libvirt/​images/​web_devel.img,​size=4:​ indicates the path to the virtual disk which can be a file, partition, or logical volume. In this example a file named web_devel.img in the /​var/​lib/​libvirt/​images/​ directory, with a size of 4 gigabytes, and using virtio for the disk bus. +
- +
-    -c jeos.iso: file to be used as a virtual CDROM. The file can be either an ISO file or the path to the host's CDROM device. +
- +
-    --accelerate:​ enables the kernel'​s acceleration technologies. +
- +
-    --network provides details related to the VM's network interface. Here the default network is used, and the interface model is configured for virtio. +
- +
-    --vnc: exports the guest'​s virtual console using VNC. +
- +
-    --noautoconsole:​ will not automatically connect to the virtual machine'​s console. +
- +
-    -v: creates a fully virtualized guest. +
- +
-After launching ​virt-install ​you can connect to the virtual machine'​s console either locally using a GUI or with the virt-viewer ​utility.+
  
 ====virt-clone==== ====virt-clone====
  
-The virt-clone ​application can be used to copy one virtual machine to anotherFor example+Приложение **virt-clone** может быть использовано для копирования одной виртуальной машины в другуюНапример
 +<​code>​
 sudo virt-clone -o web_devel -n database_devel -f /​path/​to/​database_devel.img \ sudo virt-clone -o web_devel -n database_devel -f /​path/​to/​database_devel.img \
 --connect=qemu:///​system ​ --connect=qemu:///​system ​
 +</​code>​
  
-    ​-o: original virtual machine.+  -- **-o**: оригинальная виртуальная машина. 
 +  -- **-n**: имя новой виртуальной машины. 
 +  -- **-f**: путь к файлу, локальному тому или разделу для использования новой виртуальной машиной. 
 +  -- **--connect**определяет к какому супервизору подключаться.
  
-    -n: name of the new virtual machine. +Также используйте опцию **-d** или **--debug** для помощи при решении проблем с **virt-clone**
- +<​note>​Замените **//web_devel//** и **//database_devel//** на подходящие названия виртуальных машин.</​note>​
-    -f: path to the file, logical volume, or partition to be used by the new virtual machine. +
- +
-    --connect: specifies which hypervisor to connect to. +
- +
-Also, use -d or --debug ​option to help troubleshoot problems with virt-clone. +
- +
-Replace ​web_devel ​and database_devel ​with appropriate virtual machine names.+
  
 ====Управление виртуальными машинами==== ====Управление виртуальными машинами====
Строка 98: Строка 84:
 ===virsh=== ===virsh===
  
-There are several utilities available to manage virtual machines and libvirt. ​The virsh utility can be used from the command lineSome examples:+Доступны несколько утилит для управления виртуальными машинами и **libvirt**Утилита **virsh** может быть использована из командной строкиНесколько примеров:
  
-    To list running virtual machines:+ 1. Получить список запущенных виртуальных машин: 
 +<​code>​virsh -c qemu:///​system list</​code>​
  
-    ​virsh -c qemu:///​system ​list+ 2. Запустить виртуальную машину:​ 
 +<​code>​virsh -c qemu:///​system ​start web_devel</​code>​
  
-    To start a virtual machine:+ 3. Аналогично,​ запустить виртуальную машину в процессе загрузки: 
 +<​code>​virsh -c qemu:///​system autostart web_devel</​code>​
  
-    ​virsh -c qemu:///​system ​start web_devel+ 4. Перегрузить виртуальную машину:​ 
 +<​code>​virsh -c qemu:///​system ​reboot ​web_devel</​code>​
  
-    Similarlyto start a virtual machine at boot:+ 5. Состояние (**state**) виртуальной машины может быть сохранено в файл с целью возможного восстановления в дальнейшем. Приведенная команда сохранит состояние виртуальной машины в файл с именемсодержащем дату: 
 +<​code>​virsh -c qemu:///​system save web_devel web_devel-022708.state</​code>​ 
 +Единожды сохраненная машина больше не может быть запущена. ( :?: возможно имеется ввиду, что не может быть запущена сохраненная копия, а не сама машина.)
  
-    ​virsh -c qemu:///​system ​autostart ​web_devel+ 6. Сохраненная виртуальная машина может быть восстановлена такой командой:​ 
 +<​code>​virsh -c qemu:///​system ​restore ​web_devel-022708.state</​code>​
  
-    Reboot a virtual machine with:+ 7. Выключить виртуальную машину: 
 +<​code>​virsh -c qemu:///​system shutdown web_devel</​code>​
  
-    ​virsh -c qemu:///​system ​reboot ​web_devel+ 8. Устройство чтения CDROM может быть подмонтировано к виртуальной машине следующей командой:​ 
 +<​code>​virsh -c qemu:///​system ​attach-disk ​web_devel ​/dev/cdrom /​media/​cdrom</​code>​
  
-    The state of virtual machines can be saved to a file in order to be restored later. The following will save the virtual machine state into a file named according to the date: +<​note>​В приведенных примерах замените **//​web_devel/​/** на соответствующее название виртуальной машины,​ а **//​web_devel-022708.state//​** на описательное имя файла.<​/note>
- +
-    virsh -c qemu:///system save web_devel ​web_devel-022708.state +
- +
-    Once saved the virtual machine will no longer be running. +
- +
-    A saved virtual machine can be restored using: +
- +
-    virsh -c qemu:///system restore ​web_devel-022708.state +
- +
-    To shutdown a virtual machine do: +
- +
-    virsh -c qemu:///system shutdown web_devel +
- +
-    A CDROM device can be mounted in a virtual machine by entering: +
- +
-    virsh -c qemu:///​system attach-disk web_devel /dev/cdrom /​media/​cdrom +
- +
-In the above examples replace web_devel with the appropriate virtual machine name, and web_devel-022708.state with a descriptive file name.+
  
 ===Управление виртуальными машинами=== ===Управление виртуальными машинами===
  
-The virt-manager ​package contains a graphical utility to manage local and remote virtual machinesTo install virt-manager ​enter:+Пакет **virt-manager** содержит утилиту с графическим интерфейсом для управления локальными и удаленными виртуальными машинамиДля установки **virt-manager** введите:​ 
 +<​code>​sudo apt-get ​install virt-manager</​code>​ 
 +Поскольку **virt-manager** требует наличия графической среды, рекомендуется ее устанавливать на рабочую станцию или тестовую машину,​ а не на рабочий сервер. Для подключения к локальному сервису **libvirt** введите: 
 +<​code>​virt-manager -c qemu:///​system</​code>​ 
 +Вы можете соединиться и к сервису **libvirt**,​ запущенном на другом компьютере,​ введя следующую команду в терминале:​ 
 +<​code>​virt-manager -c qemu+ssh://​virtnode1.mydomain.com/​system</​code>​
  
-sudo apt-get install virt-manager +<​note>​В последнем примере подразумевается,​ что SSH соединение между управляющей системой и **//​virtnode1.mydomain.com/​/** уже настроено и для аутентификации используются ключи ​SSH. SSH ключи требуются поскольку **libvirt** посылает запрос на ввод пароля другому процессуПодробности настройки ​SSH смотрите в разделе [[wiki:​руководство_по_ubuntu_server:​удаленное_администрирование:​openssh_server|Сервер ​OpenSSH]].</​note>​
- +
-Since virt-manager requires a Graphical User Interface (GUI) environment it is recommended to be installed on a workstation or test machine instead of a production server. To connect to the local libvirt service enter: +
- +
-virt-manager -c qemu:///​system +
- +
-You can connect to the libvirt service running on another host by entering the following in a terminal prompt: +
- +
-virt-manager -c qemu+ssh://​virtnode1.mydomain.com/​system +
- +
-The above example assumes that SSH connectivity between the management system and virtnode1.mydomain.com has already been configured, and uses SSH keys for authentication. SSH keys are needed because ​libvirt ​sends the password prompt to another processFor details on configuring ​SSH see OpenSSH ​Server+
  
 ====Программа просмотра виртуальных машин==== ====Программа просмотра виртуальных машин====
  
-The virt-viewer ​application allows you to connect to a virtual machine'​s console. virt-viewer ​does require a Graphical User Interface ​(GUI) to interface with the virtual machine.+Приложение **virt-viewer** позволяет вам соединиться с консолью виртуальной машины**virt-viewer** требует графического интерфейса ​(GUI) для взаимодействия с виртуальной машиной.
  
-To install ​virt-viewer ​from a terminal enter:+Для установки **virt-viewer** из терминала введите: 
 +<​code>​sudo apt-get install virt-viewer</​code>​
  
-sudo apt-get install ​virt-viewer+Как только виртуальная машина установлена и запущена,​ вы можете подсоединиться к ее консоли командой:​ 
 +<​code>​virt-viewer ​-c qemu:///​system web_devel</​code>​
  
-Once a virtual machine is installed and running you can connect to the virtual machine'​s console by using:+Как и **virt-manager**,​ **virt-viewer** может соединяться с удаленным сервером используя для аутентификации ключи SSH: 
 +<​code>​virt-viewer -c qemu+ssh://​virtnode1.mydomain.com/​system web_devel</​code>​
  
-virt-viewer -c qemu:///​system ​web_devel +Убедитесь,​ что заменили **//​web_devel//​** на соответствующее название виртуальной машины
- +Если настроено использование моста для сетевого интерфейса,​ вы можете настроить ​SSH доступ и непосредственно к виртуальной машинеСмотрите разделы [[wiki:​руководство_по_ubuntu_server:​удаленное_администрирование:​openssh_server|Сервер ​OpenSSH]] и [[wiki:​руководство_по_ubuntu_server:​сеть:​сетевые_настройки#​строительство_мостов|Строительство мостов]] для дополнительной информации.
-Similar to virt-manager,​ virt-viewer can connect to a remote host using SSH with key authentication,​ as well: +
- +
-virt-viewer -c qemu+ssh://virtnode1.mydomain.com/​system web_devel +
- +
-Be sure to replace web_devel with the appropriate virtual machine name. +
- +
-If configured to use a bridged network interface you can also setup SSH access to the virtual machineSee OpenSSH ​Server and Bridging for more details.+
  
 ====Ссылки==== ====Ссылки====
  
-    See the KVM home page for more details+  -- Обратитесь к [[http://​kvm.qumranet.com/​kvmwiki|домашней странице ​KVM]] для дополнительной информации
- +  -- Больше информации по **libvirt** смотрите на [[http://libvirt.org/​|домашней странице libvirt]]. 
-    For more information on libvirt ​see the libvirt ​home page +  -- Сайт по [[http://​virt-manager.et.redhat.com/​|Virtual Machine Manager]] содержит дополнительную информацию по разработке **virt-manager**
- +  -- Также посетите IRC канал **//#​ubuntu-virt//** на [[http://​freenode.net/​|freenode]] для обсуждения технологий виртуализации в Ubuntu. 
-    ​The ​Virtual Machine Manager ​site has more information on virt-manager ​development+  -- Еще один хороший ресурс - страница [[https://​help.ubuntu.com/​community/​KVM|Ubuntu Wiki KVM]].
- +
-    Also, stop by the #​ubuntu-virt ​IRC channel on freenode ​to discuss virtualization technology in Ubuntu. +
- +
-    Another good resource is the Ubuntu Wiki KVM page. +
  
 ---- ----