CLOUD COMPUTING via OPENSTACK IN Ubuntu 12.04
Ubuntu Cloud
Cloud computing is a computing model that
allows vast pools of resources to be allocated on-demand. These resources
such as storage, computing power, network and software are abstracted and
delivered as a service over the Internet anywhere, anytime. These services
are billed per time consumed similar to the ones used by public services
such as electricity, water and telephony. Ubuntu Cloud
Infrastructure uses OpenStack open source software to help
build highly scalable, cloud computing for both public and private
clouds.
Prerequisites
To deploy a minimal Ubuntu Cloud infrastructure, you'll need at
least:
-
One dedicated system. -
Two network address ranges (private network and public network). -
Make sure the host in question supports VT ( Virtualization Technology ) since we will be using KVM as the virtualization technology. Other hypervisors are also supported such as QEMU, UML, Vmware ESX/ESXi and XEN. LXC (Linux Containers) is also supported through libvirt.
Preconfiguring the network
1. Install bridging support
sudo apt-get install bridge-utils
2. Install and configure NTP
sudo apt-get install ntp
3. Add these two lines at the end of the
/etc/ntp.conf file.
server 127.127.1.0
fudge 127.127.1.0 stratum 10
4. Restart ntp service
sudo service ntp restart
5. Install and configure MySQL
sudo apt-get install mysql-server
6. Create a database and mysql user for OpenStack
sudo mysql -uroot -ppassword -e "CREATE DATABASE nova;"
sudo mysql -uroot -ppassword -e "GRANT ALL ON nova.* TO novauser@localhost \
IDENTIFIED BY 'novapassword';"
Install OpenStack Compute (Nova)
1. Install OpenStack Nova components
sudo apt-get install nova-api nova-network nova-volume nova-objectstore
nova-scheduler \
nova-compute euca2ools unzip
2. Restart libvirt-bin just to make sure libvirtd is aware of
ebtables.
sudo service libvirt-bin restart
3. Install RabbitMQ - Advanced Message Queuing Protocol (AMQP)
sudo apt-get install rabbitmq-server
4. Edit /etc/nova/nova.conf and add the
following:
# Nova config FlatDHCPManager
--sql_connection=mysql://novauser:novapassword@localhost/nova
--flat_injected=true
--network_manager=nova.network.manager.FlatDHCPManager
--fixed_range=10.0.0.0/24
--floating_range=10.153.107.72/29
--flat_network_dhcp_start=10.0.0.2
--flat_network_bridge=br100
--flat_interface=eth1
--public_interface=eth0
5. Restart OpenStack services
for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume nova-compute; \
do sudo stop $i; sleep 2; done
6. Migrate Nova database from sqlite db to MySQL db. It may take a
while.
sudo nova-manage db sync
7. Define a specific private network where
all your Instances will run. This will be used in the network of fixed
Ips set inside nova.conf .
sudo nova-manage network create --fixed_range_v4 10.0.0.0/24 --label private \
--bridge_interface br100
8. Define a specific public network and allocate 6 (usable) Floating
Public IP addresses for use with the instances starting from
10.153.107.72.
sudo nova-manage floating create --ip_range=10.153.107.72/29
9. Create a user (user1), a project (project1), download credentials
and source its configuration file.
cd ; mkdir nova ; cd nova
sudo nova-manage user admin user1
sudo nova-manage project create project1 user1
sudo nova-manage project zipfile project1 user1
unzip nova.zip
source novarc
10. Verify the OpenStack Compute installation by typing:
sudo nova-manage service list
sudo nova-manage version list