mirror of https://github.com/apache/cloudstack.git
first pass at fixing runbook for ACS4.0.x
This commit is contained in:
parent
afd7de7e33
commit
32c519a8ae
|
|
@ -27,7 +27,7 @@
|
|||
<title>Runbook</title>
|
||||
<subtitle>Prescriptive instructions for deploying Apache CloudStack</subtitle>
|
||||
<productname>Apache CloudStack</productname>
|
||||
<productnumber>3.0.2</productnumber>
|
||||
<productnumber>4.0.1</productnumber>
|
||||
<edition>0</edition>
|
||||
<pubsnumber>0</pubsnumber>
|
||||
<abstract>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
<section id="sect-Runbook-Environment-operatingsys">
|
||||
<title>Operating System</title>
|
||||
<para>
|
||||
Using the CentOS 6.2 x86_64 minimal install ISO, you'll need to install CentOS
|
||||
Using the CentOS 6.3 x86_64 minimal install ISO, you'll need to install CentOS
|
||||
on your hardware. The defaults will generally be acceptable for this installation.
|
||||
</para>
|
||||
<para>
|
||||
|
|
@ -163,6 +163,30 @@ SELINUXTYPE=targeted
|
|||
<screen><prompt># </prompt><userinput><command>chkconfig</command> ntpd on</userinput></screen>
|
||||
<screen><prompt># </prompt><userinput><command>service</command> ntpd start</userinput></screen>
|
||||
</section>
|
||||
<section id="sect-Runbook-Environment-operatingsys-repoconfig">
|
||||
<title>Configuring the CloudStack Package Repository</title>
|
||||
<para>
|
||||
We need to configure the machine to use a CloudStack package repository.
|
||||
<important>
|
||||
<title>The below repository is not an official Apache CloudStack project repository</title>
|
||||
<para>
|
||||
The Apache CloudStack official releases are source code. As such there are no
|
||||
'official' binaries available. The full installation guide describes how to take
|
||||
the source release and generate RPMs and and yum repository. This guide attempts
|
||||
to keep things as simple as possible, and thus we are using one of the
|
||||
community-provided yum repositories.
|
||||
</para>
|
||||
</important>
|
||||
</para>
|
||||
<para>To add the CloudStack repository, create <filename>/etc/yum.repos.d/cloudstack.repo</filename> and insert the following information.</para>
|
||||
<programlisting>
|
||||
[cloudstack]
|
||||
name=cloudstack
|
||||
baseurl=http://cloudstack.apt-get.eu/rhel/4.0/
|
||||
enabled=1
|
||||
gpgcheck=0
|
||||
</programlisting>
|
||||
</section>
|
||||
</section>
|
||||
<section id="sect-Runbook-Environment-nfs">
|
||||
<title>NFS</title>
|
||||
|
|
@ -224,12 +248,10 @@ STATD_OUTGOING_PORT=2020
|
|||
<para>We now need to configure nfs service to start on boot and actually start it on the host by
|
||||
executing the following commands:</para>
|
||||
<screen>
|
||||
<prompt># </prompt><userinput><command>service</command> rpcbind start</userinput>
|
||||
<prompt># </prompt><userinput><command>service</command> nfs start</userinput>
|
||||
<prompt># </prompt><userinput><command>chkconfig</command> rpcbind on</userinput>
|
||||
<prompt># </prompt><userinput><command>chkconfig</command> nfs on</userinput>
|
||||
<prompt># </prompt><userinput><command>service</command> rpcbind start</userinput>
|
||||
<prompt># </prompt><userinput><command>service</command> nfs start</userinput>
|
||||
<prompt># </prompt><userinput><command>chkconfig</command> rpcbind on</userinput>
|
||||
<prompt># </prompt><userinput><command>chkconfig</command> nfs on</userinput>
|
||||
</screen>
|
||||
</section>
|
||||
|
||||
|
||||
</chapter>
|
||||
|
|
|
|||
|
|
@ -54,45 +54,26 @@ binlog-format = 'ROW'
|
|||
Now that <application>MySQL</application> is properly configured we can
|
||||
start it and configure it to start on boot as follows:
|
||||
<screen>
|
||||
<prompt># </prompt><userinput><command>service</command> mysqld start</userinput>
|
||||
<prompt># </prompt><userinput><command>chkconfig</command> mysqld on</userinput>
|
||||
<prompt># </prompt><userinput><command>service</command> mysqld start</userinput>
|
||||
<prompt># </prompt><userinput><command>chkconfig</command> mysqld on</userinput>
|
||||
</screen>
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
<section id="sect-Runbook-Management-extraction">
|
||||
<title>Extraction</title>
|
||||
<para>
|
||||
The next step is to extract the contents of the CloudStack tarball
|
||||
(mentioned in <xref linkend="sect-Runbook-Overview-prereqs" />) you
|
||||
downloaded previously. To extract the contents of this tarball use
|
||||
the following command:
|
||||
</para>
|
||||
<screen>
|
||||
<prompt># </prompt><userinput><command>tar</command> -xzvf CloudStack-oss-3.0.2-1-rhel6.2.tar.gz</userinput>
|
||||
</screen>
|
||||
<para> For the next few sections you'll need to <command>cd</command> into the first level that was just created.
|
||||
</para>
|
||||
</section>
|
||||
<section id="sect-Runbook-Management-installation">
|
||||
<title>Installation</title>
|
||||
<para>Now that you are in the directory created by extracting the tarball, it's now time to install. We'll run
|
||||
<filename>./install.sh</filename> and choose option <option>M</option>. This will install the management server
|
||||
and necessary dependencies.
|
||||
<para>We are now going to install the management server. We do that by executing the following command:
|
||||
<screen><prompt># </prompt><userinput><command>yum</command> -y install cloud-client</userinput></screen>
|
||||
</para>
|
||||
<para>With the application itself installed we can now setup the database, we'll do that with the following command
|
||||
and options:
|
||||
</para>
|
||||
<screen>
|
||||
<prompt># </prompt><userinput><command>cloud-setup-databases</command> cloud:<replaceable>password</replaceable>@localhost --deploy-as=root</userinput>
|
||||
</screen>
|
||||
<screen><prompt># </prompt><userinput><command>cloud-setup-databases</command> cloud:<replaceable>password</replaceable>@localhost --deploy-as=root</userinput></screen>
|
||||
<para>When this process is finished, you should see a message like "CloudStack has successfully initialized the database."
|
||||
</para>
|
||||
<para>Now that the database has been created, we can take the final step in setting up the management server by issuing the following command:</para>
|
||||
<screen>
|
||||
<prompt># </prompt><userinput><command>cloud-setup-mangament</command></userinput>
|
||||
</screen>
|
||||
<screen><prompt># </prompt><userinput><command>cloud-setup-mangament</command></userinput></screen>
|
||||
</section>
|
||||
<section id="sect-Runbook-Management-templatesetup">
|
||||
<title>System Template Setup</title>
|
||||
|
|
@ -107,16 +88,14 @@ binlog-format = 'ROW'
|
|||
storage share that we setup earlier, so we'll need to mount that share
|
||||
with the <command>mount</command> command run on the management server:
|
||||
</para>
|
||||
<screen>
|
||||
<prompt># </prompt><userinput><command>mount</command> -t nfs <replaceable>172.16.10.</replaceable>2:/secondary /mnt/secondary</userinput>
|
||||
<screen><prompt># </prompt><userinput><command>mount</command> -t nfs <replaceable>172.16.10.</replaceable>2:/secondary /mnt/secondary</userinput>
|
||||
</screen>
|
||||
<para>
|
||||
Now we need to download the system VM template and deploy that to the
|
||||
share we just mounted. The management server includes a script to properly
|
||||
manipulate the system VMs images.
|
||||
</para>
|
||||
<screen>
|
||||
<prompt># </prompt><userinput><command>/usr/lib64/cloud/agent/scripts/storage/secondary/cloud-install-sys-tmplt</command> -m /mnt/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F</userinput>
|
||||
<screen><prompt># </prompt><userinput><command>/usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary</command> -m /mnt/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F</userinput>
|
||||
</screen>
|
||||
<para>
|
||||
That concludes our setup of the management server. We still need to
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
<title>What exactly are we building?</title>
|
||||
<para>
|
||||
This runbook will focus on building a CloudStack cloud using KVM with
|
||||
CentOS 6.2 with NFS storage on a flat layer-2 network utilizing
|
||||
CentOS 6.3 with NFS storage on a flat layer-2 network utilizing
|
||||
layer-3 network isolation (aka Security Groups), and doing it all
|
||||
on a single piece of hardware.
|
||||
</para>
|
||||
|
|
@ -74,23 +74,16 @@
|
|||
<listitem>
|
||||
<para>
|
||||
The
|
||||
<ulink url="http://mirrors.kernel.org/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-minimal.iso">
|
||||
CentOS 6.2 x86_64 minimal install CD
|
||||
<ulink url="http://mirrors.kernel.org/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-minimal.iso">
|
||||
CentOS 6.3 x86_64 minimal install CD
|
||||
</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
A /24 network with the gateway being at xxx.xxx.xxx.1, no DHCP should be on this network and
|
||||
none of the computers running CloudStack may have a dynamic address.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Copy of
|
||||
<ulink url="http://sourceforge.net/projects/cloudstack/files/CloudStack%20Acton/3.0.2/CloudStack-oss-3.0.2-1-rhel6.2.tar.gz/download">
|
||||
CloudStack 3.0.2 for RHEL and CentOS 6.2
|
||||
</ulink>
|
||||
none of the computers running CloudStack will have a dynamic address. Again this is done for
|
||||
the sake of simplicity.
|
||||
</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
|
|
|||
|
|
@ -27,6 +27,15 @@
|
|||
<title>Revision History</title>
|
||||
<simpara>
|
||||
<revhistory>
|
||||
<revision>
|
||||
<revnumber>1</revnumber>
|
||||
<date>Fri Feb 1 2013</date>
|
||||
<revdescription>
|
||||
<simplelist>
|
||||
<member>Updating for Apache CloudStack 4.0.1</member>
|
||||
</simplelist>
|
||||
</revdescription>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>0-0</revnumber>
|
||||
<date>Mon Jun 25 2012</date>
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@
|
|||
</para>
|
||||
<section id="Runbook-config-cluster-pristorage">
|
||||
<title>Primary Storage</title>
|
||||
<para>With you cluster now setup - you should be prompted for primary storage information. Choose NFS as the storage type and then enter the following values in the fields:
|
||||
<para>With your cluster now setup - you should be prompted for primary storage information. Choose NFS as the storage type and then enter the following values in the fields:
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Name - We'll use 'Primary1'</para>
|
||||
|
|
|
|||
|
|
@ -59,6 +59,11 @@
|
|||
<xref linkend="sect-Runbook-Environment-operatingsys-ntp" />
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<xref linkend="sect-Runbook-Environment-operatingsys-repoconfig" />
|
||||
</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</para>
|
||||
<para>
|
||||
|
|
@ -66,37 +71,77 @@
|
|||
any additional hosts will need for you to complete the above steps.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="sect-Runbook-KVM-Installation">
|
||||
<title>Installation</title>
|
||||
<para>
|
||||
You'll need to ensure that you are in the directory that was created when
|
||||
we extracted the the tarball.
|
||||
<xref linkend="sect-Runbook-Management-extraction" />
|
||||
</para>
|
||||
<para>
|
||||
You'll be running <filename>./install.sh</filename> again and this time
|
||||
choosing <option>A</option> which will install the software necessary for
|
||||
managing a KVM node.
|
||||
</para>
|
||||
</section>
|
||||
<section id="sect-Runbook-KVM-Configuration">
|
||||
<title>KVM 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>
|
||||
<para>
|
||||
You can now just restart the libvirt daemon by issuing the following command:
|
||||
<screen><prompt># </prompt><userinput><command>service</command> libvirt restart</userinput></screen>
|
||||
</para>
|
||||
<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>
|
||||
<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-Runbook-KVM-Configuration">
|
||||
<title>KVM Configuration</title>
|
||||
<para>We have two different parts of KVM to configure, libvirt, and QEMU.</para>
|
||||
<section id="sect-Runbook-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>
|
||||
<para>
|
||||
You can now just restart the libvirt daemon by issuing the following command:
|
||||
<screen><prompt># </prompt><userinput><command>service</command> libvirt restart</userinput></screen>
|
||||
</para>
|
||||
</section>
|
||||
<section id="sect-Runbook-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-Runbook-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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue