cloudstack/docs/en-US/hypervisor-host-install-libvirt.xml
Wido den Hollander a6969802c8 CLOUDSTACK-4310: Document vnc_listen for Qemu/libvirt
The vnc-listen patch didn't make it into 4.2 due to a newer version
of libvirt-java not being released.

Eventually we want to get rid of this, but currently we are forced to
do it this way. Setting it to anything else then 0.0.0.0 will break
migrations without a newer version of libvirt-java

The newer version of libvirt-java supports live migratons with a different
XML definition for on the destination host.
2013-08-14 10:17:57 +02:00

63 lines
3.3 KiB
XML

<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section id="hypervisor-host-install-libvirt">
<title>Install and Configure libvirt</title>
<para>&PRODUCT; uses libvirt for managing virtual machines. Therefore it is vital that libvirt is configured correctly. Libvirt is a dependency of cloudstack-agent and should already be installed.</para>
<orderedlist>
<listitem>
<para>In order to have live migration working libvirt has to listen for unsecured TCP connections. We also need to turn off libvirts attempt to use Multicast DNS advertising. Both of these settings are in <filename>/etc/libvirt/libvirtd.conf</filename></para>
<para>Set the following parameters:</para>
<programlisting>listen_tls = 0</programlisting>
<programlisting>listen_tcp = 1</programlisting>
<programlisting>tcp_port = "16509"</programlisting>
<programlisting>auth_tcp = "none"</programlisting>
<programlisting>mdns_adv = 0</programlisting>
</listitem>
<listitem>
<para>Turning on "listen_tcp" in libvirtd.conf is not enough, we have to change the parameters as well:</para>
<para>On RHEL or CentOS modify <filename>/etc/sysconfig/libvirtd</filename>:</para>
<para>Uncomment the following line:</para>
<programlisting>#LIBVIRTD_ARGS="--listen"</programlisting>
<para>On Ubuntu: modify <filename>/etc/default/libvirt-bin</filename></para>
<para>Add "-l" to the following line::</para>
<programlisting>libvirtd_opts="-d"</programlisting>
<para>so it looks like:</para>
<programlisting>libvirtd_opts="-d -l"</programlisting>
</listitem>
<listitem>
<para>In order to have the VNC Console work we have to make sure it will bind on 0.0.0.0. We do this by editing <filename>/etc/libvirt/qemu.conf</filename></para>
<para>Make sure this parameter is set:</para>
<programlisting>vnc_listen = "0.0.0.0"</programlisting>
</listitem>
<listitem>
<para>Restart libvirt</para>
<para>In RHEL or CentOS:</para>
<programlisting><command>$ service libvirtd restart</command></programlisting>
<para>In Ubuntu:</para>
<programlisting><command>$ service libvirt-bin restart</command></programlisting>
</listitem>
</orderedlist>
</section>