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:

[root@xenserver ~]# 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 root@cloudstack ~]# setenforce permissive
  5. Disable the firewall [root@cloudstack ~]# service iptables stop and [root@cloudstack ~]#chkconfig iptables off

8. I installed wget

root@cloudstack ~]# yum install wget

9. I updated the OS

root@cloudstack ~]#yum update

10. From the Centos shell I downloaded Cloudstack

root@cloudstack ~]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

[root@cloudstack ~]# tar xvf CloudStack-oss-3.0.2-1-rhel6.2.tar.g

12. Started the installer:

a. [root@cloudstack ~]# cd CloudStack-oss-3.0.2-1-rhel6.2

b. [root@cloudstack ~]# ./install.sh

c. Enter “M” for the Management server

d. [root@cloudstack ~]#service rpcbind start [root@cloudstack ~]#chkconfig rpcbind on

e. [root@cloudstack ~]#service nfs start [root@cloudstack ~]#chkconfig nfs on

13. Setup MySQL :

a. Rerun the installer: [root@cloudstack ~]# ./install.sh

b. Select “D” for database

c. [root@cloudstack ~]# 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. [root@cloudstack ~]# service mysqld restart

e. [root@cloudstack ~]# mysql -u root

f. Create a password:

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

g. Setup the databases

i. [root@cloudstack ~]# cloud-setup-databases cloud:deepsecurity@localhost --deploy-as=root:”password”

14. Setup the cloud manager

a. [root@cloudstack ~]# cloud-setup-management

15. Setup NFS sharing:

a. [root@cloudstack ~]# more /etc/exports

/export	*(rw,async,no_root_squash)

 

b. [root@cloudstack ~]# exportfs –a

c. create mountpoints

i. [root@cloudstack ~]# mkdir -p /export/primary

ii. [root@cloudstack ~]# 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).