OpenStack QuickStart - Icehouse

16,673 views

Published on

OpenStack Icehouseをインストールする

Published in: Technology
3 Comments
54 Likes
Statistics
Notes
No Downloads
Views
Total views
16,673
On SlideShare
0
From Embeds
0
Number of Embeds
277
Actions
Shares
0
Downloads
475
Comments
3
Likes
54
Embeds 0
No embeds

No notes for slide

OpenStack QuickStart - Icehouse

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

×