ACS4.1_Quick_install_guide

This commit is contained in:
Meng Han 2013-06-29 11:32:36 -04:00 committed by Sebastien Goasguen
parent bd784fb8ec
commit 676d8744ef
12 changed files with 1039 additions and 0 deletions

View File

@ -0,0 +1,32 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE authorgroup 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.
-->
<authorgroup>
<author>
<firstname>Apache</firstname>
<surname>CloudStack</surname>
</author>
</authorgroup>

View File

@ -0,0 +1,52 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Runbook.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.
-->
<bookinfo id="book-qig-qig">
<title>Quick Install Guide</title>
<subtitle>Prescriptive instructions for deploying Apache CloudStack</subtitle>
<productname>Apache CloudStack</productname>
<productnumber>4.0.2</productnumber>
<edition>0</edition>
<pubsnumber>0</pubsnumber>
<abstract>
<para>
This guide is designed to provide a strict environment to guarantee
a higher degree of success in initial deployments of Apache CloudStack.
All of the elements of the environment will be provided to you.
Apache CloudStack is capable of much more complex configurations,
but they are beyond the scope of this document.
</para>
</abstract>
<corpauthor>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Common_Content/images/title_logo.svg" format="SVG" />
</imageobject>
</inlinemediaobject>
</corpauthor>
<xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>

View File

@ -0,0 +1,53 @@
<?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 "Runbook.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-Runbook-Test_Chapter">
<title>Test Chapter</title>
<para>
This is a test paragraph
</para>
<section id="sect-Runbook-Test_Chapter-Test_Section_1">
<title>Test Section 1</title>
<para>
This is a test paragraph in a section
</para>
</section>
<section id="sect-Runbook-Test_Chapter-Test_Section_2">
<title>Test Section 2</title>
<para>
This is a test paragraph in Section 2
<orderedlist>
<listitem>
<para>
listitem text
</para>
</listitem>
</orderedlist>
</para>
</section>
</chapter>

View File

