7

Click here to load reader

Cloud Computing Platform Deployment using Openstack …€¦ · One Devstack controller and compute node are created, configured and installed with our deployment ... building Openstack

Embed Size (px)

Citation preview

Page 1: Cloud Computing Platform Deployment using Openstack …€¦ · One Devstack controller and compute node are created, configured and installed with our deployment ... building Openstack

International Journal of All Research Education and Scientific Methods (IJARESM)

ISSN: 2455-6211, Volume 5, Issue 4, April 2017, Impact Factor: 2.287

25

Cloud Computing Platform Deployment using

Openstack within a Stand-alone Environment

Liangbin Zhang1, Yuanming Wang

2, Ran Jin

3, Shaozhong Zhang

4, Kun Gao

5

1,2,3,4School of Electronics and Computer Science, Zhejiang Wanli University, Ningbo, China.

5Intelligent Electronic Institute, Zhejiang Business Technology Institute, Ningbo, China.

ABSTRACT

Cloud computing gradually becomes mature which is a current research hotspot in the past ten years.

Openstack exceeded the market as a scalable, performant and highly adaptive open source architecture for

both public and private cloud solutions like Amazon EC2. In this paper, we describe Openstack architecture

and deploy Openstack experimental platform using automated scripting tools named Devstack within a single

computer. One Devstack controller and compute node are created, configured and installed with our

deployment strategy and automated scripts as detailed as possible. Most of the instance life cycle can be

implemented and shown in our experimental framework, which can not only be greatly contributed to

further research of Openstack components functionalities and interaction but also can improve deployment

ability of Openstack in the production environment throughout an experimental test-bed.

Keywords: Cloud computing infrastructures, Openstack, Devstack, Virtualized Laboratories.

I. INTRODUCTION

Cloud computing has become an increasingly active topic. The cloud computing paradigm promises to deliver

hardware to the end user at a low cost with an easy to use interface via the internet, which offers a variety of

different service models in which in the resources can be deployed [1].

(1) Infrastructure as a Service(Iaas)—This service model allows the resources to be deployed directly as

fundamental computing resources including processing, storage and network resources. Using this hardware the end

user can run arbitrary software including operating systems and applications. The end user does not manage the

underlying fixed infrastructure used to provide the cloud services but instead can control how the resources are

deployed. Typical example is Amazon AWS or Rackspace.

(2)Platform as a Services(Paas) —This service model allows custom applications to be deployed into the cloud

without the need for the end user to manage the hardware. Typical example is Microsoft’s Azure or Goolge App

Engine.

(3)Software as a Service(Saas)—This service model allows the end user to use software provided by the same

provider as the hardware via a thin client interfaces such as web browsers. Typical example is GoogleDocs or

MicrosoftOfficeOnline.

Iaas provides infrastructure as an on-demand service. There is increasing use of Iaas, in which virtual servers, virtual

storage, and other such virtual environments are provided, as exemplified by Amazon Web Services (AWS). This situation has given rise to an open source software (OSS) community whose objectives are reduced cost and open

development in the construction of Iaas platforms.

Openstack is an OSS IaaS platform development project established by NASA and Rackspace in 2010 [2]. Now

Openstack has been increasingly widely applied and over 200 companies have been involved in the Openstack

project such as AMD,AT&T,IBM,NEC, Dell, Intel and HP, which has gradually become the standard of the open

cloud platform in fact [3]. One classic example is used Openstack to deal with very large amount of data form all

walk of life.

Page 2: Cloud Computing Platform Deployment using Openstack …€¦ · One Devstack controller and compute node are created, configured and installed with our deployment ... building Openstack

International Journal of All Research Education and Scientific Methods (IJARESM)

ISSN: 2455-6211, Volume 5, Issue 4, April 2017, Impact Factor: 2.287

26

Hands-on experiments for new learners are essential to the research of Openstack, which are carried out in single

computer laboratory. However, it is quite difficult for new learner to construct a cloud computing experimental

platform based on Openstack, which would spend enough time dealing with a large number of tedious technology

problems in the process of platform construction. To resolve the problems in the platform construction labs and meet

