You are on page 1of 65

OpenStack

~ Quick Start Icehouse~


Japan OpenStack Users Group
Internet Initiative Inc.

Hideki Saito (@saito_hideki)

ver2.1

OpenStack

( )

twitterid: @saito_hideki

(IIJ)

http://www.iij.ad.jp/

OpenStack

OpenStack()
3

OpenStack
OpenStack20101st(Austin)Havana)

2014/049(Icehouse)

(CloudOS)
OpenStack
PC
**

(: 2014WIDE OpenStack)

CloudOS
//

20072016IDC Japan

(: 2014WIDE OpenStack)

CloudOS

(: 2014WIDE OpenStack)

CloudOS

OS

OS( wikipedia)

etc

(: 2014WIDE OpenStack)

CloudOS
OS
OS
OS
OS

OS

OS

OS( wikipedia)
8

(: 2014WIDE OpenStack)

OS()

Create

File%A

Modify

File%A

Backup
File%A

Copy
File%B

Modify

File%A

Delete

(: 2014WIDE OpenStack)

CloudOS()
Create

VM#A

Modify

VM#A

Backup#
snapshot#
VM#A

Modify

VM#A

Copy
GoldenI
mage

Copy#&#Boot

VM#B

VM#C

10

Delete

(: 2014WIDE OpenStack)

CloudOS
1. WebUI/GUI/CLI
2. API
3. ()
4.
5.
6.
7. (3)
8.
9.
11

(: 2014WIDE OpenStack)

OpenStack

OpenStack: The Open Source Cloud Operating System

IaaS
2010 Racksapce NASA
OpenStack Foundation

12

(: 2014WIDE OpenStack)

OpenStack

REST API

API

Vendor Neutral OpenStack Foundation

13

(: 2014WIDE OpenStack)

OpenStack
Aus?n

Bexar C

Essex

Grizzly

Folsom

Havana Icehouse

Compute

Nova

Object;Storage

Swi$

Image;Service

Glance
Keystone

Iden?ty;Service

Horizon

Dashboard

Cinder

Block;Storage

Neutron

Networking

Ceilometer

Telemetry

Orchestra?on

Heat
Trove

Database

14

(: 2014WIDE OpenStack)

OpenStack
Your Applications

Horizon
(Dashboard)

Heat

L2

FW

Glance

SnapShot

Cinder

Swift

Keystone

Neutron

Nova

ReST

15

Ceilometer

OpenStack API

(: 2014WIDE OpenStack)

OpenStack
OSS CloudOS

Linux kernel

Compute : libvirt, KVM, cgroup

Networking
-

iptables, ebtables, tc, network namespace

dnsmasq, Open vSwitch

(OpenFlow controller)

Storage : LVM, iSCSI

Database : MySQL, PostgreSQL

Message Queue : RabbitMQ, Qpid, ZeroMQ

16

OpenStack

17

()
PC(MacBookAir)Host
VirtualBox

PC(Apple MacBook Air 11inch)


-

CPU: Intel Core i7 (1.7GHz)

Memory: 8GB

SSD: 256GB

OS: MacOS X 10.9.2

VirtualBox
-

version 4.3.10 r93012

GuestOS CentOS 6.5 x86_64 (2014-05-11)


RDO & packstackx86_64

OpenStack
-

2014.1 Icehouse

RDO & packstack


18

()
VirtualBox
HostOnlyNetwork
vboxnet0
ComputeVM

IPv4: 192.168.0.240

IPv4: 255.255.255.0

DHCP:

vboxnet1
OpenStack

IPv4: 172.16.0.240

IPv4: 255.255.255.0

DHCP:

19

(Guest)
4GB
CPU x 1
HDD 20GB(format:VDI)
MEM 4GB
Network
- Adapter1 (vboxnet0)
- ->->->
- DHCP o

- Adapter2 (vboxnet1)

->->->

DHCP o

Adapter3 (NAT)
20


vboxnet0
192.168.0.0/24
FloatingIP

NATRDO &
packstackOpenStack

br-ex: 192.168.0.1
eth0: IP

rdo
OpenStack BOX
GuestOS
eth2
10.0.4.15

eth1
172.16.0.1

eth0OpenStack
(br-ex)
IP

NAT
10.0.4.0/24

10.0.4.2

vboxnet1
172.16.0.0/24

vboxnet0: 192.168.0.240

MacBook Air
HostOS

vboxnet1: 172.16.0.240

21

OpenStack
-

Havana

http://enterprisecloud.jp/installguide-openstack/

devstack
OpenStack

http://devstack.org/

RDO & packstack


RedHatrpmPuppet
RedHatOSRDO

http://openstack.redhat.com/Main_Page

22


OS(1)
1. /etc/hosts(root)
127.0.0.1
172.16.0.1

localhost
rdo

2. /etc/syscong/network(root)
NETWORKING=yes
HOSTNAME=rdo