@ -0,0 +1,258 @@
<?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-Environment">
<title>Environment</title>
<para>
Before you begin, you need to prepare the environment before you install CloudStack.
We will go over the steps to prepare now.
</para>
<section id="sect-qig-Environment-operatingsys">
<title>Operating System</title>
<para>
Using the CentOS 6.4 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>
Once this installation is complete, you'll want to connect to your freshly
installed machine via SSH as the root user. Note that you should not allow root
logins in a production environment, so be sure to turn off remote logins once you
have finished the installation and configuration.
</para>
<section id="sect-qig-Environment-operatingsys-network">
<title>Configuring the network</title>
<para>
By default the network will not come up on your hardware and you
will need to configure it to work in your environment. Since we
specified that there will be no DHCP server in this environment
we will be manually configuring your network interface. We will
assume, for the purposes of this exercise, that eth0 is the only network
interface that will be connected and used.
</para>
<para>
Connecting via the console you should login as root. Check the
file <filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename>,
it will look like this by default:
<screen>
DEVICE="eth0"
HWADDR="52:54:00:B9:A6:C0"
NM_CONTROLLED="yes"
ONBOOT="no"
</screen>
</para>
<para>
Unfortunately, this configuration will not permit you to connect to the network,
and is also unsuitable for our purposes with CloudStack. We want to
configure that file so that it specifies the IP address, netmask, etc., as shown
in the following example:
</para>
<important>
<title>Hardware Addresses</title>
<para>You should not use the hardware address (aka MAC address) from our example
for your configuration. It is network interface specific, so you should keep the
address already provided in the HWADDR directive.
</para>
</important>
<screen>
DEVICE=eth0
HWADDR=52:54:00:B9:A6:C0
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.16.10.2
NETMASK=255.255.255.0
GATEWAY=172.16.10.1
DNS1=8.8.8.8
DNS2=8.8.4.4
</screen>
<note>
<title>IP Addressing</title>
<para>Throughout this document we are assuming that you will
have a /24 network for your CloudStack implementation. This can be any
RFC 1918 network. However, we are assuming that you will match the
machine address that we are using. Thus we may use
<userinput><replaceable>172.16.10</replaceable>.2</userinput> and because
you might be using the 192.168.55.0/24 network you would use
<userinput><replaceable>192.168.55</replaceable>.2</userinput>
</para>
</note>
<para> Now that we have the configuration files properly set up, we need to run a
few commands to start up the network</para>
<screen><prompt># </prompt><userinput><command>chkconfig</command> network on</userinput></screen>
<screen><prompt># </prompt><userinput><command>service</command> network start</userinput></screen>
</section>
<section id="sect-qig-Environment-operatingsys-hostname">
<title>Hostname</title>
<para>
Cloudstack requires that the hostname be properly set. If you used the default
options in the installation, then your hostname is currently set to
localhost.localdomain. To test this we will run: </para>
<screen><prompt># </prompt><userinput>hostname --fqdn</userinput></screen>
<para>At this point it will likely return:</para>
<screen>localhost</screen>
<para>To rectify this situation - we'll set the hostname by editing the
<filename>/etc/hosts</filename> file so that it follows a similar format to this example:<screen>
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.10.2 srvr1.cloud.priv
</screen>
</para>
<para>After you've modified that file, go ahead and restart the network using:</para>
<screen><prompt># </prompt><userinput><command>service</command> network restart</userinput></screen>
<para>Now recheck with the <command>hostname --fqdn</command> command and ensure that it returns
a FQDN response</para>
</section>
<section id="sect-qig-Environment-operatingsys-selinux">
<title>SELinux</title>
<para>At the moment, for CloudStack to work properly SELinux must be
set to permissive. We want to both configure this for future boots and modify it
in the current running system.
</para>
<para>To configure SELinux to be permissive in the running system we need to run
the following command:</para>
<screen><prompt># </prompt><userinput><command>setenforce</command> 0</userinput></screen>
<para>
To ensure that it remains in that state we need to configure the file
<filename>/etc/selinux/config</filename> to reflect the permissive state,
as shown in this example: </para>
<screen>
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
</screen>
</section>
<section id="sect-qig-Environment-operatingsys-ntp">
<title>NTP</title>
<para>NTP configuration is a necessity for keeping all of the clocks in your cloud
servers in sync. However, NTP is not installed by default. So we'll install and
and configure NTP at this stage. Installation is accomplished as follows:
</para>
<screen><prompt># </prompt><userinput><command>yum</command> -y install ntp</userinput></screen>
<para>The actual default configuration is fine for our purposes, so we merely need to
enable it and set it to start on boot as follows:</para>
<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-qig-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.1/
enabled=1
gpgcheck=0
</programlisting>
</section>
</section>
<section id="sect-qig-Environment-nfs">
<title>NFS</title>
<para>
Our configuration is going to use NFS for both primary and secondary
storage. We are going to go ahead and setup two NFS shares for those
purposes. We'll start out by installing
<application>nfs-utils</application>.
</para>
<screen><prompt># </prompt><userinput><command>yum</command> install nfs-utils</userinput></screen>
<para>
We now need to configure NFS to serve up two different shares. This is handled comparatively easily
in the <filename>/etc/exports</filename> file. You should ensure that it has the following content:
</para>
<screen>
/secondary *(rw,async,no_root_squash)
/primary *(rw,async,no_root_squash)
</screen>
<para>
You will note that we specified two directories that don't exist (yet) on the system.
We'll go ahead and create those directories and set permissions appropriately on them with the following commands:
</para>
<screen>
<prompt># </prompt><userinput><command>mkdir</command> /primary</userinput>
<prompt># </prompt><userinput><command>mkdir</command> /secondary</userinput>
</screen>
<para>CentOS 6.x releases use NFSv4 by default. NFSv4 requires that domain setting matches on all clients.
In our case, the domain is cloud.priv, so ensure that the domain setting in <filename>/etc/idmapd.conf</filename>
is uncommented and set as follows:</para>
<screen>Domain = cloud.priv</screen>
<para>Now you'll need uncomment the configuration values in the file <filename>/etc/sysconfig/nfs</filename></para>
<screen>
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
</screen>
<para> Now we need to configure the firewall to permit incoming NFS connections.
Edit the file <filename>/etc/sysconfig/iptables</filename>
</para>
<screen>
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT
</screen>
<para>Now you can restart the iptables service with the following command:
</para>
<screen><prompt># </prompt><userinput><command>service</command> iptables restart</userinput></screen>
<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>
</screen>
</section>
</chapter>

View File

