Click here to load reader
Upload
trankhuong
View
214
Download
0
Embed Size (px)
Citation preview
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.
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.
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
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,
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
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
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.