new study requirements, it is proposed with a framework for construct a cloud computing experimental platform

using Openstack within a standy-alone environment in this paper. The rest of the paper is organized as follows: the architecture of openstack is described in Section II; building Openstack cloud computing experimental platform is

further elaborated in Section III; Section IV presents an implementation instance; some conclusions and future work

are finally drawn in Section V.

II. THE ARCHITECTURE OF OPENSTACK

Openstack is an open source and fully distributed system. Openstack provides an Infrastructure as a Service (Iaas)

and constitutes of resources such as compute, storage and network resources. Openstack is a manager of multiple

hypervisors such as KVM, Xen, Hyper-V and ESXI, and it is a collection of tools for managing and orchestrating

cloud resources [4]. Openstack keeps its services as decoupled as possible, which is designed to provide massive

scalability. Openstack version 14th was released in October 2016 under code name ―Newton‖ [5].

Fig.1 Openstack conceptual architecture

Fig.1 shows the Openstack conceptual architecture with all native software components, developed by companies

and individual supporters, depicting how they interact with each other [6]. We describe those components dividing

them into two groups of essential or optional services. Services can be installed in accordance with requirements,

which mean that we can install all or only a few. The essential services for a basic cloud architecture implementation

are elaborated as follows:

Nova: It is the core service of the Openstack architecture, which manages the life cycle of VM (Virtual Machine). It

provides virtual servers upon demand interacting with the hypervisors such as KVM, Xen, VMware or Hyper-V. It’s

an array of software that provides services for cloud resource management through its APIs, capable of orchestrating

running instances, networks and access control.

Neutron: It provides network connectivity services for openstack and it is responsible for the creation and

management of L2, L3 network, whichprovides virtual network and physical network connection for VM. It allows

users to take leverage of frameworks such as intrusion detection system, load balancing, virtual private networks

from supported vendors.

Page 3: Cloud Computing Platform Deployment using Openstack …€¦ · One Devstack controller and compute node are created, configured and installed with our deployment ... building Openstack

International Journal of All Research Education and Scientific Methods (IJARESM)

ISSN: 2455-6211, Volume 5, Issue 4, April 2017, Impact Factor: 2.287

27

Glance: It provides services for discovering, registering and retrieving virtual images through an API that allows

querying of VM image metadata, catalog and manage large libraries of server images.

Cinder: It provides persistent block storage services or volumes services for tenant virtual machine. Every volume

provided with Cinder in the VM seems to be a virtual data hard disk. By working with Swift, Cinder can use it to

back up the VMs volumes.

Keystone: The Openstack identity is a single point of integration for Openstack policy, catalog, authentication and

authority control, applying them to users and services interactions.

Horizon: It provides a modular web application as a user interface for cloud infrastructure management by

interacting with all other services public APIs.

In addition, Swift and Ceilometer are the optional Services of Openstack stated as follows:

Swift: It is known as Openstack Object Storage and Swift is a highly available, distributed object/blob store. VM

can store object data using restful API. It can be used by Cinder component to back up VMs volumes. Meanwhile,

Glance can also store virtual images in Swift.

Ceilometer: It provides a configurable collection of metering data in terms of CPU and network costs available

from all other services in the platform, delivering a unique point of contact for billing systems.

Moreover, all the modules of Openstack are developed by Python. Compared with other programming languages

such as Java and C#, Python has a higher parallel processing capabilities and a lower rate of system resources

occupation [7].

III. OUR FRAMEWORK OF OPENSTACK PLATFORM DEPLOYMENT WITHIN A STAND-ALONE

ENVIRONMENT

Obviously as a new Openstack learner, requirement of Openstack cloud platform deployment in personal computer

is very necessary even urgent. There are a variety of ways to install Openstack cloud platform such as manual

command line, automated scripts, third party graphical and so on [8-10]. Devstack is one of automated scripting tools,

which is the most widely used in deployment of Openstack[11]. We provide a practicable framework of Devstack

experimental platform deployment in a single computer that you can see and touch on screen.

Services and configuration of the Devstack Controller and Compute node Normally, physical hardware

