OpenStack勉強会
Upcoming SlideShare
Loading in...5
×
 

OpenStack勉強会

on

  • 16,510 views

 

Statistics

Views

Total Views
16,510
Views on SlideShare
13,755
Embed Views
2,755

Actions

Likes
31
Downloads
357
Comments
0

20 Embeds 2,755

http://tech-sketch.jp 2627
http://172.19.2.15 69
http://192.168.166.5 19
https://twitter.com 12
http://163.43.176.215 6
http://s.deeeki.com 5
http://www.google.co.jp 2
https://www.linkedin.com 2
https://www.facebook.com 2
https://m.facebook.com&_=1383290736461 HTTP 1
http://cache.yahoofs.jp 1
https://www.google.co.jp 1
http://webcache.googleusercontent.com 1
https://m.facebook.com&_=1383571467441 HTTP 1
https://m.facebook.com&_=1383324889779 HTTP 1
https://m.facebook.com&_=1383312794826 HTTP 1
https://m.facebook.com&_=1383312765402 HTTP 1
https://m.facebook.com&_=1383286497432 HTTP 1
https://m.facebook.com&_=1383291997765 HTTP 1
https://m.facebook.com&_=1383310123154 HTTP 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

OpenStack勉強会 OpenStack勉強会 Presentation Transcript

  • OpenStack勉強会~その時何が起こっているのか~ TIS株式会社 コーポレート本部 戦略技術センター 小原雄樹
  • 目次1.OpenStack概要 1. OpenStackとは 2. OpenStackの歴史2.OpenStackの機能説明(デモ) 1. デモ環境の説明 2. 管理画面(Horizon) 3. 認証(Keystone) 4. イメージ管理(Glance) 5. コンピューティング機能(Nova) 6. ボリューム機能(Cinder) 7. ネットワーク機能(Quantum)3.他サービスとの比較
  • 0.はじめに
  • 勉強会の目的目的OpenStackのインスタンス操作に必要となる一連の動作をデモ環境で実行しながら、内部でどういった機能を使って動作しているのかを広く浅く理解する。
  • 1.OpenStack概要
  • OpenStackとは OpenStackとは オープンソースのIaaS基盤 です
  • OpenStackとはXaaSについてのまとめ (Wikipedia[クラウドコンピューティング]より)SaaS インターネット経由のソフトウェアパッケージの提供。電子メール、グループウェア、CRMなど。セール スフォース・ドットコムのSalesforce CRM、マイクロソフトのMicrosoft Online Services、Googleの Google Appsがある。オープンソースのSaaS構築フレームワークとしてはLiferayがある。PaaS インターネット経由のアプリケーション実行用のプラットフォームの提供。仮想化されたアプリケーショ ンサーバやデータベースなど。ユーザーが自分のアプリケーションを配置して運用できる。セールスフ ォース・ドットコムのForce.comプラットフォーム、GoogleのGoogle App Engine、AppScale、マイクロ ソフトのWindows Azure、Amazon.comのAmazon S3やAmazon DynamoDBやAmazon SimpleDBなど。HaaSまたはIaaS インターネット経由のハードウェアやインフラの提供。サーバー仮想化やデスクトップ仮想化や共有デ ィスクなど。ユーザーが自分でOSなどを含めてシステム導入・構築できる。Amazon.comのAmazon EC2など。
  • OpenStackの歴史 OpenStackの構成概要図 AWSのS3相当 AWS Management Consoleに相当 AWSのEC2相当  機能毎にモジュール化されている AWSのEBS相当  開発言語はpython 引用元:http://ken.pepple.info/
  • OpenStackの歴史2010年に2つのオープンソースを組み合わせてプロジェクトがスタートSwift – Rackspace社が提供している商用クラウドサービス(CloudFiles)をオープンソース化したもの。オブジェクトストレージ機能 を提供する。Nova - NASAがクラウド基盤開発のために独自開発したソフトウェア(Nebula)をオープンソース化したもの。クラウド基盤のコンピ ューティング機能などを提供する。 Swift Nova 2010 Oct 21 OpenStack first release (Austin) この時点ではNovaとSwiftをOpenStackとして1つにパッケ ージングしただけ 引用元:http://ken.pepple.info/
  • OpenStackの歴史 Glance Swift Nova 2011 Feb 3 OpenStack (Bexar) release イメージ管理(Glance)が登場することで初めてNovaと Swiftが連携できるようになる Apr 15 OpenStack (Cactus) release Sep 22 OpenStack (Diablo) release この辺からリリーススケジュールが半年に一回になる 引用元:http://ken.pepple.info/
  • OpenStackの歴史 Horizon Glance Swift 2012 Nova Apr 5 OpenStack (Essex) release 統合認証(Keystone)と管理画面(Horizon)が登場 Sep 27 OpenStack (folsom) release Novaからネットワーク機能(Quantum)とボリューム Keystone 機能(Cinder)が分離 Apr 4 OpenStack (Grizzly) release予定 引用元:http://ken.pepple.info/
  • OpenStackの歴史 Horizon quantum Nova Glance Swift 2012 Apr 5 OpenStack (Essex) release 統合認証(Keystone)と管理画面(Horizon)が登場 cinder Sep 27 OpenStack (folsom) release Novaからネットワーク機能(Quantum)とボリューム Keystone 機能(Cinder)が分離 Apr 4 OpenStack (Grizzly) release予定 引用元:http://ken.pepple.info/
  • 2.OpenStackの機能説明(デモ)
  • 環境本日使用するデモ環境  ハードウェア 項目 値 CPU Xeon(R) E5405 (2GHz/12MB) x 1 (4 core) メモリ 4GB NIC 8port ディスク 73GB x 2 (RAID1) (実効73GB) 外部ディスク 147GB x 5 (RAID5) (実効550GB)  ホストOS: Ubuntu 12.04 LTS  OpenStack導入方式: devstack 【注意点】 OpenStack All-in-one環境を構築する場合のサーバ推奨スペック vCPU:1個以上 メモリ:2GB以上(OpenStack起動、インスタンス未起動状態で1GB超消費します) ディスク:20GB以上(OS最小インストール+OpenStackコンポーネントで10GB程度消費します) NIC:1個以上
  • devstackとはdevstackとは • OpenStackのインストール用スクリプト。 • OpenStack自体の導入を簡略化するためにOpenStackの開発者が開発している。devstackの使い方 4ステップでOpenStack環境のできあがり! 1. # git clone http://github.com/openstack-dev/devstack.git 2. # cd devstack 3. 環境にあわせてlocalrcを作成する githubから最新の devstackをとってくる 4. # ./stack.sh devstack実行スクリプ トをたたく stack.sh初回実行時はOpenStack関連パッケージをネットワーク経由でダウンロー ドしてくるため構築完了に30分~1時間程度かかる。(ネットワーク転送速度次第で すが) 2回目以降は5~10分程度で完了。
  • devstackとはdevstackの主要なファイル  stack.sh devstackの構築用スクリプト本体。 既に構築済みの環境で実行すると全設定を削除して再構築される。  unstack.sh devstackを停止する場合に実行する。  rejoin-stack.sh devstack構築済みの環境で停止しているdevstackを再実行する場合に実行する。  localrc devstackの最初に読み込まれる。デフォルトの環境変数を変更したい場合にはこれに 記載する。  local.sh stack.shの一番最後に呼び出されるスクリプト。自前で実行したいコマンドがある場合 はこれに記載する。  openrc OpenStack操作時の環境変数をセットするための定義ファイル # source openrc [username] [tenantname]
  • システム構成devstack導入後のシステム構成 複数台構成する場合は時 刻同期必須。 ホスト Dashboard (Horizon) Apache NTP OpenStack各コンポーネン トが情報置き場として利用 するデータベース。 Identity Image (Keystone) (Glance) MySQL AMQPのOSS実装。 Compute Block Network ソフトウェア間の処理のや (Nova) Storage RabbitMQ (quantum) りとり(メッセージング)を仲 (Cinder) 介するものと思ってくださ い。 QEMU Open vSwitch LVM HW
  • システム構成devstack導入後のシステム構成 ホスト Dashboard (Horizon) Apache NTP Identity Image (Keystone) (Glance) MySQL コントローラ機能 Compute Block Network (Nova) Storage RabbitMQ (quantum) (Cinder) 下の機能のみ切り出して 構成したホストはコンピュ QEMU Open vSwitch LVM ーティングノードと呼ばれ たりする HW
  • システム構成devstack導入後のシステム構成 ホスト Dashboard (Horizon) こんな風にノードの追加が NTP 可能。 Apache (ネットワーク、ボリューム 機能も同様) Identity Image (Keystone) (Glance) MySQL 追加ホスト Compute Block (コンピューティングノード) Network (Nova) Storage RabbitMQ (quantum) (Cinder) Compute (Nova) ・・・ QEMU Open vSwitch LVM QEMU HW HW
  • 管理画面ホスト Dashboard (Horizon) Apache NTP Identity Image (Keystone) (Glance) MySQL Compute Block Network (Nova) Storage RabbitMQ (quantum) (Cinder) QEMU Open vSwitch LVM HW
  • 管理画面Dashboard (Horizon) : 管理画面の提供 【役割】 • 管理者、一般ユーザが利用する管理画面 の提供 【機能】 • GUIによる各種操作 • コンポーネントへのAPIアクセス HTTP(S) horizon nova-api glance-api keystone-api cinder-api quantum-api
  • 管理画面horizon-demo 1) 管理画面の裏側  HorizonはDjango(pythonで記述された Webアプリケーションフレームワーク)で 作成されていて、apache上で動作してい ます。 サーバ:80にきたアクセス を全てdjango.wsgiに飛ば している Horizon用apache設定ファイル(/etc/apache2/sites-available/horizon) <VirtualHost *:80> WSGIScriptAlias / /opt/stack/horizon/openstack_dashboard/wsgi/django.wsgi ・ ・ ・
  • 認証ホスト Dashboard (Horizon) Apache NTP Identity Image (Keystone) (Glance) MySQL Compute Block Network (Nova) Storage RabbitMQ (quantum) (Cinder) QEMU Open vSwitch LVM HW
  • 認証Identity Service (Keystone) : 統合認証基盤 【役割】 認証処理フロー • OpenStack各コンポーネントが利用する 統合認証機能の提供 client keystone-all 【機能】 • 認証および認可 1) 認証要求 • ユーザID/パスワードで認証を行い トークンを発行する。 2) トークンの発行 • ユーザはトークンを利用して 3) テナント情報の要求 OpenStack各サービスにアクセスす ることができる。 4) テナントリスト OpenStack Identity API 5) エンドポイント情報の要求 (Horizon,コマンド等) ホスト上で起動する デーモン。keystone 6) エンドポイントリスト 本体。 keystone-all 対応しているバック クライアントは指定されたエンドポイントにトー エンド(プラグイン形 クンを指定してアクセスすることで各 式で選択可能) OpenStackの操作をすることができるようにな Backend KVS, SQL, PAM, る。 LDAPなど 参考:http://www.slideshare.net/h-saito/openstack-study9-josug
  • 認証keystone-demo 1) 認証処理 ユーザー名、パスワードを 入れてログインをクリックす ると管理画面が表示される
  • 認証keystone-demo 1.a) 認証処理の裏側 - トークンの発行 - client keystone-all  クライアントからkeystoneに対してユーザ ID・パスワードで認証する。 1) 認証要求  認証が通るとトークンが発行される。 2) トークンの発行 トークン:keystoneに認証されたユーザに発行され る許可証 コマンドでトークンを発行する $ curl ¥ -X POST ¥ -d {"auth":{"passwordCredentials":{"username": "demo", "password":"password"}}} ¥ -H Content-type: application/json ¥ http://localhost:5000/v2.0/tokens ユーザ名、パスワードをセットしてkeystone のAPIに投げる 結果 {"access": {"token": {"expires": "2012-12-22T05:55:05Z", "id": "a62be0784aee470d883ede36abcbd509"}, "serviceCatalog": {}, "user": {"username": "demo", "roles_links": [], "id": "fc6e7accbdde47a8931d0ba772e1001d", "roles": [], "name": "demo"}}} 発行されたトークン
  • 認証keystone-demo 1.b) 認証処理の裏側 - テナントの取得 - client keystone-all  取得したトークンを使ってテナント情報を 要求する。 3) テナント情報の要求 テナント(=プロジェクト):ユーザが所属するグループ 4) テナントリスト devstackにより作成されるユーザとテナント tenant: admin tenant: demo user: admin user: demo tenant: invisible_to_ad min
  • 認証keystone-demo 1.b) 認証処理の裏側 - テナントの取得 - client keystone-all  取得したトークンを使ってテナント情報を 要求する。 3) テナント情報の要求 テナント(=プロジェクト):ユーザが所属するグループ 4) テナントリスト コマンドでテナントリストを取得する 先ほど取得したトークンIDセッ トしてリクエストを投げる $ curl ¥ -H "X-Auth-Token: a62be0784aee470d883ede36abcbd509" ¥ http://localhost:5000/v2.0/tenants 結果 { "tenants": [ { "description": null, "enabled": true, "id": "596b667667d44abc8c834561eb9d3af5", "name": "demo" }, { "description": null, "enabled": true, "id": "8664a5810ba540508c304dc5b9b6e133", "name": "invisible_to_admin" } ], "tenants_links": [] } 所属しているテナントIDとテナント名 (demoユーザは、demoとinvisible_to_adminというテナントに所属 している)
  • 認証keystone-demo 1.c) 認証処理の裏側 - エンドポイントの取得 - client keystone-all  取得したトークンを使ってテナント情報を 要求する。 5) エンドポイント情報の要求 エンドポイント:OpenStackの各コンポーネントにアク 6) エンドポイントリスト セスするAPIのURL情報 horizon ここのURL nova-api glance-api keystone-api cinder-api quantum-api
  • 認証keystone-demo 1.c) 認証処理の裏側 - エンドポイントの取得 - client keystone-all  取得したトークンを使ってテナント情報を 要求する。 5) エンドポイント情報の要求 エンドポイント:OpenStackの各コンポーネントにアク 6) エンドポイントリスト セスするAPIのURL情報 トークンIDとテナントセットし てリクエストを投げる コマンドでエンドポイントリストを取得する $ curl -X POST ¥ -d {"auth":{"token":{"id": "a62be0784aee470d883ede36abcbd509"}, "tenantId": "596b667667d44abc8c834561eb9d3af5"}} ¥ -H "X-Auth-Token: a62be0784aee470d883ede36abcbd509" ¥ -H Content-type: application/json ¥ http://localhost:5000/v2.0/tokens 結果 エンドポイントのリストとそこにアクセスする {"access": {"token": {"expires": "2013-01-12T08:15:30Z", "id": ためのトークンが取得できる。 "8778b2cbc63640e9b7a181f194fcfeac", (省略) {"endpoints": [{"adminURL": "http://192.168.56.101:9696/", "region": "RegionOne", (省略)
  • 認証keystone まとめ OpenStack各コンポーネントが認証基盤として利用している。 認証したアカウントにトークンを発行する。 キーワード トークン:keystoneに認証されたユーザに発行される許可証 テナント(=プロジェクト):ユーザが所属するグループ エンドポイント:OpenStackの各コンポーネントにアクセスするAPIのURL情報その他まめ知識 トークンの有効期限はデフォルトで1日もしくはユーザが削除されるまで。
  • イメージ管理ホスト Dashboard (Horizon) Apache NTP Identity Image (Keystone) (Glance) MySQL Compute Block Network (Nova) Storage RabbitMQ (quantum) (Cinder) QEMU Open vSwitch LVM HW
  • イメージ管理Image Service (Glance) : インスタンスイメージの管理 【役割】 対応しているイメージ形式 • インスタンスイメージの管理 種類 説明 【機能】 raw RAWイメージ • イメージの追加・削除 iso ISOイメージ vhd 各種仮想環境の仮想ディスクイメー vmdk OpenStack Image API ジ(Hyper-V、VMware、VirtualBox) (Horizon,コマンド等) APIアクセスの待 vdi 受け QEMUによってサポートされている qcow2 イメージ形式 aki keystone glance-api ari Amazonのイメージ形式 イメージメタデー ami タの管理 DB glance-registory 対応しているコンテナ形式 種類 説明 ovf OVF形式 対応しているイメージストア aki Store (格納場所はプラグイン形式 で選択可能) ari Amazon形式 ファイルシステム, Swift, ami RADOS block devices, コンテナやメタデータがない場 Amazon S3, HTTP bare 合
  • イメージ管理glance-demo 1) イメージリストの取得 devstackは構築完了後初期状態で cirrosというOSイメージが登録されて いる。 有識者によるとubuntuの軽量版みた いなものらしい。
  • イメージ管理glance-demo 1) イメージリストの取得 登録されているイメージリストの取得 $ glance image-list 今管理画面に表示され +--------------------------------------+---------------------------------+-------------+------------------+----- ているのはこれ。 -------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+---------------------------------+-------------+------------------+----- -------+--------+ | cf055b1d-a7f7-4a92-b2b8-df53f7bb06a3 | cirros-0.3.0-x86_64-uec | ami | ami | 25165824 | active | | 87f37a8d-f121-4411-9e54-e9804e16a254 | cirros-0.3.0-x86_64-uec-kernel | aki | aki | 4731440 | active | | 5c1bbfad-2d53-4e6f-adb8-5d2c48b7aed6 | cirros-0.3.0-x86_64-uec-ramdisk | ari | ari | 2254249 | active | +--------------------------------------+---------------------------------+-------------+------------------+----- -------+--------+ イメージ保存先(ファイルシステム) $ ls -l /opt/stack/data/glance/images/ -rw-r----- 1 user user 2254249 12月 6 16:10 5c1bbfad-2d53-4e6f-adb8-5d2c48b7aed6 -rw-r----- 1 user user 4731440 12月 6 16:10 87f37a8d-f121-4411-9e54-e9804e16a254 -rw-r----- 1 user user 25165824 12月 6 16:11 cf055b1d-a7f7-4a92-b2b8-df53f7bb06a3 IDと同名でファイルが作 成されている。
  • イメージ管理glance-demo 2) イメージの追加 イメージの追加 $ glance image-create --name="ubuntu" --disk-format=vdi --container-format=bare --is-public=true ¥ < ubuntu.vdi $ glance image-list +--------------------------------------+---------------------------------+-------------+------------------+- -----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+---------------------------------+-------------+------------------+- -----------+--------+ | cf055b1d-a7f7-4a92-b2b8-df53f7bb06a3 | cirros-0.3.0-x86_64-uec | ami | ami | 25165824 | active | | 87f37a8d-f121-4411-9e54-e9804e16a254 | cirros-0.3.0-x86_64-uec-kernel | aki | aki | 4731440 | active | | 5c1bbfad-2d53-4e6f-adb8-5d2c48b7aed6 | cirros-0.3.0-x86_64-uec-ramdisk | ari | ari | 2254249 | active | | 99abc396-6962-4ae0-909a-cbccdd9c57ea | ubuntu | vdi | bare | 2702217216 | active | +--------------------------------------+---------------------------------+-------------+------------------+- -----------+--------+ 追加されたイメージ。管 理画面にも反映される。
  • イメージ管理glanceまとめ OpenStackのインスタンスのイメージ管理を担当している。 主要なイメージ形式(RAW,ISO,各種仮想マシンイメージ)に対応し ている。その他まめ知識 イメージの登録はコマンドで実施する必要がある。管理画面からのイメージアップ ロードは(まだ)できない。 ※HTTP経由で利用可能なイメージのみ管理画面から登録可 コマンドのオプション形式を他OpenStackコンポーネントと統一するために、 essex→folsomでオプションが大幅に変更されている。マニュアル通りにやってコ マンドが通らないときは、helpでオプションを確認すべし。
  • コンピューティング機能ホスト Dashboard (Horizon) Apache NTP Identity Image (Keystone) (Glance) MySQL Compute Block Network (Nova) Storage RabbitMQ (quantum) (Cinder) QEMU Open vSwitch LVM HW
  • コンピューティング機能Compute (Nova) : コンピューティング機能 【役割】 • コンピューティングリソースの提供・管理 【機能】 • インスタンスの作成・削除、起動・停止 OpenStack Compute API (Horizon,コマンド等) APIアクセスの待 受け keystone nova-api DB AMQP インスタンス作成 ノードの管理 glance nova- nova- scheduler compute quantum Hypervisor インスタンス作 成・起動・停止 この他にも nova-cert, nova-consoleauth といったデーモンが起動する。
  • コンピューティング機能nova-demo 1) インスタンスの作成 イメージの起動 をクリック 起動するイメージを 選択して、インスタン ス名を入力 利用するネットワークに チェックを入れて 「Launch」をクリック 完成!
  • コンピューティング機能nova-demo 1) インスタンスの作成の裏側 インスタンス作成フロー OpenStack Compute API (Horizon,コマンド等) 1. API経由でリクエストを受け取る 2. インスタンスの作成&起動命令をAMQPに投入 1 3. nova-schedulerがメッセージを受け取る nova-api 4. インスタンスの起動ホストを決定してAMQPに投入 2 5. nova-computeがメッセージを受け取る 6. quamtum経由でdhcpの設定(dnsmasq) AMQP 7. glance経由でイメージコピー 5 3 4 6 8. Hypervisorからインスタンス起動 quantum nova- nova- scheduler compute glance 8 7 Hypervisor
  • コンピューティング機能nova-demo 1) インスタンスの作成の裏側 novaから見えるインスタンス $ nova list +--------------------------------------+--------+--------+------------------+ | ID | Name | Status | Networks | +--------------------------------------+--------+--------+------------------+ | 24207deb-8907-4eaa-bade-4b2782d1b7c0 | testvm | ACTIVE | net1=192.168.0.2 | +--------------------------------------+--------+--------+------------------+ libvirtから見える仮想マシンイメージ novaのインスタンスIDと $ virsh list libvirtから見えるuuidは同じ libvirtから見えるIDは同じ Id Name State ---------------------------------- 4 instance-00000001 running $ virsh dumpxml instance-00000001 <domain type=qemu id=1> <name>instance-00000001</name> <uuid>24207deb-8907-4eaa-bade-4b2782d1b7c0</uuid>
  • コンピューティング機能nova-demo 1) インスタンスの作成の裏側 インスタンス作成フロー OpenStack Compute API (Horizon,コマンド等) 1. API経由でリクエストを受け取る 2. インスタンスの作成&起動命令をAMQPに投入 1 3. nova-schedulerがメッセージを受け取る nova-api 4. インスタンスの起動ホストを決定してAMQPに投入 2 5. nova-computeがメッセージを受け取る 6. quamtum経由でdhcpの設定(dnsmasq) AMQP 7. glance経由でイメージコピー 5 3 4 6 8. Hypervisorからインスタンス起動 quantum nova- nova- scheduler compute glance 8 7 ここをもうちょっと Hypervisor 詳しく。
  • コンピューティング機能nova-demo 2) インスタンスのディスク構成 VMware ESX/ESXi VM1 VM2 vm1.vmdk vm2.vmdk OS毎にディスク用のフ ァイルが独立している OpenStack イメージファイルは共通 instance-00000001 instance-00000002 利用。更新データは各イ ンスタンスのファイルに 更新用ファイル 更新用ファイル 記録される。 (qemuのbacking fileと いう機能を使っている。) glanceからコピーしてきたイメージファイル
  • コンピューティング機能nova-demo 2) インスタンスのディスク構成 glanceの保存イメージ $ ls -l /opt/stack/data/glance/images/ total 31404 -rw-r----- 1 user user 2254249 12月 11 16:01 675b1da1-de4b-474e-91d4-2c1502895ec4 -rw-r----- 1 user user 25165824 12月 11 16:01 733979b4-78d5-4290-804d-48fd99a6b3a2 -rw-r----- 1 user user 4731440 12月 11 16:01 d59796ea-10ef-4ec8-8b3f-9b03a29198af novaインスタンス用イメージ $ ls -lR /opt/stack/data/nova/instances/ /opt/stack/data/nova/instances/: glance経由でコピーしてきた total 8 イメージ drwxrwxr-x 2 user libvirtd 4096 12月 11 16:53 _base drwxrwxr-x 2 user libvirtd 4096 12月 11 16:53 instance-00000001 /opt/stack/data/nova/instances/_base: total 31408 -rw-rw-r-- 1 user libvirtd 2254249 12月 11 16:53 675b1da1-de4b-474e-91d4-2c1502895ec4 -rw-rw-r-- 1 user libvirtd 4731440 12月 11 16:53 d59796ea-10ef-4ec8-8b3f-9b03a29198af -rw-rw-r-- 1 libvirt-qemu kvm 25165824 12月 11 16:53 ff4afd2435d4ab51a6e62fe12d18ec7a89b32264 /opt/stack/data/nova/instances/instance-00000001: total 13584 -rw-rw---- 1 libvirt-qemu kvm 16389 12月 11 16:53 console.log -rw-r--r-- 1 libvirt-qemu kvm 7012352 12月 11 16:54 disk _baseとinstance-???????? -rw-rw-r-- 1 libvirt-qemu kvm 4731440 12月 11 16:53 kernel のセットで1つのインスタンス -rw-rw-r-- 1 user libvirtd 1510 12月 11 16:53 libvirt.xml -rw-rw-r-- 1 libvirt-qemu kvm 2254249 12月 11 16:53 ramdisk
  • コンピューティング機能nova-demo 3) インスタンスへのアクセス 初期状態では全ての通信が 遮断されているので、必要な ポートを開ける
  • コンピューティング機能nova-demo 3) インスタンスへのアクセス pingを許可 sshを許可
  • コンピューティング機能nova-demo 3) インスタンスへのアクセスの裏側 セキュリティ設定はホスト上 のiptablesで実現されている。 ホスト上のiptablesの設定 $ sudo iptables -L nova-compute-inst-1 Chain nova-compute-inst-14 (1 references) target prot opt source destination DROP all -- anywhere anywhere state INVALID ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED nova-compute-provider all -- anywhere anywhere ACCEPT udp -- 192.168.0.1 anywhere udp spt:bootps dpt:bootpc ACCEPT all -- 192.168.0.0/24 anywhere ACCEPT icmp -- anywhere anywhere ACCEPT tcp -- anywhere anywhere tcp dpt:ssh nova-compute-sg-fallback all -- anywhere anywhere
  • コンピューティング機能nova-demo 3) スナップショット作成 スナップショットの作成 をクリック スナップショット名を入 力して「スナップショット の作成」をクリック 完成!
  • コンピューティング機能nova-demo 3) スナップショット作成の裏側 OpenStack Compute API (Horizon,コマンド等) スナップショット作成フロー 1. API経由でリクエストを受け取りスナップショットの nova-api 作成命令をAMQPに投入 1 2. nova-computeがインスタンスのスナップショット を作成&インスタンスイメージのコピー AMQP 3. 1で作成したスナップショットの削除 3 4. 2でコピーしたイメージをglanceに登録 glance nova- nova- scheduler 2 compute quantum Hypervisor 4 qemuのイメージコピー機能を使ってい る。 (イメージファイルをフルコピーしている。 VMwareで想像するスナップショットと は違う)
  • コンピューティング機能nova-demo 3) スナップショット作成の裏側 新しいインスタンス用 のイメージとして扱わ れる
  • コンピューティング機能novaまとめ インスタンスの作成・削除、スナップショットの作成を担当している。 nova-schedulerがコントローラの役割、nova-computeがコンピュー トノードの役割を実行している。その他まめ知識 auto scaleの機能はない。 インスタンスが起動するホストはschedulerによって自動的に決定される。ホスト 指定はできない。 novaホストのグループ(ゾーン)内に複数種類のハイパバイザーを混在すること はできない。
  • ボリューム機能ホスト Dashboard (Horizon) Apache NTP Identity Image (Keystone) (Glance) MySQL Compute Block Network (Nova) Storage RabbitMQ (quantum) (Cinder) QEMU Open vSwitch LVM HW
  • ボリューム機能Storage (Cinder) : ブロックストレージ機能 【役割】 • ブロックストレージの提供・管理 【機能】 OpenStack Storage API • ボリュームの作成・削除 (Horizon,コマンド等) • ボリュームスナップショットの作成・削除 cinder-api keystone APIアクセスの待 受け AMQP ボリュームを払い ストレージに対する各 cinder- cinder- 種操作 出すホストの決 定、管理 scheduler volume 対応しているストレー ジはLVM, NFS等 DB storage
  • ボリューム機能cinder-demo 1) devstack構築後のボリュームの状態 ボリューム提供用ファイルを作成 devstackではデフォルトでLVMの機能を利用してボリュームを提供する。 (stack-volume-backing-file)し、ブ $ ls -l /opt/stack/data/ ロックデバイス(/dev/loop0)として利 total 5242916 用する。 drwxrwxr-x 3 user user 4096 12月 13 13:49 cinder drwxr-xr-x 4 user user 4096 12月 13 14:06 dhcp drwxrwxr-x 4 user user 4096 12月 13 14:05 glance drwxrwxr-x 6 user user 4096 12月 13 14:05 nova -rw-rw-r-- 1 user user 5379194880 12月 13 14:22 stack-volumes-backing-file 環境構築後のLVMの状態(VG) $ sudo vgs VG #PV #LV #SN Attr VSize VFree cinderの作成したボリュ localvol 1 2 0 wz--n- 67.74g 0 ームグループ stack-volumes 1 0 0 wz--n- 5.01g 5.01g 環境構築後のLVMの状態(LV) $ sudo lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert root localvol -wi-ao 65.88g swap localvol -wi-ao 1.86g
  • ボリューム機能cinder-demo 1) ボリュームの作成 「ボリュームの作成」 をクリック 「ボリューム名」「容量」を 入力して「ボリュームの作 成をクリック 完成!
  • ボリューム機能cinder-demo 1) ボリュームの作成の裏側 VG 払い出した容量の分だけ $ sudo vgs Free領域が減っている。 VG #PV #LV #SN Attr VSize VFree localvol 1 2 0 wz--n- 67.74g 0 stack-volumes 1 1 0 wz--n- 5.01g 4.01g LV 新しくLVが増えている。 $ sudo lvs これがcinderが払い出 LV VG Attr LSize した領域。 Origin Snap% Move Log Copy% Convert root localvol -wi-ao 65.88g swap localvol -wi-ao 1.86g volume-d47c3ee2-7d44-4b44-bdf7-109c705f5bd5 stack-volumes -wi-ao 1.00g ちなみにcinderの管理しているIDはこちら。 LVM領域の名前は volume-<ID>となっていることがわ かる。(命名規則はcinderの設定で変更可能) $ cinder list +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ | ID | Status | Display Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ | d47c3ee2-7d44-4b44-bdf7-109c705f5bd5 | available | testvol | 1 | None | | | +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
  • ボリューム機能cinder-demo 2) ボリュームの接続 「ボリュームの接続」 をクリック 接続先のインスタンスと接 続デバイス名を入力して 「ボリュームの接続」をクリ ック 完成
  • ボリューム機能cinder-demo 2) ボリュームの接続の裏側 Hypervisorの機能を使 ハイパバイザーからみたボリュームの状態(# virsh edit instance-????????) ってデバイスを接続し <domain type=qemu> ている。 . .(略) . <disk type=block device=disk> <driver name=qemu type=raw cache=none/> <source dev=/dev/disk/by-path/ip-192.168.56.101:3260-iscsi-iqn.2010-10.org.openstack:volume- d47c3ee2-7d44-4b44-bdf7-109c705f5bd5-lun-1/> <target dev=vdb bus=virtio/> <serial>d47c3ee2-7d44-4b44-bdf7-109c705f5bd5</serial> <address type=pci domain=0x0000 bus=0x00 slot=0x06 function=0x0/> </disk> . .(略) .
  • ボリューム機能cinder-demo 3) スナップショットの作成 「スナップショットの作 成」をクリック スナップショット名を入力 して「ボリュームスナップ ショットの作成」をクリック 完成
  • ボリューム機能cinder-demo 3) スナップショットの作成の裏側 LVの状態 $ sudo lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert root localvol -wi-ao 65.88g swap localvol -wi-ao 1.86g _snapshot-839208c8-7e2c-46c4-abf7-d19c35319a1a stack-volumes swi-a- 1.00g volume-d47c3ee2-7d44- 4b44-bdf7-109c705f5bd5 0.00 volume-d47c3ee2-7d44-4b44-bdf7-109c705f5bd5 stack-volumes owi-ao 1.00g LVMのsnapshot機能でス ナップショットを作成してい る。
  • ボリューム機能cinderまとめ ブロックストレージの作成、削除、スナップショットの作成を担当して いる。 指定したデバイスから領域を切り出してインスタンスに接続する。その他まめ知識 cinderはnovaのソースコードを丸々コピーして、ボリューム関連以外のコードを削 除して作った。 LVM,NFSどの種類のデバイスを利用してもインスタンスからはローカルディスク として見える。 ボリュームをcreateするときにホスト&ボリュームを紐付けて管理しているため、 cinder-volumeが稼働しているサーバが障害でダウン → そのサーバで作成さ れていたボリュームの消失 となる。
  • ネットワーク機能ホスト Dashboard (Horizon) Apache NTP Identity Image (Keystone) (Glance) MySQL Compute Block Network (Nova) Storage RabbitMQ (quantum) (Cinder) QEMU Open vSwitch LVM HW
  • ネットワーク機能Quantum: ネットワーク機能 【役割】 • ネットワークリソースの提供・管理 【機能】 • 仮想ネットワークの追加・削除 OpenStack Network API • インスタンスのIPアドレスの払い出し (Horizon,コマンド等) APIアクセスの待 受け quantum- keystone server ネットワークプラグインの操 インスタンスIPアド AMQP 作。 レス払い出しとルー 対応しているプラグインは ティング設定など Open vSwitch, Linux Bridge, OpenFlow 等。 quantum- quantum-l3- quantum- dhcp-agent agent (plugin)- agent DB
  • ネットワーク機能quantum-demo 1) devstack構築後のネットワーク状態 devstackで構築するとデフォルトで ext_netとnet1というネットワークが 作成される
  • ネットワーク機能quantum-demo 1) devstack構築後のネットワーク状態 eth0 ext_netはルータと しての役割を持つ ext_net net1はdemoテナント用 のネットワーク。 net1 192.168.0.0/24のセグメ ントが存在する 192.168.0.2 testvm
  • ネットワーク機能quantum-demo 2) ネットワークの作成 ネットワークの作成をク リック ネットワーク名を入力 セグメント情報、ゲート 完成! ウェイを入力して Createをクリック
  • ネットワーク機能quantum-demo 2) ネットワークの作成 eth0 新規にネットワーク が作成される ext_net net1 testnet 192.168.0.2 この状態で作成したtestnet内でのインスタ ンス間の通信はできる状態になるが、外部 testvm との通信はできない。 外部への通信を実現するには次ページの 作業が必要。
  • ネットワーク機能quantum-demo 2) ネットワークの作成 quantum上のルータのリスト $ quantum router-list +--------------------------------------+---------+--------------------------------------------------------+ | id | name | external_gateway_info | +--------------------------------------+---------+--------------------------------------------------------+ | 5de02c83-4756-4241-a6c9-bfafa2c3dad7 | router1 | {"network_id": "126468b5-1850-45f9-853c-cb832c4fa183"} | +--------------------------------------+---------+--------------------------------------------------------+ quantum上のサブネットのリスト $ quantum subnet-list +--------------------------------------+------------+----------------+--------------------------------------- -----------+ | id | name | cidr | allocation_pools | +--------------------------------------+------------+----------------+--------------------------------------- -----------+ | 292e57b4-2f0b-4fa0-9047-49cb4b7e3517 | testsubnet | 192.168.1.0/24 | {"start": "192.168.1.1", "end": "192.168.1.253"} | | 52d6960f-8e21-4aa9-941e-4bdbee1c0529 | | 10.103.2.0/24 | {"start": “10.103.2.1", "end": "10.103.2.253"} | | 916cb1dc-6244-4ba5-be88-e19e24643d09 | | 192.168.0.0/24 | {"start": "192.168.0.1", "end": "192.168.0.253"} | +--------------------------------------+------------+----------------+--------------------------------------- -----------+ quantumのルータに testsubnet(testnetに作っ $ quantum router-interface-add router1 testsubnet たセグメント)を接続 Added interface to router router1
  • ネットワーク機能quantum-demo 2) ネットワークの作成 eth0 これでtestnet内部から ext_net 外部への通信ができ るようになる。 net1 testnet 192.168.0.2 testvm
  • ネットワーク機能quantum-demo 3) floating ip の払い出し floating ip (public ip) • パブリックIPアドレス(AWSの eth0 Elastic IP) • インスタンスに関連付けることで OpenStack外部からインスタンス 10.103.2.2 へのアクセスが可能になる ext_net net1 testnet fixed ip (private ip) 192.168.0.2 • インスタンス作成時に割り当て testvm られるプライベートIPアドレス • OpenStack外部から疎通でき ない
  • ネットワーク機能quantum-demo 3) floating ip の払い出し floating ip の払い出し $ quantum floatingip-create ext_net Created a new floatingip: 接続するfloating ipと fixed ipのuuidを確認 する。 fixed ip の確認 $ quantum port-list +--------------------------------------+------+-------------------+---------------------------------------- ----------------------------------------------+ | id | name | mac_address | fixed_ips | +--------------------------------------+------+-------------------+---------------------------------------- ----------------------------------------------+ | 005f1846-bccc-4a16-a8e7-72214397fafe | | fa:16:3e:08:c7:dc | {"subnet_id": "52d6960f-8e21-4aa9-941e- 4bdbee1c0529", "ip_address": “10.103.2.2"} | | 398855fd-d2c5-47a8-8f4e-b7dc38736470 | | fa:16:3e:f4:93:2c | {"subnet_id": "916cb1dc-6244-4ba5-be88- e19e24643d09", "ip_address": "192.168.0.2"} | (中略) floating ip と fixed ip の紐付け $ quantum floatingip-associate 005f1846-bccc-4a16-a8e7-72214397fafe 398855fd-d2c5-47a8-8f4e-b7dc38736470 Associated floatingip 005f1846-bccc-4a16-a8e7-72214397fafe
  • ネットワーク機能quantum-demo 3) floating ip の払い出し eth0 10.103.2.2 ext_net net1 testnet floatingip-associateで内部の fixedipと紐付けを行なっている。 192.168.0.2 testvm どういう技術でこれを実現している が、どういう技術でこれを実現して のかまで追っかけられていません。 いるのかまで追っかけられていま (誰か分かった人は教えてくださ せん。(誰か知っている人は教えて い。) ください。)
  • ネットワーク機能quantumまとめ OpenStack内の仮想ネットワーク全般(L2,L3)を担当している。その他まめ知識 テナントをまたいだネットワークは作成できない。 folsomから新規に追加された機能で比較的新しいため、他コンポーネントとの連 携がいまいちなところがある。(管理画面からfloatingIPの払い出しができないと か。) セキュリティグループの機能は今後nova→quantumに移る予定 LBの機能はない。別プロジェクト(Atlus-LB)にて開発中
  • 3.他サービスとの比較OpenStackと関連する業界のお話
  • IaaS基盤比較 ここに使う場合に、 パブリック どれを使えばい い? クラウド プライベート クラウド 大手企業がIaaS基盤をつかって サービスプロバイダとして構築 HP, Dell(OpenStack) IDCフロンティア、NTTコミュニケ ーションズ(CloudStack)
  • IaaS基盤比較OSSのIaaS基盤
  • IaaS基盤比較 (http://incubator.apache.org/cloudstack/)• Cloud.com社が開発したクラウド基盤をCitrixが買収しOSS化してApacheに寄贈 したもの。• CitrixはCloudPlatformとしてサポートを提供。OpenStackと比較したCloudStackの強み・弱み• (本勉強会でお見せしたOpenStackの管理画面とは比べ物にならない)充実した Webインターフェースを実装しており、操作が楽。• 商用サービスを提供するための機能が充実しており、LB、HAの機能を搭載して いる。オブジェクトストレージ(S3)に相当する機能はない。• 独自APIだがAWS互換APIも利用可能。(CloudBridge)• 商用導入実績多数。
  • IaaS基盤比較 (http://www.eucalyptus.com/)• Eucalyptus Systems, Inc.が開発。OSS版と商用版あり。• Amazon EC2/S3とのAPI互換のプライベートクラウドを簡単に構築できるように するのが目標。OpenStackと比較したEucalyptusの強み・弱み• 開発当初からEC2/S3互換APIを実装している。Amazonとも提携しAPI対応の拡 充を表明しており、AWSとの親和性が高い。(EC2,S3,EBS,IAM等の互換APIを 提供)• クラウド構築基盤としては古参であり、プライベートクラウドとしての導入実績多数。• 機能的にできることはOpenStackと大差ない。• OpenStack、CloudStackの話題に隠れてしまい、いまいち盛り上がっている感じ がしない。
  • IaaS基盤比較2つのOSSクラウド基盤と比較した時のOpenStackの優位性は? コミュニティが活発である 出典:http://www.cloud-watch.net/
  • IaaS基盤比較2つのOSSクラウド基盤と比較した時のOpenStackの優位性は? コミュニティが活発である機能的な面ではCloudStackの方が優位、AWS互換という点ではEucalyptusの方が優位。。。ユーザとしての利用を考えるとまだ発展途中のOpenStackを選択する強い理由は今のところ見当たらないというのがホンネ。参加企業が多く開発コミュニティが活発なので、今後化ける可能性は大いにあると思います。
  • IaaS基盤比較 尐し話を広げて
  • IaaS基盤比較 パブリック クラウド 全部パブリック使え ばいいじゃない?
  • IaaS基盤比較OSSのIaaS基盤と商用クラウドサービスの違いは?
  • IaaS基盤比較OSSのIaaS基盤と商用クラウドサービスの違いは? OSSはIaaS機能に限定。 商用クラウドサービスは、IaaS/PaaS といった垣根を超えて幅広くサービス を提供するようにシフト。(Google, Microsoftも同様) OSS IaaS基盤が 提供している機能 はこの辺。
  • IaaS基盤比較パブリッククラウドが本格普及したらOSSのIaaS基盤って必要なくなるんじゃ・・・いや、そんなことはない。 パブリッククラウドから移行したい パブリッククラウドで提供されていないサービスを利用したい カスタム性の高いクラウドを利用したいこんなニーズがある。
  • IaaS基盤比較 クラウド環境を自社内に構築した いという企業にとってはOSSの IaaS基盤は有力な選択肢になる パブリック クラウド
  • IaaS基盤比較 もう尐し話を広げて
  • IaaS基盤比較 クラウドだらけ。。。 クラウド間の互換性 はどうなる?
  • IaaS基盤比較 異種クラウド間アプ リケーションの移行 ができる 異種クラウド間を統一 管理できる(マルチクラ ウド運用管理ソフト)
  • IaaS基盤比較 複数のクラウドのAPIを抽象化 して共通APIで操作できるよう にする Redhat: DeltaCloud Citrix: OpenCloud クラウド共通APIを作 る
  • IaaS基盤比較まとめ OpenStackは現時点では話題先行で実力が伴ってない 感がある。今後の成長に期待。 OSSのIaaS基盤という括りでは、パブリッククラウドが普 及してもプライベートクラウド環境としての需要はあり。 ただし、クラウド業界自体が過渡期であるため今後何が 残っていくのかは注視する必要あり。
  • おしまい
  • 補足資料
  • ネットワーク機能(補足)ホスト Dashboard (Horizon) Apache NTP Identity Image (Keystone) (Glance) MySQL Compute Block Network (Nova) Storage RabbitMQ (quantum) (Cinder) QEMU Open vSwitch LVM HW
  • ネットワーク機能(補足)quantum-demo 0) 操作をする前に用語説明 Network Namaspace • 仮想ネットワーク機能。1つのホスト内に独立したネットワーク空間を構築できる。 • Ubunbu12.04、Fedora16以降で利用可能。RHEL6.4以降で対応予定? 利用方法 # ip netns Open vSwitch • 仮想スイッチ機能 • Ubuntu12.04は利用可能。RHEL6.3未対応 管理系コマンド # ovs-vsctl
  • ネットワーク機能(補足)quantum-demo 1) devstack構築後のネットワーク状態 devstackで構築するとデフォルトで ext_netとnet1というネットワークが 作成される
  • ネットワーク機能(補足)quantum-demo 1) devstack構築後のネットワーク状態 openvswitchの機能を利 用して、br-exとbr-intとい う仮想スイッチと各ポート が作られる tapX qg-X qr-X eth0 br-ex br-int
  • ネットワーク機能(補足)quantum-demo 1) devstack構築後のネットワーク状態 net1 qdhcp-X ext_net 192.168.0.1 qrouter-X tapX 192.168.0.254 qg-X qr-X 10.103.2.1 eth0 br-ex br-int ネットワークネームスペースの機能で qrouter-x(ext_net)とqdhcp-X(net1)の仮 想ネットワーク空間が作られる。 ext_netはルータとしての役割をもつ。 net1は192.168.0.1のセグメント。
  • ネットワーク機能(補足)quantum-demo 1) devstack構築後のネットワーク状態 net1 qdhcp-X ext_net 192.168.0.1 qrouter-X tapX 192.168.0.254 qg-X qr-X qvoX VM1 192.168.0.2 10.103.2.1 eth0 br-ex br-int インスタンスを作成すると qvoXというポートが作成さ れてインスタンスに紐付け られる。
  • ネットワーク機能(補足)quantum-demo 2) ネットワークの作成 ネットワークの作成をク リック ネットワーク名を入力 セグメント情報、ゲート 完成! ウェイを入力して Createをクリック
  • ネットワーク機能(補足)quantum-demo 2) ネットワークの作成 net1 qdhcp-X ext_net 192.168.0.1 qrouter-X tapX 192.168.0.254 qg-X qr-X qvoX VM1 192.168.0.2 10.103.2.1 eth0 br-ex br-int 新規にqdhcp-Y(testnet) 192.168.1.1 というネットワーク空間が tapX 作成される。 この状態で作成したtestnet内でのインスタ ンス間の通信はできる状態になるが、外部 との通信はできない。 qdhcp-Y 外部への通信を実現するには次ページの 作業が必要。 testnet
  • ネットワーク機能(補足)quantum-demo 2) ネットワークの作成 quantum上のルータのリスト $ quantum router-list +--------------------------------------+---------+--------------------------------------------------------+ | id | name | external_gateway_info | +--------------------------------------+---------+--------------------------------------------------------+ | 5de02c83-4756-4241-a6c9-bfafa2c3dad7 | router1 | {"network_id": "126468b5-1850-45f9-853c-cb832c4fa183"} | +--------------------------------------+---------+--------------------------------------------------------+ quantum上のサブネットのリスト $ quantum subnet-list +--------------------------------------+------------+----------------+--------------------------------------- -----------+ | id | name | cidr | allocation_pools | +--------------------------------------+------------+----------------+--------------------------------------- -----------+ | 292e57b4-2f0b-4fa0-9047-49cb4b7e3517 | testsubnet | 192.168.1.0/24 | {"start": "192.168.1.1", "end": "192.168.1.253"} | | 52d6960f-8e21-4aa9-941e-4bdbee1c0529 | | 10.103.2.0/24 | {"start": "10.103.2.1", "end": "10.103.2.253"} | | 916cb1dc-6244-4ba5-be88-e19e24643d09 | | 192.168.0.0/24 | {"start": "192.168.0.1", "end": "192.168.0.253"} | +--------------------------------------+------------+----------------+--------------------------------------- -----------+ quantumのルータに $ quantum router-interface-add router1 testsubnet testnetを接続 Added interface to router router1
  • ネットワーク機能(補足)quantum-demo 2) ネットワークの作成 net1 qdhcp-X ext_net 192.168.0.1 qrouter-X tapX 192.168.0.254 qg-X qr-X qvoX VM1 192.168.0.2 10.103.2.1 eth0 br-ex br-int 192.168.1.254 192.168.1.1 qr-X tapX testnet通信用のポート作 成&ルーティングが設定 qdhcp-Y される。 testnet
  • ネットワーク機能(補足)quantum-demo 3) floating ip の払い出し floating ip の払い出し $ quantum floatingip-create ext_net Created a new floatingip: 接続するfloating ipと fixed ipのuuidを確認 する。 fixed ip の確認 $ quantum port-list +--------------------------------------+------+-------------------+---------------------------------------- ----------------------------------------------+ | id | name | mac_address | fixed_ips | +--------------------------------------+------+-------------------+---------------------------------------- ----------------------------------------------+ | 005f1846-bccc-4a16-a8e7-72214397fafe | | fa:16:3e:08:c7:dc | {"subnet_id": "52d6960f-8e21-4aa9-941e- 4bdbee1c0529", "ip_address": “10.103.2.2"} | | 398855fd-d2c5-47a8-8f4e-b7dc38736470 | | fa:16:3e:f4:93:2c | {"subnet_id": "916cb1dc-6244-4ba5-be88- e19e24643d09", "ip_address": "192.168.0.2"} | (中略) floating ip と fixed ip の紐付け $ quantum floatingip-associate 005f1846-bccc-4a16-a8e7-72214397fafe 398855fd-d2c5-47a8-8f4e-b7dc38736470 Associated floatingip 005f1846-bccc-4a16-a8e7-72214397fafe
  • ネットワーク機能(補足)quantum-demo 3) floating ip の払い出し net1 qdhcp-X ext_net 192.168.0.1 qrouter-X tapX 192.168.0.254 qg-X qr-X qvoX VM1 192.168.0.2 10.103.2.1 eth0 br-ex 10.103.2.2 br-int 192.168.100.254 192.168.100.1 qr-X tapX floatingip-createでqg-Xに新規にVIPが 作成される。(10.103.2.2) floatingip-associateで内部のfixedipと紐 付けを行なっている。 が、どういう技術でこれを実現しているの qdhcp-Y かまで追っかけられていません。(誰か 知っている人は教えてください。) わかった人は教えてください。) testnet