@ -0,0 +1,99 @@
<?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-Management">
<title>Installation of the management server</title>
<para>
Now it is time to start installing CloudStack's management server
and some of the related components.
</para>
<section id="sect-qig-Management-database">
<title>Database Installation and Configuration</title>
<para>
We'll start out by installing <application>MySQL</application> and configuring
some options to ensure CloudStack runs well.
</para>
<para>
To install <application>MySQL</application> run the following command:
<screen><prompt># </prompt><userinput><command>yum</command> -y install mysql-server</userinput></screen>
</para>
<para>With <application>MySQL</application> installed we need to make
a few configuration changes to <filename>/etc/my.cnf</filename>.
Specifically we need to add the following options to the [mysqld] section:
<screen>
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
</screen>
</para>
<para>
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>
</screen>
</para>
</section>
<section id="sect-qig-Management-installation">
<title>Installation</title>
<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>cloudstack-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>cloudstack-setup-management</command></userinput></screen>
</section>
<section id="sect-qig-Management-templatesetup">
<title>System Template Setup</title>
<para>CloudStack uses a number of system VMs to provide functionality for
accessing the console of virtual machines, providing various networking
services, and managing various aspects of storage. This step will
acquire those system images ready for deployment when we bootstrap
your cloud.
</para>
<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/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt</command> -m /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
configure CloudStack, but we will do that after we get our hypervisor
set up.
</para>
</section>
</chapter>

View File

@ -0,0 +1,93 @@
<?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-Overview">
<title>Overview</title>
<para>
Infrastructure-as-a-Service (IaaS) clouds can be a complex thing to build,
and by definition they have a plethora of options, which often lead to confusion
for even experienced admins who are newcomers to building cloud platforms.
The goal for this runbook is to provide a straightforward set of instructions
to get you up and running with CloudStack with a minimum amount of trouble.
</para>
<section id="sect-qig-Overview-What_building">
<title>What exactly are we building?</title>
<para>
This runbook will focus on building a CloudStack cloud using KVM with
CentOS 6.4 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>
<para>
KVM, or Kernel-based Virtual Machine is a virtualization technology
for the Linux kernel. KVM supports native virtualization atop
processors with hardware virtualization extensions.
</para>
<para>
Security Groups act as distributed firewalls that control access
to a group of virtual machines.
</para>
</section>
<section id="sect-qig-Overview-hilevel">
<title>High level overview of the process</title>
<para>
Before we actually get to installing CloudStack, we'll start with
installing our base operating system, and then configuring that to act
as an NFS server for several types of storage. We'll install the
management server, download the systemVMs, and finally install the agent
software. Finally we'll spend a good deal of time configuring the entire
cloud in the CloudStack web interface.
</para>
</section>
<section id="sect-qig-Overview-prereqs">
<title>Prerequisites</title>
<para>
To complete this runbook you'll need the following items:
<orderedlist>
<listitem>
<para>
At least one computer which supports hardware virtualization.
</para>
</listitem>
<listitem>
<para>
The
<ulink url="http://mirror.stanford.edu/yum/pub/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso">
CentOS 6.4 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 will have a dynamic address. Again this is done for
the sake of simplicity.
</para>
</listitem>
</orderedlist>
</para>
</section>
</chapter>

View File

@ -0,0 +1,33 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE preface 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.
-->
<preface id="pref-qig-Preface">
<title>Preface</title>
<xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</xi:fallback>
</xi:include>
</preface>

View File

@ -0,0 +1,42 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE appendix 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.
-->
<appendix id="appe-qig-Revision_History">
<title>Revision History</title>
<simpara>
<revhistory>
<revision>
<revnumber>0-0</revnumber>
<date>Fri Jun 28 2013</date>
<revdescription>
<simplelist>
<member>Initial creation of book by publican</member>
</simplelist>
</revdescription>
</revision>
</revhistory>
</simpara>
</appendix>

177
docs/qig/en-US/config.xml Normal file
View File

