Virtualization and Cloud

Jonathan Gershater

Subscribe to Jonathan Gershater: eMailAlertsEmail Alerts
Get Jonathan Gershater: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Cloud Computing, Virtualization Magazine, Cloud Development Tools

Tutorial

Easy Install of Cloudstack on Defunct Hardware for a Home Lab

Installing Cloudstack in less than an hour

To learn more about Cloud IaaS offerings, I painlessly setup Cloudstack, from Citrix, on two (outdated and defunct) DELL Optiplex 740 desktop computers.

Each desktop is configured with 8GB of memory and the processors are VT compatible (meaning they can run virtualization technology software – a hypervisor).

At first attempt, the Cloudstack software would not recognize the internal disk drives. Thinking that my old hardware would not run cloudstack, I researched the non-descript error and decided that the installer was not able to detect the disks because of the pre-existing software installed.

Thus I proceeded as follows to create clean disks:

  • I created a “live CD”, a bootable CD, with partitioning software.
  • I booted each DELL from the “live CD” and deleted the partitions on the disk.

Install the Hypervisor XENSERVER on Dell 1

  1. IP address (10.10.1.20) and hostname (xenserver.local) ready
  2. Download XenServer 6.0.2
  3. Boot from CD
  4. Select a keyboard layout
  5. Accept the license
  6. Skip the disk check
  7. Set a root password
  8. Enter IP information for the network card
  9. Select the timezone
  10. Select “install XENSERVER”

After the install, output should look like:

[[email protected] ~]# uname -a

Linux xenserver.local 2.6.32.12-0.7.1.xs6.0.2.542.170665xen #1

Install the Cloudstack Manager on Dell 2

  1. I created a CD of Centos6 using the minimal download
  2. Booted the DELL from the Centos CD and performed a basic install, ensuring that I configured a static IP address (10.10.1.19) and FQDN(cloudstack.local).
  3. Thus my output of “uname –a” is: Linux cloudstack.local 2.6.32-220.17.1.el6.x86_64
  4. I set the enforcing level of Linux to “permissive” by editing the file “vi /etc/selinux/config” and running the command r[email protected] ~]# setenforce permissive
  5. Disable the firewall [[email protected] ~]# service iptables stop and [[email protected] ~]#chkconfig iptables off

8. I installed wget

[email protected] ~]# yum install wget

9. I updated the OS

[email protected] ~]#yum update

10. From the Centos shell I downloaded Cloudstack

[email protected] ~]wget: http://sourceforge.net/projects/cloudstack/files/CloudStack%20Acton/3.0.2/CloudStack-oss-3.0.2-1-rhel6.2.tar.gz/download

11. unzipped the download

[[email protected] ~]# tar xvf CloudStack-oss-3.0.2-1-rhel6.2.tar.g

12. Started the installer:

a. [[email protected] ~]# cd CloudStack-oss-3.0.2-1-rhel6.2

b. [[email protected] ~]# ./install.sh

c. Enter “M” for the Management server

d. [[email protected] ~]#service rpcbind start [[email protected] ~]#chkconfig rpcbind on

e. [[email protected] ~]#service nfs start [[email protected] ~]#chkconfig nfs on

13. Setup MySQL :

a. Rerun the installer: [[email protected] ~]# ./install.sh

b. Select “D” for database

c. [[email protected] ~]# vi /etc/my.cnf so that it looks like this:

[mysqld]
datadir=/var/lib/mysql
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pi

d. [[email protected] ~]# service mysqld restart

e. [[email protected] ~]# mysql -u root

f. Create a password:

i. mysql> SET PASSWORD =  PASSWORD (‘password’);

g. Setup the databases

i. [[email protected] ~]# cloud-setup-databases cloud:[email protected] --deploy-as=root:”password”

14. Setup the cloud manager

a. [[email protected] ~]# cloud-setup-management

15. Setup NFS sharing:

a. [[email protected] ~]# more /etc/exports

/export	*(rw,async,no_root_squash)

 

b. [[email protected] ~]# exportfs –a

c. create mountpoints

i. [[email protected] ~]# mkdir -p /export/primary

ii. [[email protected] ~]# mkdir -p /export/secondary

 

16. Setup the cloud template:

a. # /usr/lib64/cloud/agent/scripts/storage/secondary/cloud-install-sys-tmplt –m

b. # /export/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-

c. # /usr/lib64/cloud/agent/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2 -h xenserver -F

17. Login to the UI

a. http://10.10.1.19:8080/client

b. Perform a basic setup

c. Set the “admin” password

More Stories By Jonathan Gershater

Jonathan Gershater has lived and worked in Silicon Valley since 1996, primarily doing system and sales engineering specializing in: Web Applications, Identity and Security. At Red Hat, he provides Technical Marketing for Virtualization and Cloud. Prior to joining Red Hat, Jonathan worked at 3Com, Entrust (by acquisition) two startups, Sun Microsystems and Trend Micro.

(The views expressed in this blog are entirely mine and do not represent my employer - Jonathan).