3. /etc/syscong/network-scripts/ifcfg-eth0(vboxnet0) (root)
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet

4. /etc/syscong/network-scripts/ifcfg-eth1(vboxnet1) (root)
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=172.16.0.1
PREFIX=24

23


OS(2)
5. /etc/syscong/network-scripts/ifcfg-eth2(NAT network) (root)
DEVICE=eth2
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet

6. OS(root )

24


RDO & packstackOpenStack(1)

MySQL

MongoDB

RabbitMQ

Keystone

Glance

Cinder

Nova

Neutron

Horizon

Swift

Heat

Ceilometer

Tempest

OpenStack Client

Nagios
25


RDO & packstackOpenStack(1)
1. stackwheel(root)
# useradd -G wheel stack
# passwd stack
Changing password for user stack.
New password: ********
Retype new password: ********
passwd: all authentication tokens updated successfully.

2. /etc/sudoerswheelsudo(root)
%wheel ALL=(ALL)

ALL

3. RDO(stack)
OS
$ sudo yum install -y \
http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-4.noarch.rpm
$ sudo yum update -y
$ sudo reboot

4. packstack(2014.1.1-0.25.dev1208)(stack)
$ sudo yum install -y openstack-packstack-2014.1.1-0.25.dev1208.el6

26


RDO & packstackOpenStack(2)
5. packstackanswer(stack)
answer
$ sudo yum install -y git
$ git clone https://github.com/h-saito/packstack-answer.git && cd packstack-answer
$ git checkout -b 2014.1.1-0.25.dev1208 refs/tags/openstack-packstack-2014.1.1-0.25.dev1208

6. packstackOpenStack(stack)
301
$ packstack --answer-file=all-in-one.conf

nagiosadmin
**** Installation completed successfully ******

Additional information:
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might
be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 172.16.0.1. To use the command line
tools you need to source the file.
* To access the OpenStack Dashboard browse to http://172.16.0.1/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* To use Nagios, browse to http://172.16.0.1/nagios username : nagiosadmin, password : <>
* The installation log file is available at: /var/tmp/packstack/20140511-121924-ft1kqD/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/20140511-121924-ft1kqD/manifests

27


1. nagiosadmin
Nagiospackstacknagiosadmin

2. /etc/nova/nova.conf
packstackkvmVirtualBox
CPU vmx kvmqemu
libvirt_type=qemu

3. /etc/ceilometer/ceilimeter.conf
keystonekeystone

auth_strategy=keystone

28


4. /etc/syscong/network-scripts/ifcfg-eth0
eth0br-ex

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex

br-exeth0HyperVisor
$ sudo ovs-vsctl add-port br-ex eth0

5.

29

/var/tmp/packstack/<YYYYMMDD-hhmmss-id>/openstack-setup.log

