Your SlideShare is downloading. ×
JOSUG 9th Study
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

JOSUG 9th Study

1,271
views

Published on

Published in: Technology

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,271
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
50
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. JOSUG 9th Study openstack Open source software to build public and private clouds. 第9回 動かして学ぶ! OpenStackとクラウドを支える技術 テキスト: http://goo.gl/pWUSG (これと一緒に参照) 2012.11.18 日本 OpenStack ユーザ会 中島倫明 @irix_jp 1
  • 2. はじめに● 会場提供、及び、デモ環境用の VPS をお貸し出し頂いた、 KDDI ウェブコミュニケーションズ様に 御礼申し上げます。 2
  • 3. 自己紹介● 日本 OpenStack ユーザ会 ● 会長● クラウド利用促進機構 ● 技術アドバイザー● @irix_jp 3
  • 4. 今回の勉強会の趣旨● Folsom リリース ● これで大体一通りの機能が揃った ● しかし OpenStack の勢いは 衰える気配を見せず、 さらなる進化が期待できる。● ここらでちゃんと OpenStack の構造を理解し、 次の進化に備えよう、という企画 By @habuka036 & @enakai00 4
  • 5. 大枠の流れ● とりあえず動かしてみる● 構造を理解する● 裏側を見てみる By @habuka036 & @enakai00 5
  • 6. デモ環境の構築 フォロー● 事前課題の devstack を 使った環境構築が 上手く行かなかった人向け● この環境が手元に無いと、 話についていくのが 厳しくなります(リアル話) 6
  • 7. デモ環境(講師用) glance quantum q-agt rabbitmq nova n-cpu mysql keystone c-vol Internetq-agt q-agt q-agt q-agtn-cpu n-cpu n-cpu n-cpuc-vol c-vol c-vol c-vol 7
  • 8. 基本操作● OpenStack の操作 ● Web インターフェース ● コマンドライン ● ログイン、キーペア作成 ● インスタンス作成 ● ボリューム作成 ● ネットワーク作成 ● テナント、ユーザ作成 8
  • 9. 基本操作 glance quantum q-agt rabbitmq nova n-cpu mysql keystone c-vol VM Internetq-agt q-agt q-agt q-agtn-cpu n-cpu n-cpu n-cpuc-vol c-vol c-vol c-vol VM 9
  • 10. コンポーネントの基本構造 keystone horizon quantum-l3Local file, glance nova-api quantum-serverSwift, S3 quantum-dhcp cinder nova-compute quantum-agent DB LVM, NetApp, Kvm, Xen OVS, Nicira Nexenta HyperV,ESXi NEC AMQP 10
  • 11. コンポーネントの基本構造 Client Command DBAdmin orUsers Horizon Client Library (python) API AMQP OpenStack Server Component OpenStack Component Other Program Externalhttps://launchpad.net/openstack Software 11
  • 12. quantum● Folsom から正式コンポーネントとなったネットワー クマネージャ ● テナントのアイソレーション ● インスタンス間の接続 ● ルーティング ● DHCP ● Floting IP – 外部からインスタンスへアクセスさせるための IP 12
  • 13. 構成例http://docs.openstack.org/trunk/openstack-network/admin/content/app_demo.html 13
  • 14. プラグイン構造● Quantum はプラグイン構造で、様々なネットワーク を制御可能 ● OVS  ← devstack だとコレが使われる ● Nicira ● NEC ● Bigswitch ● Cisco ● Ryu – 等々 14
  • 15. Quantum で作れるネットワーク ethX br-ext ext_net Router Router net1 VM net2 VM Router net1 net2VM VM VM VM net3 VM net4 VM 15
  • 16. 使われている技術● OVS プラグインの場合 ● OVS + GRE ● Network Name Space ● iptables ● dnsmasq ● route ● linux bridge ● veth ● tap 16
  • 17. やってみよう● ネットワークの作成● サブネットの作成● ルーターの作成● ルーターとネットワークの関連付け● Floaitng IP の割り当て 17
  • 18. 192.168.128.100 eth0 eth0 192.168.128.101 172.26.0.100 172.26.0.101 eth1 eth1 br-tun br-tun br-tun gre-2 (remote_ip="172.26.0.101) testvm02 gre-1 (remote_ip="172.26.0.100) br-tun eth0 172.24.17.3 patch-int (peer=patch-tun ) patch-int (peer=patch-tun ) tap vnet0 br-int br-int bridge patch-tun (peer=patch-int ) qbrdd945b9a-4a patch-tun (peer=patch-int ) veth veth qr-01b9a7bf-ce (tag=1) ★172.24.17.254 qvbdd945b9a-4a qvodd945b9a-4a (tag=1) tapa9806132-f2 (tag=1) ▲172.24.17.1 br-int br-int veth veth qvo00a6d081-61 (tag=1) qvb00a6d081-61 bridge qbr00a6d081-61受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース Tap0.0.0.010.0.0.0 10.0.0.1 0.0.0.0 0.0.0.0 255.255.255.0 UG U 0 0 0 0 0 qg-f616aed6-66 0 qg-f616aed6-66 vnet0172.24.17.0 0.0.0.0 255.255.255.0 U 0 0 0 qr-01b9a7bf-ce 172.24.17.2 eth0 qg-f616aed6-66 ★10.0.0.2 testvm01 br-ex br-ex 10.0.0.1 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース 0.0.0.0 192.168.128.1 0.0.0.0 UG 100 0 0 eth0 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br-ex 172.24.17.0 10.0.0.2 255.255.255.0 UG 0 0 0 br-ex 10.0.0.254 ping 172.24.17.2 eth2 172.26.0.0 0.0.0.0 192.168.128.0 0.0.0.0 255.255.255.0 U 255.255.255.0 U 0 0 0 0 0 eth1 0 eth0 Router
  • 19. nova● 仮想マシンを作成し管理する ● スケジューラー ● ハイパーバイザー管理 ● セキュリティグループ管理 ● キーペア管理 ● ゾーンの管理 ● メタデータ提供 ● コンソールプロキシ ● ボリューム管理 → Cinder へ移管( folsom ) ● ネットワーク管理 → Quantum へ移管( folsom ) 19
  • 20. nova の構造 20
  • 21. スケジューラー● キューからリクエストを取得して、仮想マシンの配置 先を決定する。 ● API 経由でリクエストメッセージをキューへ ● キュー経由でスケジューラーがメッセージを受け取る ● スケジューラーが配置先のホストを決定 ● キューへメッセージを送信 ● 配置先のホストが受け取る – 細かく話すと長いので、こちらを参照 ● nova-scheduler(1) ● http://www.slideshare.net/h-saito/osc2012kansaikyoto- josug 21
  • 22. ハイパーバイザー管理● 複数のハイパーバイザーを混在して管理可能(ゾー ンを分ける必要あり) ● KVM - Kernel-based Virtual Machine ● LXC - Linux Containers (through libvirt) ● QEMU - Quick EMUlator ● UML - User Mode Linux ● VMWare ESX/ESXi 4.1 update 1 ● Xen - Xen, Citrix XenServer and Xen Cloud Platform (XCP) 22
  • 23. ゾーン (availability zone)● 複数の nova ホストを論理的に区切る事ができる。 ● ラック単位 ● 接続スイッチ単位 ● 接続電源系統単位 ● DC 単位 – 等々の対障害性の単位で区切る。 – インスタンス作成時にオプションで指定できる。 ● nova.conf – node_availability_zone で設定 – default_schedule_zone でデフォルトゾーンを指定 23
  • 24. セキュリティグループ&キーペア● セキュリティグループ ● 仮想マシンへの FW 機能 – Iptables を駆使して実現● キーペア管理 ● SSH キーの作成と管理 ● 仮想マシンへのねじ込み – コンピュートノード上でイメージをループバックマウントしてね じ込む。 24
  • 25. メタデータサーバ● インスタンスに対して任意の情報を提供する ● Quantum 上ではまだテストサポート。 – metadata 機能を使いたい場合は nova-network を使う。 ● 仮想マシンでは知り得ない情報を入手するための機能 ● 169.254.169.254 で待受け。 – iptables で DNAT されている。 25
  • 26. コンソールプロキシ● 仮想マシンのコンソールへ接続するためのプロキシ (そのまんま) ● ブラウザ → noVNC → nova-xvpvncproxy → VM – VM とブラウザを使うクライアントと通信できる必要は無い。 ● horizon からアクセスしてみるべし ● 詳細は省略 26