configuration of individual machine is limited. In our framework, minimum configuration of the single physical

machine is needed including dual core (e.g., I5-3230 Intel CPU,2.6Ghz main frequency), 12G RAM and 100G hard

disk. In order to make the simple topology and complete function, we use two virtual machines with software of the

VMware workstation in a single computer as Devstack controller and compute node each.Fig.2 shows Openstack

services and configurations of the CPU, RAM, Storage and NIC of the Devstack-controller and Devstack-compute node in our framework.

Fig.2 Services and configurations of controller and compute node in our framework

Page 4: Cloud Computing Platform Deployment using Openstack …€¦ · One Devstack controller and compute node are created, configured and installed with our deployment ... building Openstack

International Journal of All Research Education and Scientific Methods (IJARESM)

ISSN: 2455-6211, Volume 5, Issue 4, April 2017, Impact Factor: 2.287

28

Our experimental network topology of Openstack cloud computing platform Logically, Openstack cloud platform

operation contains four kinds of network flows at least [12]. Management network is used to internal message queue

communication in each node and enabled to access to database services. API network is used to provide user API

services throughout each component and administrators can alo use API network to manage each node with SSH.

VM network is also called tenant network, which is included local, flat, vlan, vxlan and gre multi network

typesconfiguration and management by Neutron. External network is used to access the external network for instances, which may be enterprise intranets or Internet.

In our experimental framework, two VMs in the single computer acts as Devstack-controller and compute node have

three network adapters (eth0,eth1,eth2) and two network adapters(eth0,eth1) respectively. Firstly, eth0 network

adapter is used for merge management network and API network and enabled to install Ubuntu Operation System

on-line, which is setup by adapter NAT network type with the default IP address of 192.168.80.0/24 in the VMware

workstation of the single computer. Secondly, eth1 network adapter is used to commute with VM each, which is

setup by adapter Host-only network type with the default IP address of 192.168.10.0/24 in the VMware workstation

of the single computer. Finally, eth2 network adapter is used to access the external network for instances.

Fig.3 shows our experimental network topology of Openstack cloud computing platform. It is important to note

that Devstack controller node is integrated with controller, network and compute multi-function services logically. Here, we choose the most widely used VLAN network types as VM network. As can be known from Fig.3, VM1

and VM2 are assigned to VLAN 100 while VM3 is assigned to VLAN101, so VM1 can communicate with VM2 but

cannot communicate with VM3 in the layer-2 network mode.

Fig.3 Our framework of Openstack network topology

Main experimental deployment procedure Preparation experimental environment of Devstack cloud platform is

statedas follows:

Step1: Refer to Fig.2 and Fig.3, we create two VMs (Devstack controller and compute node) and install Ubuntu OS

with the software of VMware workstation in a Stand-alone computer. Eth0 network adapter of VM is setup by

adapter NAT type with the default IP address of 192.168.80.0/24 (e.g., controller IP address is 192.168.80.100,

Page 5: Cloud Computing Platform Deployment using Openstack …€¦ · One Devstack controller and compute node are created, configured and installed with our deployment ... building Openstack

International Journal of All Research Education and Scientific Methods (IJARESM)

ISSN: 2455-6211, Volume 5, Issue 4, April 2017, Impact Factor: 2.287

29

compute IP address is 192.168.80.200) and Ubuntu-16.04.1-server-amd64.ISO is installed on-line. In order to speed

up the installation package download, Ubuntu apt sources are reset from abroad to domestic such as aliyun mirror.

Moreover, we allow root user to access Ubuntu operating system with SSH logging.

Step2: Among controller and compute node, Eth0, Eth1 and Eth2 network adapters are created for management &

API network, VM network and external network respectively. Actually, Eth0 network adapter is also used to install Ubuntu and deploy Devstack.

Step3: Devstack controller and compute node are installed and deployed respectively

(1) Python package is installed throughout the command ―apt install python-pip‖and Newton as the latest

Openstack version is downloaded throughout the command ―git clone https://git.openstack.org/openstack -

dev/Devstack -b stable /newton‖

