Skip to content

Commit ac1b0ce

Browse files
harneshalakaShalaka Harnejanajaeger
authored
Unified Virtual Machine Administration using libvirt (#268)
Fixed feedback from Jana and Frank. --------- Co-authored-by: Shalaka Harne <sharne@localhost.localdomain> Co-authored-by: Jana Jaeger <jana.jaeger@suse.com>
1 parent dbb77c4 commit ac1b0ce

8 files changed

Lines changed: 215 additions & 52 deletions

articles/manage-vm-on-commandline.asm.xml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,18 @@
1919
-->
2020
<!-- R E S O U R C E S -->
2121
<!-- Glue files -->
22-
<!--<resources>
23-
<resource xml:id="_glue-example" href="../glues/glue.xml">
24-
<description>Glue example</description>
25-
</resource>
26-
<resource xml:id="_glue-more-info" href="../glues/glue-more-info.xml">
27-
<description>Glue for more information</description>
28-
</resource>
29-
<resource xml:id="_glue-whats-next" href="../glues/glue-whats-next.xml">
30-
<description>Glue what's next</description>
22+
<resources>
23+
<resource href="../glues/manage-vm-on-commandline-more-info.xml" xml:id="_manage-vm-on-commandline-more-info">
24+
<description>More information on libvirt</description>
3125
</resource>
32-
</resources>-->
26+
</resources>
3327
<!-- Concept files -->
3428
<resources>
3529
<resource href="../concepts/manage-vm-on-commandline-concept.xml" xml:id="_manage-vm-on-commandline-concept">
36-
<description>Unified management of virtual machines using &libvirt;</description>
30+
<description>Unified management of virtual machines using libvirt</description>
3731
</resource>
3832
<resource href="../concepts/manage-vm-on-commandline-vmm.xml" xml:id="_manage-vm-on-commandline-vmm">
39-
<description>&libvirt; unifies management of virtual machines.</description>
33+
<description>libvirt unifies management of virtual machines.</description>
4034
</resource>
4135
</resources>
4236
<!-- Tasks -->
@@ -45,7 +39,7 @@
4539
<!-- References -->
4640
<resources>
4741
<resource href="../references/manage-vm-on-commandline-tools.xml" xml:id="_manage-vm-on-commandline-tools">
48-
<description>&libvirt; unifies management of virtual machines.</description>
42+
<description>libvirt unifies management of virtual machines.</description>
4943
</resource>
5044
</resources>
5145
<!-- Legal -->
@@ -171,6 +165,7 @@
171165
<module resourceref="_manage-vm-on-commandline-concept" renderas="section"></module>
172166
<module resourceref="_manage-vm-on-commandline-vmm" renderas="section"></module>
173167
<module resourceref="_manage-vm-on-commandline-tools" renderas="section"></module>
168+
<module resourceref="_manage-vm-on-commandline-more-info" renderas="section"></module>
174169
<module resourceref="_legal" renderas="section"/>
175170
<module resourceref="_gfdl" renderas="appendix"/>
176171
</structure>

concepts/manage-vm-on-commandline-concept.xml

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,38 +15,37 @@
1515
<info><title>What is &libvirt;?</title>
1616
<meta name="maintainer" content="shalaka.harne@suse.com" its:translate="no"/>
1717
<abstract>
18-
<para>libvirt is a collection of software that provides a common API (Application Programming Interface) for managing popular virtualization solutions, for example, KVM and Xen. libvirt consists of an API library, a system service libvirtd, and a command line utility virsh. </para></abstract>
18+
<para>libvirt is a collection of software that provides a common API (Application Programming Interface) for managing popular virtualization solutions, for example, KVM, Hypervisor.framework, QEMU, Xen, Virtuozzo, VMWare ESX, and so on. libvirt consists of an API library, a system service &libvirtd;, and a command line utility <emphasis>virsh</emphasis>.</para></abstract>
1919
</info>
2020
<para>The modular architecture of libvirt allows developers to extend the functionality. Using libvirt, live migration of virtual machines between physical hosts is possible without downtime and this facilitates in load balancing and maintenance.</para>
21-
<figure><title>Architecture of libvirt</title>
22-
<mediaobject>
23-
<imageobject role="pdf">
24-
<imagedata fileref="manage-vm-on-commandline-architecture.png" width="70%"/>
25-
</imageobject>
26-
<imageobject role="html">
27-
<imagedata fileref="manage-vm-on-commandline-architecture.png" width="75%"/>
28-
</imageobject>
29-
</mediaobject></figure>
21+
<para>&libvirt; allows remote management of Virtual Machines and Host resources for multiple VM hosts and is a single tool for different hypervisors. &libvirt; has a graphical user interface and command line to write XML configurations. </para>
22+
3023
<section><title>How does &libvirt; work?</title>
31-
<info><abstract><para>The &libvirtd; service runs on the server and performs management tasks, for example, staring, stopping, and migrating guests between host servers. The &libvirt; client libraries and utilities connect to &libvirtd; and collect configuration information and resources of the host servers.</para></abstract></info>
24+
<info><abstract><para>The &libvirtd; service runs on the VM host. The &libvirt; client libraries and utilities connect to &libvirtd; and collect configuration information and resources of the host servers.</para></abstract></info>
3225
<para>The configuration of each virtual machine is stored in an XML file, and you can manage this configuration in different ways. </para>
3326

3427
<para>You can configure virtual machines managed by &libvirt; using command-line or using Virtual Machine Manager. Interoperability between libvirt and libvirt-based applications are tested and is an essential part of SUSE's support stance.
35-
</para>
36-
<para>&libvirt; tools are designed to work with the &libvirt; API and support various virtualization technologies and hypervisors. Some of the commonly used tools for libvirt are virsh, virt-manager, virt-install, virt-clone, virt-image, and so on.</para>
37-
<para>Using the &libvirt;-based tools is the recommended way of managing VM Guests. For example, you can use <command>virsh</command> to configure virtual machines (VM) on the command line as an alternative to using the graphical &vmm;. You can also manage virtual disks using this tool.</para>
38-
<para>The management of virtual machines on command line provides more control over the host machines than using the graphical interface applications.</para>
28+
</para>
29+
30+
<para>&libvirt; tools are designed to work with the &libvirt; API and support virtualization technologies and hypervisors. You can use the &libvirt;-based tools for managing VM Guests. Commonly used tools for libvirt are <emphasis>virsh</emphasis>, <emphasis>virt-manager</emphasis>, <emphasis>virt-install</emphasis>, <emphasis>virt-clone</emphasis>, <emphasis>virt-image</emphasis>, and so on. &libvirt; supports using graphical user interface and commands to write XML configurations.</para>
31+
<para> For example, you can use <emphasis>virsh</emphasis> to configure virtual machines (VM) on the command line as an alternative to using the graphical &vmm;. You can also manage virtual disks using this tool.</para>
32+
<figure xml:id="libvirt-overview"><title>libvirt Overview</title>
33+
<mediaobject>
34+
<imageobject role="pdf">
35+
<imagedata fileref="libvirt_overview.svg" width="100%"/>
36+
</imageobject>
37+
</mediaobject></figure>
38+
<para>The management of virtual machines on the command line provides more control over the host machines than using the graphical interface applications as it allows scripting and automation.</para>
3939
</section>
4040

4141
<section><title>Benefits of using &libvirt;</title>
42-
<info><abstract><para>Some of the major advantages of using &libvirt; through command-line are listed below:</para></abstract></info>
42+
<info><abstract><para>The major advantages of using &libvirt; through command-line are listed below:</para></abstract></info>
4343
<itemizedlist>
44+
<listitem><para>Allows basic monitoring of host and virtual machines.</para></listitem>
4445
<listitem><para>Allows automating and scripting complex virtualization tasks and workflows.</para></listitem>
4546
<listitem><para>Enables remote management of virtualization host. This helps in managing virtualization resources on remote servers over SSH or other secure protocols.</para></listitem>
4647
<listitem><para>Allows managing headless servers. In server environments, where systems may not have a graphical interface or GUI tools installed, the command-line tool is the only option for managing virtualization.</para></listitem>
47-
<listitem><para>Provides resource efficiency as command line tools have fewer resource requirements compared to the graphical user interface.</para></listitem>
48-
<listitem><para>Allows precise control and customization of commands.</para></listitem>
4948
<listitem><para>Allows using scripts and commands to create custom reports.</para></listitem>
50-
<listitem><para>Allows using any Linux distribution as &libvirt; is cross-platform compatible.</para></listitem></itemizedlist>
49+
<listitem><para>Supports working with multiple hypervisors.</para></listitem></itemizedlist>
5150
</section>
5251
</topic>

concepts/manage-vm-on-commandline-vmm.xml

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,25 @@
1515
<info><title>Virtual Machine Manager</title>
1616
<meta name="maintainer" content="shalaka.harne@suse.com" its:translate="no"/>
1717
<abstract><para>
18-
Virtual Machine Manager is a GUI (graphical user interface) application for configuring virtual machines managed by libvirt.</para></abstract></info>
19-
<para>You can start the Virtual Machine Manager by running the <command>virt-manager</command> command from the command line. The Virtual Machine Manager displays the summary of running domains, their live performance and resource utilization statistics. Use wizards to create new domains, configure and adjust resource allocation and virtual hardware.</para>
20-
<note><para>Some configuration changes take effect immediately after you make the changes in the GUI, while others need a reboot of the machine. The Virtual Machine Manager warns you that you must reboot the machine.</para>
21-
</note>
22-
<para>Listed below are a few configuration options available on Virtual Machine Manager:</para>
18+
Virtual Machine Manager is a GUI (graphical user interface) application for viewing and configuring virtual machines managed by libvirt</para></abstract></info>
19+
<para>The Virtual Machine Manager displays the summary of running domains, their live performance and resource utilization statistics. Use wizards to create new domains, configure and adjust resource allocation and virtual machine.</para>
20+
<figure xml:id="libvirt-vmm"><title>Virtual Machine Manager</title>
21+
<mediaobject>
22+
<imageobject role="pdf">
23+
<imagedata fileref="libvirt_vmm.svg" width="90%"/>
24+
</imageobject>
25+
</mediaobject></figure>
26+
<para>Listed below are a few configuration options available on Virtual Machine Manager:</para>
2327
<variablelist>
2428
<varlistentry>
25-
<term>View details of the VM Guest</term>
26-
<listitem><para>The Details view of the Virtual Machine Manager displays detailed information about the VM Guest's complete configuration and hardware equipment. Using this view, you can also change the guest configuration or add and modify virtual hardware to an existing virtual machine.</para></listitem>
27-
</varlistentry><varlistentry><term>View Performance Statistics of CPU and memory usage as well as disk and network I/O</term>
28-
<listitem><para>The Performance view shows regularly updated charts of CPU and memory usage, and disk and network I/O. </para></listitem></varlistentry>
29-
<varlistentry><term>Configure basic hardware</term>
30-
<listitem><para>You can setup the virtualized processor and memory. In the CPUs section, you can configure the number of virtual CPUs allocated to the VM Guest. Logical host CPUs shows the number of online and usable CPUs on the VM Host Server. In the Configuration you can configure the CPU model and topology. </para></listitem></varlistentry>
31-
<varlistentry><term>Configure boot options</term>
32-
<listitem><para>You can configure options affecting the VM Guest boot process.</para></listitem>
33-
</varlistentry>
34-
<varlistentry><term>Configure Storage, Controllers, Networking, Input devices</term>
35-
<listitem><para>You can configure both hard disks and removable media, such as USB or CD-ROM drives in Storage. Controllers and Networking allows you to add and configure new controllers and network device respectively. The configuration of input devices such as mouse, keyboard or tablet is possible through the Input option.</para></listitem></varlistentry>
36-
<varlistentry><term>Assign a host PCI device to a VM Guest</term><listitem><para>You can directly assign PCI devices on the VM Host Server to guests (PCI pass-through). When the PCI device is assigned to one VM Guest, it cannot be used on the host or by another VM Guest unless it is re-assigned. A prerequisite for this feature is a VM Host Server configuration as described in FIXME . </para></listitem></varlistentry>
29+
<term>View and configure VM Guest details</term>
30+
<listitem><para>The <guimenu>Details</guimenu> view of the Virtual Machine Manager displays detailed information about the VM Guest's complete configuration and hardware equipment. Using this view, you can also change the guest configuration or add and modify virtual hardware to an existing virtual machine.</para></listitem>
31+
</varlistentry><varlistentry><term>View Performance Statistics of CPU usage, memory usage, disk and network I/O of the VM guest.</term>
32+
<listitem><para>The <guimenu>Performance</guimenu> view shows regularly updated charts of CPU and memory usage, and disk and network I/O of the VM guest. </para><para>You can also set up the virtualized processor and memory. In the CPUs section, you can configure the number of virtual CPUs allocated to the VM Guest. Logical host CPUs shows the number of online and usable CPUs on the VM Host Server. In the <guimenu>Configuration</guimenu> you can configure the CPU model and topology. </para></listitem></varlistentry>
33+
<varlistentry><term>Configure Boot options, Storage, Controllers, Networking, Input devices</term>
34+
<listitem><para>You can configure options affecting the VM Guest boot process and you can configure both hard disks and removable media, such as USB or CD-ROM drives in <guimenu>Storage</guimenu>. <guimenu>Controllers</guimenu> and <guimenu>Networking</guimenu> allows you to add and configure new controllers and network device respectively. The configuration of input devices such as mouse, keyboard or tablet is possible through the <guimenu>Input</guimenu> option.</para></listitem></varlistentry>
35+
<varlistentry><term>Assign a host PCI device to a VM Guest</term><listitem><para>You can directly assign PCI devices on the VM Host Server to guests (PCI pass-through). When the PCI device is assigned to one VM Guest, it cannot be used on the host or by another VM Guest unless it is re-assigned.</para></listitem></varlistentry>
36+
<varlistentry><term>Take snapshot of the VM host</term><listitem><para>You can take snapshots of the VM host and you can access the option from VM Details toolbar. </para></listitem></varlistentry>
37+
<varlistentry><term>View and configure details of VM Host</term><listitem><para>You can create and manage connection, storage pools, and virtual networks.</para></listitem></varlistentry>
3738
</variablelist>
3839
</topic>

glues/manage-vm-on-commandline-more-info.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,20 @@
1818
<itemizedlist>
1919
<listitem>
2020
<para>
21-
Latest &libvirt; documentation is at
21+
For more information on &libvirt;, refer to
2222
<link xlink:href="https://libvirt.org/"/>.
2323
</para>
2424
</listitem>
2525
<listitem>
2626
<para>
27-
For &libvirt; documentation, refer
27+
For &libvirt; documentation, refer to
2828
<link xlink:href="https://libvirt.org/docs.html"/>.
2929
</para>
3030
</listitem>
3131
<listitem>
3232
<para>
3333
For information on Managing Virtual Machines with &libvirt;, refer to
34-
<link xlink:href="https://documentation.suse.com/sles/15-SP1/html/SLES-all/part-virt-libvirt.html"/>.
34+
<link xlink:href="https://documentation.suse.com/sles/html/SLES-all/part-virt-libvirt.html"/>.
3535
</para>
3636
</listitem>
3737
</itemizedlist>

0 commit comments

Comments
 (0)