mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			143 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version='1.0' encoding='utf-8' ?>
 | 
						|
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 | 
						|
<!ENTITY % BOOK_ENTITIES SYSTEM "qig.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.
 | 
						|
-->
 | 
						|
 | 
						|
 | 
						|
<chapter id="chap-qig-KVM">
 | 
						|
  <title>KVM Setup and installation</title>
 | 
						|
  <para>
 | 
						|
    KVM is the hypervisor we'll be using - we will recover the initial setup
 | 
						|
    which has already been done on the hypervisor host and cover installation
 | 
						|
    of the agent software, you can use the same steps to add additional KVM 
 | 
						|
    nodes to your CloudStack environment. 
 | 
						|
  </para>
 | 
						|
  <section id="sect-qig-KVM-Prerequisites">
 | 
						|
    <title>Prerequisites</title>
 | 
						|
    <para>
 | 
						|
      We explicitly are using the management server as a compute node as well, 
 | 
						|
      which means that we have already performed many of the prerequisite steps
 | 
						|
      when setting up the management server, but we will list them here for
 | 
						|
      clarity. Those steps are:
 | 
						|
      <orderedlist>
 | 
						|
        <listitem>
 | 
						|
          <para>
 | 
						|
            <xref linkend="sect-qig-Environment-operatingsys-network" />
 | 
						|
          </para>
 | 
						|
        </listitem>
 | 
						|
        <listitem>
 | 
						|
          <para>
 | 
						|
            <xref linkend="sect-qig-Environment-operatingsys-hostname" />
 | 
						|
          </para>
 | 
						|
        </listitem>
 | 
						|
        <listitem>
 | 
						|
          <para>
 | 
						|
            <xref linkend="sect-qig-Environment-operatingsys-selinux" />
 | 
						|
          </para>
 | 
						|
        </listitem>
 | 
						|
        <listitem>
 | 
						|
          <para>
 | 
						|
            <xref linkend="sect-qig-Environment-operatingsys-ntp" />
 | 
						|
          </para>
 | 
						|
        </listitem>
 | 
						|
        <listitem>
 | 
						|
          <para>
 | 
						|
            <xref linkend="sect-qig-Environment-operatingsys-repoconfig" />
 | 
						|
          </para>
 | 
						|
        </listitem>
 | 
						|
      </orderedlist>
 | 
						|
    </para>
 | 
						|
    <para>
 | 
						|
      You shouldn't need to do that for the management server, of course, but
 | 
						|
      any additional hosts will need for you to complete the above steps. 
 | 
						|
    </para>
 | 
						|
  </section>
 | 
						|
   
 | 
						|
  <section id="sect-qig-KVM-Installation">
 | 
						|
    <title>Installation</title>
 | 
						|
    <para>Installation of the KVM agent is trivial with just a single command, but afterwards we'll need to configure a few things.</para>
 | 
						|
    <screen><prompt># </prompt><userinput><command>yum</command> -y install cloud-agent</userinput></screen>
 | 
						|
    <section id="sect-qig-KVM-Configuration">
 | 
						|
      <title>KVM Configuration</title>
 | 
						|
      <para>We have two different parts of KVM to configure, libvirt, and QEMU.</para>
 | 
						|
      <section id="sect-qig-KVM-Configuration-qemu">
 | 
						|
        <title>QEMU Configuration</title>
 | 
						|
        <para>
 | 
						|
          KVM configuration is relatively simple at only a single item. We need to 
 | 
						|
          edit the QEMU VNC configuration. This is done by editing 
 | 
						|
          <filename>/etc/libvirt/qemu.conf</filename> and ensuring the following 
 | 
						|
          line is present and uncommented.
 | 
						|
          <screen>vnc_listen=0.0.0.0</screen>
 | 
						|
        </para>
 | 
						|
      </section>
 | 
						|
      <section id="sect-qig-KVM-Configuration-libvirt">
 | 
						|
        <title>Libvirt Configuration</title>
 | 
						|
        <para>
 | 
						|
          CloudStack uses libvirt for managing virtual machines. Therefore it
 | 
						|
          is vital that libvirt is configured correctly. Libvirt is a dependency
 | 
						|
          of cloud-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 paramaters:</para>
 | 
						|
            <programlisting>listen_tls = 0</programlisting>
 | 
						|
            <programlisting>listen_tcp = 1</programlisting>
 | 
						|
            <programlisting>tcp_port = "16059"</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/init/libvirt-bin.conf</filename></para>
 | 
						|
            <para>Change the following line (at the end of the file):</para>
 | 
						|
            <programlisting>exec /usr/sbin/libvirtd -d</programlisting>
 | 
						|
            <para>to (just add -l)</para>
 | 
						|
            <programlisting>exec /usr/sbin/libvirtd -d -l</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>
 | 
						|
      <section id="sect-qig-KVM-Configuration-finish">
 | 
						|
        <title>KVM configuration complete</title>
 | 
						|
        <para>
 | 
						|
        That concludes our installation and configuration of KVM, and we'll now move to using the CloudStack UI
 | 
						|
        for the actual configuration of our cloud. 
 | 
						|
        </para>
 | 
						|
      </section>
 | 
						|
    </section>
 | 
						|
  </section>
 | 
						|
</chapter>
 |