@ -0,0 +1,177 @@
<?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-Config">
<title>Configuration</title>
<para>
As we noted before we will be using security groups to provide isolation
and by default that implies that we'll be using a flat layer-2 network.
It also means that the simplicity of our setup means that we can use the
quick installer.
</para>
<section id="sect-qig-Config-UI_Access">
<title>UI Access</title>
<para>
To get access to CloudStack's web interface, merely point your
browser to http://<replaceable>172.16.10.</replaceable>2:8080/client
The default username is 'admin', and the default password is 'password'.
You should see a splash screen that allows you to choose several options
for setting up CloudStack. You should choose the
<option>Continue with Basic Setup</option> option.
</para>
<para>
You should now see a prompt requiring you to change the password for
the admin user. Please do so.
</para>
</section>
<section id="sect-qig-Config-Zone">
<title>Setting up a Zone</title>
<para>
A zone is the largest organization entity in CloudStack - and we'll be creating one, this
should be the screen that you see in front of you now. And for us there are 5 pieces of
information that we need.
<orderedlist>
<listitem>
<para>Name - we will set this to the ever-descriptive 'Zone1' for our cloud.</para>
</listitem>
<listitem>
<para>Public DNS 1 - we will set this to '8.8.8.8' for our cloud.</para>
</listitem>
<listitem>
<para>Public DNS 2 - we will set this to '8.8.4.4' for our cloud.</para>
</listitem>
<listitem>
<para>Internal DNS1 - we will also set this to '8.8.8.8' for our cloud.</para>
</listitem>
<listitem>
<para>Internal DNS2 - we will also set this to '8.8.8.4' for our cloud.</para>
</listitem>
</orderedlist>
</para>
<note>
<title>Notes about DNS settings</title>
<para>
CloudStack distinguishes between internal and public DNS. Internal
DNS is assumed to be capable of resolving internal-only
hostnames, such as your NFS servers DNS name. Public DNS is
provided to the guest VMs to resolve public IP addresses. You can
enter the same DNS server for both types, but if you do so, you
must make sure that both internal and public IP addresses can
route to the DNS server. In our specific case we will not use any
names for resources internally, and we have indeed them set to look
to the same external resource so as to not add a namerserver setup
to our list of requirements.
</para>
</note>
</section>
<section id="sect-qig-Config-Pod">
<title>Pod Configuration</title>
<para>Now that we've added a Zone, the next step that comes up is a prompt
for information regading a pod. Which is looking for 4 items.
<orderedlist>
<listitem>
<para>Name - We'll use Pod1 for our cloud.</para>
</listitem>
<listitem>
<para>Gateway - We'll use <replaceable>172.16.10</replaceable>.1 as our gateway</para>
</listitem>
<listitem>
<para>Netmask - We'll use 255.255.255.0</para>
</listitem>
<listitem>
<para>Start/end reserved system IPs - we will use 172.16.10.10-172.16.10.20 </para>
</listitem>
<listitem>
<para>Guest gateway - We'll use <replaceable>172.16.10</replaceable>.1</para>
</listitem>
<listitem>
<para>Guest netmask - We'll use 255.255.255.0</para>
</listitem>
<listitem>
<para>Guest start/end IP - We'll use <replaceable>172.16.10.</replaceable>30-<replaceable>172.16.10.</replaceable>200</para>
</listitem>
</orderedlist>
</para>
</section>
<section id="Runbook-config-cluster">
<title>Cluster</title>
<para> Now that we've added a Zone, we need only add a few more items for configuring the cluster.
<orderedlist>
<listitem>
<para>Name - We'll use Cluster1</para>
</listitem>
<listitem>
<para>Hypervisor - Choose KVM</para>
</listitem>
</orderedlist>
</para>
<para> You should be prompted to add the first host to your cluster at this point. Only a few bits of information are needed.
<orderedlist>
<listitem>
<para>Hostname - we'll use the IP address <replaceable>172.16.10.</replaceable>2 since we didn't set up a DNS server.</para>
</listitem>
<listitem>
<para>Username - we'll use 'root' </para>
</listitem>
<listitem>
<para>Password - enter the operating system password for the root user</para>
</listitem>
</orderedlist>
</para>
<section id="Runbook-config-cluster-pristorage">
<title>Primary Storage</title>
<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>
</listitem>
<listitem>
<para>Server - We'll be using the IP address <replaceable>172.16.10.</replaceable>2</para>
</listitem>
<listitem>
<para>Path - Well define /primary as the path we are using </para>
</listitem>
</orderedlist>
</para>
</section>
<section id="Runbook-config-cluster-secstorage">
<title>Secondary Storage</title>
<para> If this is a new zone, you'll be prompted for secondary storage information - populate it as follows:
<orderedlist>
<listitem>
<para>NFS server - We'll use the IP address <replaceable>172.16.10.</replaceable>2</para>
</listitem>
<listitem>
<para>Path - We'll use /secondary</para>
</listitem>
</orderedlist>
</para>
<para> Now, click Launch and your cloud should begin setup - it may take several minutes depending on your internet connection speed for setup to finalize.</para>
</section>
</section>
</chapter>

142
docs/qig/en-US/kvm.xml Normal file
View File

@ -0,0 +1,142 @@
<?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>

22
docs/qig/en-US/qig.ent Normal file
View File

@ -0,0 +1,22 @@
<!-- 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.
-->
<!ENTITY PRODUCT "Apache CloudStack">
<!ENTITY BOOKID "Quick Install Guide">
<!ENTITY YEAR "2013">
<!ENTITY HOLDER "Apache Software Foundation">

36
docs/qig/en-US/qig.xml Normal file
View File

@ -0,0 +1,36 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Runbook.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.
-->
<book>
<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Overview.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Environment.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Management.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="kvm.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="config.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<!-- <index /> -->
</book>