(2) User ―stack‖ as the Devstack exclusive user is created throughout the command ―Devstack /tools / create-stack-

user.sh‖.Then the pip domestic sources such as douban mirrors are reset for both users of root and stack to accelerate

downloading. We move Devstack’s working directory with root identity throughout the command ―mv Devstack

/opt/stack‖ , set permissions for stack user in the working directory throughout the command ―chown–R stack: stack /opt/stack/Devstack‖ and switch to the stack user as the current Ubuntu user.

(3) ―local.conf‖ as the configuration file in the directory ―/opt/stack/Devstack‖ is created and executed in controller

and compute node each. In order to speed up the installation speed, the configuration file is selected the domestic

trystack mirrors.Fig.4 shows the general contents of controller and compute node configuration files.

Fig.4 Devstack configuration files of controller and compute node

(4) Finally, deployment is starting throughout the command ―./stack.sh‖ in controller and compute node

respectively. It takes a long time for whole installation process throughout connecting to Internet and every running

process have a detailly real-time output results on screen.Fig.5 and Fig.6 show successful deployment outputs of

controller and compute node.

controllerlocal.conf

MULTI_HOST=true

HOST_IP=192.168.80.100

LOGFILE=/opt/stack/logs/stack.sh.log

ADMIN_PASSWORD=admin

MYSQL_PASSWORD=secret

RABBIT_PASSWORD=secret

SERVICE_PASSWORD=secret

SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

disable_service n-net

enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-

lbaas,q-fwaas

Q_AGENT=linuxbridge

ENABLE_TENANT_VLANS=True

TENANT_VLAN_RANGE=3001:4000

PHYSICAL_NETWORK=default

LOG_COLOR=True

LOGDIR=$DEST/logs

SCREEN_LOGDIR=$LOGDIR/screen

# use TryStackgit mirror

GIT_BASE=http://git.trystack.cn

NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git

SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git

computelocal.conf

MULTI_HOST=true

HOST_IP=192.168.80.200

ADMIN_PASSWORD=admin

MYSQL_PASSWORD=secret

RABBIT_PASSWORD=secret

SERVICE_PASSWORD=secret

SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

SERVICE_HOST=192.168.80.100

MYSQL_HOST=$SERVICE_HOST

RABBIT_HOST=$SERVICE_HOST

GLANCE_HOSTPORT=$SERVICE_HOST:9292

Q_HOST=$SERVICE_HOST

KEYSTONE_AUTH_HOST=$SERVICE_HOST

KEYSTONE_SERVICE_HOST=$SERVICE_HOST

ENABLED_SERVICES=n-cpu,q-agt,neutron

Q_AGENT=linuxbridge

ENABLE_TENANT_VLANS=True

NOVA_VNC_ENABLED=True

NOVNCPROXY_URL="http://$SERVICE_HOST:6080

/vnc_auto.html"

VNCSERVER_LISTEN=$HOST_IP

VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSE

RVER_LISTEN

#use Log andTryStack mirror are the same as controller

Page 6: Cloud Computing Platform Deployment using Openstack …€¦ · One Devstack controller and compute node are created, configured and installed with our deployment ... building Openstack

International Journal of All Research Education and Scientific Methods (IJARESM)

ISSN: 2455-6211, Volume 5, Issue 4, April 2017, Impact Factor: 2.287

30

Fig. 5 deployment output of controller node Fig. 6 deployment output of compute node

IV. TEST AND VERIFICATION OF OUR DEVSTACK CLOUD COMPUTING PLATFORM

Here, the third VM (Win7 Operating System, 2G RAM, 6Ghard disk and 1 NIC) as a platform user is created by the software VMware workstation in current physical computer. Network adapter type is setup NAT mode (e.g., IP

address is 192.168.80.201) and it can use web browser access to dashboard of the Devstack controller node

throughout URL address of http://192.168.80.100. A test Instance (cloud host) is created as follows:

(1)Firstly, cirros-0.3.3-x86_64-disk.image is the minimum linux test mirror (about 9M), which can be downloaded