Puppet
- /var/tmp/packstack/<YYYYMMDD-hhmmss-id>/manifests/*.pp

Puppet
- /var/tmp/packstack/<YYYYMMDD-hhmmss-id>/manifests/*.log

admin -> /root/keystonerc_admin


demo -> /root/keystonerc_demo
WebUI URL -> http://172.16.0.1/dashboard
demo -> demo
demoIP -> 192.168.0.0/24

30

All-In-One
OpenStack()

private-subnet

(External Network)public-subnet
oatingip

Dashboard

RDO&packstack

31

(: 2014WIDE OpenStack)

Nova (Compute)
API,request

LB

LB
Nova

nova%api

nova%api

Nova,
Nova,
scheduler
scheduler

Message,Queue

nova%
compute
hypervisor

nova%
compute
hypervisor

Nova%
Nova%
conductor
conductor

DB

nova%
compute
hypervisor

32

Scale,Out

%,State,management,
%,Db,access,on,behalf,of,
compute

(: 2014WIDE OpenStack)

NeutronNetworking
API'request

LB

neutron'
server

LB

neutron'
server

Neutron'
RPC'worker

DB

Message'Queue

L26agent
hypervisor

L26agent
hypervisor

L26agent
hypervisor

OVS

OVS

OVS

VLAN/VXLAN/OpenFlow
33

Scale'Out


OpenStackIcehouse
Dashboard
packstack

(admin,demopackstack)

(admin,demopackstack)

(public/public-subnetpackstack)

(private/private-subnetpackstack)

(publicprivaterouter1packstack)

IP

34

demo

packstack
public(192.168.0.0/25)adminIP
demo
demoprivate

demo

admin
192.168.0.0/24
IP

35

(1)

admin

36

(2)

m1.micro

VirtualBoxRDOVM
4GB
(512MB)64MB

37

(3)

m1.micro

m1.micro

38

Compute
OpenStackCompute
Cell

Region
-

Availability Zone
-

OpenStackRegion
HorizonDashboardRegion

HostAggregation
Region

HostAggregation

Region
39

Compute
VMextra_specs
Host AggregationAvailabilityZone
Compute
avor
+----------------------------+------------------+
| Property
| Value
|
+----------------------------+------------------+
| name
| m1.tiny
|
| ram
| 512
|
| OS-FLV-DISABLED:disabled
| False
|
| vcpus
| 1
|
| extra_specs
| {u'm1': u'true'} |
| swap
|
|
| os-flavor-access:is_public | True
|
| rxtx_factor
| 1.0
|
| OS-FLV-EXT-DATA:ephemeral | 0
|
| disk
| 1
|
| id
| 0
|
+----------------------------+------------------+

Availability Zone
+-----------------------+----------------------------------------+
| Name
| Status
|
+-----------------------+----------------------------------------+
| internal
| available
|
| |- c00
|
|
| | |- nova-conductor
| enabled :-) 2014-03-27T05:03:56.000000 |
| | |- nova-cert
| enabled :-) 2014-03-27T05:03:56.000000 |
| | |- nova-consoleauth | enabled :-) 2014-03-27T05:03:56.000000 |
| | |- nova-scheduler
| enabled :-) 2014-03-27T05:03:57.000000 |
| rack1
| available
|
| |- c03
|
|
| | |- nova-compute
| enabled :-) 2014-03-27T05:03:49.000000 |
| |- c04
|
|
| | |- nova-compute
| enabled :-) 2014-03-27T05:03:58.000000 |
| |- c05
|
|
| | |- nova-compute
| enabled :-) 2014-03-27T05:03:59.000000 |
| rack2
| available
|
| |- c13
|
|
| | |- nova-compute
| enabled :-) 2014-03-27T05:03:49.000000 |
| |- c14
|
|
| | |- nova-compute
| enabled :-) 2014-03-27T05:03:58.000000 |
| |- c15
|
|
+-----------------------+----------------------------------------+

Host Aggregation
Id: 15
Name: rack1_m1
Availability Zone: rack1
Hosts: [u'c03', uc04, uc05]
Metadata: {u'm1': u'true', u'availability_zone': u'rack1'}

40

ICMPSSH base
demo
demo

41

ICMPSSH base

42

base

ICMPSSH

43

ALL-ICMP

44

SSH

45

base ICMPSSH

SSH

ICMP

46

SSH

47

admin

48

admin

admin

49

50

server1

51

adminbase

52

server1

private

53

server1

server1

54

IP

server1IP

IP

55

IP

IP

IP

56

IP

publicIP

publicIP

57

IP

IP

public192.168.0.3

58

IP

IP

192.168.0.3

59

All-In-OneVM
OpenStack
All-In-One(rdo)
eth0
br-ex(IPAddr 192.168.0.1)
qg-e101f8ba-3e
IPAddr: 192.168.0.2

router1
(qrouter-3b19895e-2b1a-4e16-a38cd099cc9ad7e9)

qr-051589d9-75
IPAddr: 10.0.0.1
VLAN tag:1
br-int
tap997e629f-28
VLAN tag:1

Open vSwitch
Bridge

dnsmasq
IPAddr:10.0.0.2

TAP Device

(qdhcp-139b1160-3cb3-4b60-a08b-1db2838e7114)

60

Network
Namespace

All-In-One(VM)
OpenStack
All-In-One(rdo)
eth0
br-ex(IPAddr 192.168.0.1)
qg-e101f8ba-3e
IPAddr: 192.168.0.2

router1
(qrouter-3b19895e-2b1a-4e16-a38cd099cc9ad7e9)

qr-051589d9-75
IPAddr: 10.0.0.1
VLAN tag:1
br-int
qvo058ced41-2f
VLAN tag: 1

tap997e629f-28
VLAN tag:1

Open vSwitch
Bridge
Linux Bridge

qbr058ced41-2f
dnsmasq
IPAddr:10.0.0.2

qvb058ced41-2f

veth pair

tap058ced41-2f
TAP Device
eth0: 10.0.0.3

(qdhcp-139b1160-3cb3-4b60-a08b-1db2838e7114)

server1

61

Network
Namespace

All-In-One
OpenStack)

IP
iptables

demo

ICMPSSH
TAPiptalbes

62

VMOpenStack

RDO+packstack+VirtualBoxOpenStack

RDOAll-In-One

OpenStack

OpenStackTAP/veth/NetworkNamespace/Open vSwitch/
Linux BridgeLinux

OpenStack

63

OpenStack
-

RDO
-

http://openstack.redhat.com/Quickstart

devstack ()
-

http://devstack.org

https://github.com/openstack-dev/devstack.git

OpenStack

http://www.openstack.org

http://docs.openstack.org/havana/

http://enterprisecloud.jp/installguide-openstack/

64


!
Special Thanks:
Akihiro Motoki, Tomoaki Nakajima, Manami Yokota

65

You might also like