openstack quickstart - icehouse
Post on 22-Nov-2014
9.114 Views
Preview:
DESCRIPTION
TRANSCRIPT
OpenStack ~∼ Quick Start Icehouse~∼
Japan OpenStack Users Group Internet Initiative Inc.
Hideki Saito (@saito_̲hideki)
1 ver2.1
目次• 自己紹介 • はじめに • OpenStackを使ってみる • インストールする • 仮想環境を管理する
• まとめ
2
自己紹介• 氏名 - 齊藤 秀喜(さいとう ひでき) - twitterid: @saito_hideki
• 勤務先 - 株式会社インターネットイニシアティブ(IIJ) - http://www.iij.ad.jp/
• 所属 - 日本OpenStackユーザ会 ボードメンバー
• 趣味 - OpenStack…(最近仕事に…)
3
はじめに• OpenStackについて OpenStackは2010年の1stリリース(Austin)から最新リリース(Havana)まで8回のメジャーリリースを経て、機能の追加・不具合の修正を繰り返し、2014/04に9回目のメジャーリリース(Icehouse)が行われました。 これまでの検証・テスト利用フェーズを終えたユーザが、大規模なパブリッククラウド基盤や、オンプレミスのプライベートクラウド基盤として採用するケースも増えてきました。
• クラウド基盤管理システム(CloudOS)を学ぶ OpenStackには、このようなプロダクション環境での本格利用だけでなく、例えばノートPC上の仮想環境にクラウド基盤を構築して、その構造を学んだり、新たな機能を実装してテストをしたりというサンドボックスを*比較的*簡単に用意できるという嬉しい側面を持っています。本セッションでは、「クラウド基盤管理の仕組みを学ぶ」目的で、このようなサンドボックス環境を手元に準備する方法をご紹介します。
4
CloudOSについて(1)•サーバ/ストレージ/ネットワーク機器の仮想化への流れ •コスト削減効果やスタートアップの容易さから1案件で利用するサーバ の台数はうなぎ登り •技術者の知恵と勇気だけで耐えるのにも限界がある
5
国内サーバ市場の動向 2007年~2016年(出典:IDC Japan)
仮想化を引き金として増大の一途を 辿る資源の管理を省力化するために は、人力に頼らない”仕組み”が必要
(出典: 2014年WIDE春合宿 OpenStack)
CloudOSについて(2)
6
要素技術の進歩 利用者の要求の変化
(出典: 2014年WIDE春合宿 OpenStack)
CloudOSについて(3)•オペレーティングシステム 物理資源の管理やプロセスのスケジューリングがOSの主な仕事
7
OSの構造(出典 wikipedia)
【OSの仕事】 • ハードウェアの抽象化 • 資源管理 • タスクスケジュール • etc…
(出典: 2014年WIDE春合宿 OpenStack)
CloudOSについて(4)•クラウドOS 目的は従来のOSが提供する仮想化された資源をまとめて管理することで、クラウドOSと言っても要はユーザランドで動くアプリケーションプログラム。OSと同じように計算機資源を抽象化して上位層に提供します。
8
OSの構造(出典 wikipedia)
OSが提供してくれる機能をうまく利用して仮想化された超大規模なリソースプールから適切に資源を払い出す仕組みをユーザに提供することがクラウドOSの核となる機能です。
(出典: 2014年WIDE春合宿 OpenStack)
システムモデルの変化(1)•ファイルのライフサイクル 従来のOSが管理するファイルシステム上で管理する資源(ファイル)のライフサイクル
9
(出典: 2014年WIDE春合宿 OpenStack)
File%A� File%A� File%A�Create� Modify� Modify� Delete�
File%A�
Backup�
File%B�
Copy�
システムモデルの変化(2)•仮想マシンのライフサイクル CloudOSが管理する資源(仮想マシン)のライフサイクル
10
(出典: 2014年WIDE春合宿 OpenStack)
VM#A� VM#A� VM#A�Create� Modify� Modify� Delete�
VM#A�
Backup#snapshot#
GoldenImage�
Copy�
VM#B�
VM#C�
Copy#&#Boot�
CloudOSに求められる機能
1.WebUI/GUI/CLIが提供していること 2.管理用外部APIが提供されていること 3.スケーラブル(自身も提供する資源も) 4.仮想リソースの最適配置 5.機能追加が容易であること 6.マルチテナントが収容可能であること 7.長期間 安定稼働が可能であること(できれば3年くらい) 8.できればベアメタル管理も… 9.できれば管理系は冗長性も確保したい…
11
(出典: 2014年WIDE春合宿 OpenStack)
OpenStackとは• OpenStack: The Open Source Cloud Operating System クラウドインフラを構築するためのオープンソースソフトウェア マルチテナントに対応した IaaS を提供 2010年に Racksapce と NASA が共同で立ち上げた。開発の中立性を確保するため、その後OpenStack Foundation による運営に移行。
12
(出典: 2014年WIDE春合宿 OpenStack)
OpenStackの特徴• 全機能のREST API による提供 プログラムによるインフラ環境の自動構築・操作が可能。外部システムとの 連携。 抽象化された論理APIが基本。物理構造の隠蔽が基本。
• スケーラビリティを意識した疎結合なアーキテクチャー コンピュートノードの追加によるリソース追加 コントローラノードの負荷分散 機能単位に分割されたモジュラー構成
• プラグイン/ドライバー構造 サードパーティー製品、ソフトウェアとの連携によるエコシステム 既存のインフラとの連携が可能
• オープンな開発体制 Vendor Neutral な OpenStack Foundation によるプロジェクト運営 来るものは拒まずというオープンソース志向
13
(出典: 2014年WIDE春合宿 OpenStack)
14
OpenStack 各プロジェクトの歴史(出典: 2014年WIDE春合宿 OpenStack)
Swi$�
Glance�
Keystone�
Horizon�
Cinder�
Neutron�
Ceilometer�
Heat�
Object;Storage�
Image;Service�
Iden?ty;Service�
Dashboard�
Block;Storage�
Networking�
Telemetry�
Orchestra?on�
Nova�Compute�
Trove�Database�
Aus?n� Bexar� Icehouse�Havana�Grizzly�Folsom�Essex�C� D�
�������������;����� ��������
OpenStack 機能イメージ
15
(出典: 2014年WIDE春合宿 OpenStack)
���
仮想ネットワーク 制御
Neutron
ハイパーバイザー 制御
ベアメタル プロビジョニン
グ
イメージ SnapShot管理 Glance
ブロック ストレージ制御 Cinder
オブジェクト ストレージ Swift
Nova
統合認証 Keystone
仮想ルータ、仮想L2 仮想ロードバランサ
仮想FW
仮想サーバ作成・削除
物理サーバ
仮想マシンのテンプレート 設定済みイメージのスナップショット
仮想ボリューム
ReST入出力ファイルストア レプリケーション、遠隔地分散
Horizon (Dashboard)
��������
Cei
lom
eter
Heat
OpenStack API
オーケストレーション機能 Your Applications
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
(出典: 2014年WIDE春合宿 OpenStack)
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 & packstackを利用するにはx86_64版が必須要件です
• OpenStack - 2014.1 Icehouse - RDO & packstack
18
サンドボックス(ネットワーク)VirtualBoxをインストールし仮想マシンを作成する前にHostOnlyNetworkを作成しておく。 • vboxnet0 外部からComputeノードVMにアクセス するためのネットワーク - 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 off
- Adapter2 (vboxnet1) - ネットワーク->高度->プロミスキャスモード->「すべて許可」 - DHCP off
- Adapter3 (NAT)
20
インストールする(1)
21
“rdo” OpenStack BOX GuestOS
vboxnet0 192.168.0.0/24 FloatingIP
vboxnet1 172.16.0.0/24 管理ネットワーク
NAT 10.0.4.0/24
MacBook Air HostOS
eth1 172.16.0.1
br-ex: 192.168.0.1 eth0: IPアドレス割り当ては行わない
vboxnet0: 192.168.0.240
vboxnet1: 172.16.0.240
10.0.4.2
NATネットワーク経由でRDO & packstackを利用したOpenStackのインストールを行う
eth0はOpenStackの外部接続用ブリッジ(br-ex)に接続するためIPアドレスの割り当ては行わないeth2
10.0.4.15
サンドボックス構成
インストールする(2)• OpenStackのインストール方法 - 公式ドキュメントを参考に構築にインストールする 公式ドキュメントをベースに日本仮想化技術株式会社さんが日本語で補完してくれた完全版がありますので、Havanaであればこちらがオススメです。 ๏ http://enterprisecloud.jp/installguide-openstack/
- devstackを利用する OpenStackの開発者が自身で開発したコードをテストする目的で開発されているプロダクトです。 ๏ http://devstack.org/
- RDO & packstackを利用する RedHatさんが提供するrpmとPuppetを利用したインストールシステムです。RedHat系のOSを利用しているのであれば、迷わずRDOです。 ๏ http://openstack.redhat.com/Main_Page
22
インストールする(3)OSの基本設定(1) 1. /etc/hostsに自身のエントリを追加(rootユーザで実施)
2. /etc/sysconfig/networkにホスト名を設定(rootユーザで実施)
3. /etc/sysconfig/network-scripts/ifcfg-eth0を設定(vboxnet0) (rootユーザで実施)
4. /etc/sysconfig/network-scripts/ifcfg-eth1を設定(vboxnet1) (rootユーザで実施)
23
127.0.0.1 localhost 172.16.0.1 rdo
NETWORKING=yes HOSTNAME=rdo
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes TYPE=Ethernet
DEVICE=eth1 BOOTPROTO=static ONBOOT=yes TYPE=Ethernet IPADDR=172.16.0.1 PREFIX=24
インストールする(4)OSの基本設定(2) 5. /etc/sysconfig/network-scripts/ifcfg-eth2(NAT network) (rootユーザで実施)
6. 基本設定が完了したらOSを再起動(rootユーザ で実施)
24
DEVICE=eth2 BOOTPROTO=dhcp ONBOOT=yes TYPE=Ethernet
インストールする(5)RDO & packstackでOpenStack環境をインストールする(1) • インストール対象ソフトウェア群
- MySQL - MongoDB - RabbitMQ - Keystone - Glance - Cinder - Nova - Neutron - Horizon - Swift - Heat - Ceilometer - Tempest - OpenStack Clientライブラリ - Nagios
25
インストールする(6)RDO & packstackでOpenStack環境をインストールする(1) 1. stackユーザを作成しwheelグループに登録します(rootユーザで実施)
2. /etc/sudoersでwheelグループにsudoを許可します(rootユーザで実施)
3. RDOのリポジトリをインストールします(stackユーザで実施) リポジトリをインストールしてパッケージ更新を実施後にOSを再起動する
4. packstack(2014.1.1-0.25.dev1208)をインストールします(stackユーザで実施)
26
# useradd -G wheel stack # passwd stack Changing password for user stack. New password: ******** Retype new password: ******** passwd: all authentication tokens updated successfully.
%wheel ALL=(ALL) ALL
$ sudo yum install -y \ http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-4.noarch.rpm $ sudo yum update -y $ sudo reboot
$ sudo yum install -y openstack-packstack-2014.1.1-0.25.dev1208.el6
インストールする(7)RDO & packstackでOpenStack環境をインストールする(2) 5. packstackによる自動インストール用answerファイルを作成します(stackユーザで実施) 今回利用するanswerファイルは以下のパスからダウンロード
6. packstackを利用してOpenStackを自動インストールします(stackユーザで実施) 構成にもよりますが、インストール完了までには概ね30分~1時間程度かかります。
インストール完了時のメッセージにはnagiosadminのパスワード情報が含まれているので注意。
27
$ 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
$ packstack --answer-file=all-in-one.conf
**** 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
インストール後(1)1. nagiosadminユーザ情報をメモ Nagiosをインストールした場合は、packstack実行後にコンソールに表示されるnagiosadminユーザのパスワードをメモしておくことを忘れないようにしてください
2. /etc/nova/nova.confを修正します packstackではデフォルトでkvm環境を想定したインストールを行うが、VirtualBoxでは仮想マシンのCPUは”vmx”未対応であるため、kvmを利用することができないためqemuに変更します
3. /etc/ceilometer/ceilimeter.confを修正します keystone認証を行う設定がコメントアウトされて無効化されているようであれば、認証をkeystoneで行うようコメントアウトを解除してやります
!
28
libvirt_type=qemu
auth_strategy=keystone
インストール後(2)4. /etc/sysconfig/network-scripts/ifcfg-eth0を修正します eth0をbr-exに接続するよう修正します
!br-exにeth0を割り当てて仮想マシンをHyperVisorの外部と通信させるための経路を確保します
5. 再起動してインストール作業を完了します
29
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex
$ sudo ovs-vsctl add-port br-ex eth0
インストール後(3)• インストールログファイル - /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 - demoプロジェクト用フローティングIPレンジ -> 192.168.0.0/24
30
構築された初期状態のOpenStack環境(ネットワーク図)All-In-One
31
๏ 仮想マシンのインスタンスはprivate-subnetに接続される ๏ 外部(External Network)との通信はpublic-subnetからfloatingipアドレスを振り出して仮想マシンに割り当てる
RDO&packstackが自動構成してくれる初期環境Dashboardを利用して仮想環境を構築
Nova (Compute) の内部構造
32
(出典: 2014年WIDE春合宿 OpenStack)
Nova%conductor�
Nova,scheduler�nova%api� nova%api�
LB� LB�
Message,Queue�
nova%compute�hypervisor�
nova%compute�hypervisor� Scale,Out�
nova%compute�hypervisor�
Nova%conductor�
Nova,scheduler�
DB�
Nova� �� ���
������ ���
API,request�
%,State,management,%,Db,access,on,behalf,of,compute�
33
(出典: 2014年WIDE春合宿 OpenStack)
Neutron(Networking)の内部構造
neutron'server�
neutron'server�
LB� LB�
Scale'Out�
API'request�
L26agent�hypervisor�
OVS�
VLAN/VXLAN/OpenFlow�
L26agent�hypervisor�
OVS�
Neutron'RPC'worker�
DB�Message'Queue�
L26agent�hypervisor�
OVS���� ��������
仮想環境を管理するOpenStack起動後に実施する操作の流れを、IcehouseでモダンなデザインになったDashboardを利用して紹介します。 ※グレー部分はpackstackが作成してくれるので割愛します。 • 管理者が行う作業
• プロジェクト管理(admin,demoプロジェクトをpackstackが作成済) • ユーザの管理(admin,demoユーザをpackstackが作成済) • 外部ネットワークの管理(public/public-subnetをpackstackが作成済) • フレーバーの作成
• 利用者が行う作業 • 内部ネットワークの管理(private/private-subnetをpackstackが作成済) • 仮想ルータの作成(publicとprivateを結ぶ仮想ルータ「router1」をpackstackが作成済み) • セキュリティグループの作成 • 公開鍵の登録 • 仮想マシンのインスタンスを作成し起動 • 起動したインスタンスにフローティングIPを割り当て
34
demoプロジェクト• packstackが作成する文字通りのデモ用プロジェクト publicネットワーク(192.168.0.0/25)はadminユーザの管理下となり、フローティングIPとして利用することはできますが、demoユーザの管理対象とはなりません。 初期状態ではdemoユーザの管理下にあるのはprivateネットワークのみとなります。
35
demoユーザの管理下
adminユーザの管理下 192.168.0.0/24 をフローティングIPで利用
フレーバーの作成(1)• 仮想マシンのフレーバーを作成します フレーバーの追加は管理者であるadminユーザで実施します
36
• “m1.micro”フレーバーを追加します
フレーバーの作成(2)
37
VirtualBoxでRDO用に割り当てたVMのメモリが4GBしかないため、デフォルトの最小フレーバー(512MB)よりもさらに少ない64MBメモリのフレーバーを用意する
• “m1.micro”フレーバーが追加されました
フレーバーの作成(3)
38
m1.microが作成された
OpenStackのComputeノード管理単位は以下の通り。 ※この他にCellという管理単位がありますが、ここでは割愛します。 • Region - データセンタなど拠点レベルの粒度 - OpenStackのコントローラはRegion毎に配置 - HorizonのDashboardはログイン時にRegionを選択することにより接続先を選択可能
• Availability Zone - データセンタ内のラックレベルの粒度 - HostAggregationと組み合わせて利用 - 同一のRegion内に閉じる
• HostAggregation • 世代毎などで物理サーバのグルーピング • 同一のRegion内に閉じる
39
Computeノードのグループ化とフレーバーの関係(1)
40
Computeノードのグループ化とフレーバーの関係(2)
+----------------------------+------------------+ | 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 | +----------------------------+------------------+
Id: 15 Name: rack1_m1 Availability Zone: rack1 Hosts: [u'c03', u’c04’, u’c05’] Metadata: {u'm1': u'true', u'availability_zone': u'rack1'}
+-----------------------+----------------------------------------+ | 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 | | +-----------------------+----------------------------------------+
flavor
Host Aggregation
Availability Zone
VMインスタンスは、フレーバーのextra_specsで指定されたパラメータに従ってHost AggregationとAvailabilityZoneに登録されているComputeノード上に作成されます。
• ICMPとSSHを許可する最低限のグループ”base”を作成します demoプロジェクトの管理下に入る仮想マシンに適用するセキュリティグループを作成します。これ以降の作業はdemoユーザで実施します。
41
セキュリティグループの作成(1)
• ICMPとSSHを許可する最低限のグループ”base”を作成します
42
セキュリティグループの作成(2)
• baseセキュリティグループに許可ルールを追加します
43
セキュリティグループの作成(3)
ここにICMPとSSHを許可するルールを追加する
• ALL-ICMP許可ルールを選択して追加します
セキュリティグループの作成(4)
44
• SSH許可ルールを追加します
45
セキュリティグループの作成(5)
• “base”にICMPとSSHアクセスに対する許可が追加されました
46
セキュリティグループの作成(6)
SSHを許可するルールが追加された
ICMPを許可するルールが追加された
公開鍵の登録(1)• 仮想マシンへのSSHログイン用公開鍵を登録します
47
キーペアのインポートを選択する
公開鍵の登録(2)• キーペア名”admin”を作成しクライアントの公開鍵を登録します
48
公開鍵の登録(3)• キーペア名”admin”が作成されました
49
“admin”が作成され公開鍵が登録された
自主規制
• 仮想マシンを作成して起動します
50
仮想マシンのインスタンス作成と起動(1)
• 仮想マシン「server1」のスペックを設定します
51
仮想マシンのインスタンス作成と起動(2)
インスタンス名、フレーバー,作成するインスタンス数、元になるイメージ名を指定する
• 仮想マシンの公開鍵/セキュリティグループを設定します
52
仮想マシンのインスタンス作成と起動(3)
作成済のadminキーペアとbaseセキュリティグループを指定する
• 仮想マシン”server1”を接続するネットワークを設定します
53
仮想マシンのインスタンス作成と起動(4)
インスタンスを”private”ネットワークに割り当てる
• 仮想マシン”server1”が起動します
54
仮想マシンのインスタンス作成と起動(5)
“server1”が作成され起動する
• 仮想マシン「server1」にフローティングIPアドレスを割り当てます
55
フローティングIPアドレスの割り当て(1)
フローティングIPアドレスを割り当てる
• 仮想マシン用に新たにフローティングIPアドレスを払い出します
56
フローティングIPアドレスの割り当て(2)
新たにフローティングIPアドレスを払い出す
• 「public」ネットワークからフローティングIPアドレスを払い出します
57
フローティングIPアドレスの割り当て(3)
「public」ネットワークからフローティングIPアドレスを割り当て
• 仮想マシンにフローティングIPアドレスを割り当てます
58
フローティングIPアドレスの割り当て(4)
「public」ネットワークから192.168.0.3が払い出された
• 仮想マシンにフローティングIPアドレスが割り当てられました
59
フローティングIPアドレスの割り当て(5)
192.168.0.3が割り当てられた
インストール初期状態のOpenStackコントローラの構成
All-In-One環境(VM作成前)
60
br-ex(IPAddr 192.168.0.1)
eth0
qg-e101f8ba-3e IPAddr: 192.168.0.2
qr-051589d9-75 IPAddr: 10.0.0.1 VLAN tag:1
tap997e629f-28 VLAN tag:1
dnsmasq IPAddr:10.0.0.2
router1 (qrouter-3b19895e-2b1a-4e16-a38c-d099cc9ad7e9)
(qdhcp-139b1160-3cb3-4b60-a08b-1db2838e7114)
TAP Device
Network Namespace
デバイス名は参考値
br-int
Open vSwitch Bridge
All-In-Oneノード(rdo)
仮想マシンインスタンス起動後のOpenStack環境
All-In-One環境(VM作成後)
61
br-ex(IPAddr 192.168.0.1)
eth0
qg-e101f8ba-3e IPAddr: 192.168.0.2
qr-051589d9-75 IPAddr: 10.0.0.1 VLAN tag:1
tap997e629f-28 VLAN tag:1
dnsmasq IPAddr:10.0.0.2
router1 (qrouter-3b19895e-2b1a-4e16-a38c-d099cc9ad7e9)
(qdhcp-139b1160-3cb3-4b60-a08b-1db2838e7114)
TAP Device
Network Namespace
デバイス名は参考値
qvb058ced41-2ftap058ced41-2f
server1
eth0: 10.0.0.3
qbr058ced41-2f
qvo058ced41-2f VLAN tag: 1
br-int
veth pair
Open vSwitch Bridge
Linux Bridge
All-In-Oneノード(rdo)
仮想マシンインスタンス起動後のOpenStack環境(ネットワーク図)
62
All-In-One環境
demoプロジェクト ICMPとSSHの許可ルールは、このブリッジに接続されるTAPデバイスに対してiptalbesで許可される
フローティングIPの設定はネットワークノード上の仮想ルータのネームスペースにiptablesで設定される
まとめ• VMを利用したOpenStackによるクラウド基盤のサンドボックス環境の構築方法を紹介しました。
• RDO+packstack+VirtualBoxで比較的簡単にOpenStack環境を構築できます。
• RDOAll-In-One環境を紹介しましたが、役割毎にサーバを分けることも可能です。
• OpenStackが動作しているホストのネットワーク構成について図を交えて紹介しました。
• OpenStackはTAP/veth/NetworkNamespace/Open vSwitch/Linux BridgeなどLinuxの仮想ネットワーク機能をフル活用しています。
• 手軽にOpenStackの世界を体験しましょう!
63
参考• OpenStack公式サイト - http://www.openstack.org
• RDO - http://openstack.redhat.com/Quickstart
• devstack (今回は紹介していません) - http://devstack.org - https://github.com/openstack-dev/devstack.git
• OpenStackインストールドキュメント • http://docs.openstack.org/havana/
• 日本仮想化技術さんによる日本語版インストールドキュメント • http://enterprisecloud.jp/installguide-openstack/
64
ご清聴ありがとうございました !
Special Thanks: Akihiro Motoki, Tomoaki Nakajima, Manami Yokota
65
top related