from website (http://download.cirros-cloud.net). Then it can be uploaded from user computer to controller node

throughout management dashboard of Openstack.

(2)Next, a local-network is created, subnets address is setup with 172.10.10.0/24, gateway IP address is setup with

172.10.10.1 and default DHCP server’s IP address is 172.10.10.2.

(3)Finally, a new instance is created by choosing cirros image, local-network and m1.tiny shown in Fig.7. Openstack

user can directly login to the instance through the command line console and the instance can communicate with

DHCP Server shown in Fig.8.

In our experimental cloud platform, most of the instance life cycle can be implemented and shown including launch,

shut off, start, soft/hard reboot, suspend/resume, even resize and migrate under the different operating scenarios,

which may deepen understanding of Openstack’s components interaction.

Fig.7 creating instance of Openstack platform Fig.8 command operating of instance console

CONCLUSIONS AND FUTURE WORK

Cloud computing is a powerful and flexible software environment. In this paper, we have presented a proposal for

deploying a cloud computing experimental platform within a stand-alone environment, particularly over Openstack

Page 7: Cloud Computing Platform Deployment using Openstack …€¦ · One Devstack controller and compute node are created, configured and installed with our deployment ... building Openstack

International Journal of All Research Education and Scientific Methods (IJARESM)

ISSN: 2455-6211, Volume 5, Issue 4, April 2017, Impact Factor: 2.287

31

using automated scripting tools named Devstack. Experiment shows that our framework is effective and feasible. It

is based on one controller and compute node, which can provide a real debugging research cloud platform of

personal learning as long as the personal PC hardware requirements especially large RAM are fully ensured.

In order to better simulate the production environment, the next work is to deploy Openstack cloud platform using

third party tools such as Fuel, deploy dual redundancy of controller node and install network node in each compute node for relieving export flow of control node.

ACKNOWLEDGMENTS

This work was partly supported by the Natural Science Foundation of Zhejiang (LY16G020012 and LY16F020012),

Major Research Projects of Humanities and Social Sciences in Colleges and Universities of Zhejiang (2014GH015).

REFERENCES

[1]. G Garrison, S Kim, RL Wakefield,―Success factors for deploying cloud computing‖,Communications of the ACM,

vol.55,2012,pp.62-68. [2]. F. callegati, W. Cerroni, C. Contoli, et al,‖ performance of network virtualization in cloud computing infrastructures: the

Openstack Case‖, IEEE 3rd International Conference on Cloud Network, 2014, pp.132-137. [3]. G. Robles, J.M. Gonzalez and C. Cervigon. ―Estimating development effort in free/open source software projects by mining

software repositories: a case study of Openstack‖, Proceedings of the 11th IMSR, India, 2014,pp. 222-231. [4]. ShalmaliSuhas, Sahasrabudhe, shilpa S. Sonawani. ―Comparing Openstack and VMware‖, International Conference an

Advances in Electronics, computers and Communications (ICAECC), 2014,pp. 128-131. [5]. Openstack home page, available: http://www.openstack.org/ [6]. T. Rosado and J. Bernardino, ―An overview of Openstack architecture‖, Proceeding of the 18th IDEAS, Portugal, 2014,

pp.366-368. [7]. Cen shao, Bo liang, Feng Wang, et al. ―Openstack platform and its application in big data processing‖, 8th International

Conference on Intelligent Network and Intelligent Systems,2015,pp.98-101. [8]. JunWang,‖ Implementation of cloudy platform of enterprise private cloud based on Openstack‖,Dalian University of

Technology Master Degree Paper, China, 2015.

[9]. Xiaoning Li, leiLi, Lianwen Jin, et al,‖ Constructing a Private Cloud Computing Platform based on Openstack‖, telecommunications science, vol.27,2012,pp.1-8.

[10]. Youli Zhou, ―Openstack platform based on single node and single network card‖, computer knowledge and technology, vol.13, 2016, pp.60-62.

[11]. Devstack home page,available: http://docs.openstack.org/developer/Devstack/ [12]. Cloudman,5 minutes a day to play along with Openstack, China:Tsinghua university press,2017.