きのう(3月2日)
OpenStack最新情報セミナー
に行ってきた!のでその内容をメモメモ
<<昼の部>>
■あいさつ
昼の部にこんなに来てくれるのは、はじめて
・昼の部
OpenStack共同検証ラボ
neutronのDeep dive
jujuなど、実践的な環境構築ネタ
■OpenStack共同検証ラボのご紹介
・自己紹介
・会社紹介
HP:内部ネタ
動画の配信UStreamからYouTube Liveへ
URL,チャンネル登録100人になったら、変えられるので、チャンネル登録してね!
GitHubの活用:マークダウン形式
【OpenStack共同検証ラボをブロードバンドタワー社と始めました】
・悩み:勉強の機会が限られている
→クラウド基盤の運用管理にこそビジネスの差別化要因があるが、てつかずのまま
・OpenStack共同検証ラボとは
SDN活用、運用管理にもフォーカス
賛同いただける会社を募り、共同でプロジェクト推進
ベンダーニュートラルで積極的に情報発信
・2つのゾーン
SDN/NFVゾーン
DevOpsゾーン
3~6カ月で中長期
・サーバー管理の自動化(管理・監視ツール)
・興味ある方はご連絡
スケジュール
■OpenStack-Ansibleで作るOpenStackHA環境
・ホワイトペーパーある
・OpenStack-papetをAnsibleで書きなおし
Rackspaceの案件でデリバリーされている
→いかに鉄板で動かすか?
・OpenStack-Ansibleへの期待
Ubuntu ServerでRDOみたいに使いたい
OpenStackでHA環境を構築するのが、当たり前になってほしい
自動化ツールAnsibleの適用範囲を広げてほしい
■OpenStack-Ansibleで作るOpenStack HA環境手順書解説
・今回解説する手順書 Kilo版
・自己紹介:割愛
・Ansibleとは(おさらい)
構成管理ツールの1つ。YAMLフォーマットで書かれており可読性が高い
※同じジャンルの製品にはPuppet,Chaf,Jujuがある
・特徴
Simple
イベントリ、プレイブックがあれば利用可能
Agentless
特別なツール入れなくてOK.SSHで
Powerful
環境デプロイ、スイッチ設定も含めて
・Openstack-Ansibleとは
Ansibleを使用して、容易にデプロイできることを目指す
・コンポーネント構成
コントローラーノード1台
→Ubuntuいtれる
Openstack Ansible
LXCいれる
HA Proxy
いろいろはいる
コンピュートノード1台
→Ubuntuいtれる
KVMいれる
1.構築する環境について(p5)
・2だい
3台冗長が一般的だけど、今回は2代
・p6
コンポーネント一覧
・HAの考え方
スプリットプレインによるデータ破損やいるし3台で冗長
その他致命的→2代で冗長
・P7
Ansibleカーネル重要:3.13
→これより低いとplaybooksが動かない
・ネットワーク
em1:管理用
em2:サービス(プロジェクト)で使われるネットワーク
・優先ネットワークをem1にする
・プロキシの設定
→管理ネットワークからインターネットアクセス可能
2.OpenStack-Ansibleインストール前の設定
・サーバーにAnsibleをいれるためのパッケージインストール
・タグVlanを有効にする
・カーネルのアップグレード
・ネットワークデバイスの設定
・物理ボリュームの設定
3.Openstack-Ansibleの設定
・P23
設定用Playbook、実行用Playbook
・OpenstackAnsibleインストール
・コピー
・P25
Openstack_user_config.ymlファイルの作成
exampleを参考
各セクションに分かれている
cidr_networksセクション
used_ipsセクション→予約IPアドレスの設定
global_overridesセクション
shared-Infra_hostsセクション:かかれていない
GalaraDB,RabbitMQ,Memcachedをデプロイ
affinity
書かれていない:暗黙的に1個
・P28
物理サーバー3台の場合
・P28-29
デプロイする
P30
Cinderをデプロイする
今回はStorage1は出てこない
このファイル編集すればおしまい
スペース入るとうまくいかない
・user_variables.yml
基本的にファイルの中に書かれている
・user_secrets.ymlの設定
keystoneで使うパスワード
4.Openstackのデプロイ
・playbook実行
・P36:setup-hosts.ymlの実行
-vvvをつくる
・失敗したらretry
・プロキシ
・DBやMQなどインフラ
・残りのコンポーネント
7~8時間で構築完了
今後
・解説部分を手順に
・ドキュメント充実化
・Mitaka対応
・OpenStack+PLUMgridのインストール自動化
■知っているようで知らないNeutron -仮想ルーターの冗長と分散-
・自己紹介
・Neutronの仮想ルーターについて
1.IaaS環境におけるネットワーク(昔話)
仮想マシンの上でVM動かす
サーバー数が増加→管理製品が登場
VMを横断的に
VLAN使って:設定が仮想スイッチと物理スイッチ両方に
仮想サーバー:爆発的に増加
手動じゃむり:ホップ バイ ホップとオーバーレイ
今回はオーバーレイ
2.Nova Network
仮想ルーターは1つだけ
テナント巻でIP重複不可能、SPoF、スループット、パケット往復ビンタ
Nova Network マルチホスト
複数あるのでSPoFなどはいいけど、IP重複は不可
3.Neutron
複数の仮想ルーターを実現:Linux namespace→テナントごとに
L2パケット処理
課題:
L3の処理:仮想ルーター Neutron Server重要→SPoF,スループット、往復ビンタ
VMから出たL2パケットはL3でカプセル化
対策
L3HA,DVR
3.1 L3HA
SPoF対策
口はあるが、IPはActiveに振られている
切り替わり
1台しんでる→activeへ
できること
SPoF化排除
セッション引き継ぎとかはできない
スループット向上
テナントがA,Bとあるとき
NW1をAのアクティブ
NW2をBのアクティブにする
3.2 DVR
3.2.1 概要
・スループット、往復ビンタ問題解決
Computeサーバーに仮想ルーターを置き、
(Neutronサーバーのクローン)
フローティングIPを割り当てると、Computeサーバーの分散仮想ルーターを通して外部へ
3.2.2
前提知識 仮想Routerの処理
East-West通信→Computeサーバーでやりとり、往復ビンタおこらない
Noth-South、フローティングIPなし
インスタンス→Computeサーバーでカプセル化
neutronでカプセル解除:外に出る
フローティングIPあり
仮想ルータでNATされ、ルーティングされる
3.2.3 DVR詳細
FIPなし
FIPあり・・・(ふくざつなのでしょうりゃく)
3.3DVRまとめ
・できること
スループット向上→複数ルーター使う
・できないこと
SPoF:1個にヒモづくから
→L3HAとDVRは現時点では排他
4.MidoNet(おまけ)
・Overlay型のSDNシステム
・コントローラー単一ではない
・GWサーバーのう家にMidonetProviderRouterでそのうえに仮想ルーター
・ポートミラーリングの機能
5.まとめ
L3HA:Activeスタンバイ、Neutronサーバー通るので負荷かかる
DVR:冗長化現時点ではできない:フローティングIPの有無で変わる
MidoNet:ActiveActive
Q&A
OVN:アーキテクチャとしては、MidoNetとほぼ一緒
■Ubuntu Juju/MAAS OpenStackを使った検証環境構築
・自己紹介
・会社紹介:えむでぃす
・きょうのおはなし
Juju/MAAS
事例
・Juju/MAASの概要
かのにかるしゃ
Juju:モデリング、設定、デプロイ、管理をクラウド環境へ実現するサービスオーケストレーションツール
チャーム(Charm)→設定サービス
MAAS:物理サーバー自動化ツール
・Jujuのしくみ
サービス:Charmで機能単位
ユニット:サービスで作られた実体
ノード:サーバーの実体、1ノードに複数ユニットも可能
サービス間のリレーション構築 add_relation
スケールアウト juju add-unit
・MAASの仕組み
KVMとかも管理できる
デモ
・マシン自動探索と登録
事例1:環境作った
→構築実習
全員同じIP→接続先VLAN
グループごとにルーティングテーブルを分割
OpenStack構築の
・MAASサ-バー
・Jujuサーバーの構築
・OpenStack用物理マシン・仮想マシン
・Jujuへデプロイ
事例2:
失敗の原因
1.MAASデプロイ始まらない
2.Jujuがunitのデプロイを始めない
→タイミングまたはゴミの問題
事例3:
Juju on Openstack
metadataを作る
テナント用 juju bootstrap
Jujuで作ったOpenStackAPIへ、テナント内のjuju bootstrapから疎通しない
テナント内にDNS
wordpress構築
1.jujuでMySQLデプロイ
2.Jujuでwordpressデプロイ
3.MySQLとwordpressをadd-relation
4.expose ON
5.IP
まとめ
<<夜の部:仮想ネットワークの高速化>>
■Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~
・自己紹介
・会社総会 アルティマ & マクニカグループ
・ほんじつお話しする内容
SR-IOV
VXLAN オフロード
DPDK
OVS オフロード
FPGA ON NIC
→とは何?という話省略
超まとめ
・VXLAN オフロード
アクセラレーションでも枯れている。
NICで。
・SR-IOV
最近クラウドでも。Amazonでもオプション。
オーケストレーションの課題
・DPDK
NFVのユースケースで注目
アプリケーションが対応しないと
6WIND、Vyatta
・TrendTec
OVSオフロードNIC
FPGAのNICカード
VPPテクノロジー
・VXLAN Offload
NTT Docomo
・DPDK
オープンソース:kiloから使える
かのにかるjujuで6WIND(しっくすういんど)立ち上げられる
・SR-IOVとOVS Offload
OVSオフロードエンジン搭載NIC
・FPGA NIC
メラノックス、ビットウェアー(からできます):米国では流れていく
→OpenCL:抽象化コンパイラ
ネットっワークを高速化するには
・ボトルネックの理解
スケールアップ?→解決しない時も:
デバイスドライバの割り込み
コンテキストスイッチ
vSwitch
・テクノロジーの分類
HWアクセラレーション:ドライバの作りこみ違う
SWアクセラレーション:DPDKはこれ。連携必須
動作解説
・VXLANオフロード
RSO/TSO処理
勘違い
VTEPはオフロードしません
ただしVTEPはオフロードするものあり
使いどころ
VMあたりのスループット向上
ショートパケットはそれほど
・OVS
IRQ割り込み、カーネルバッファコピー
コンテキストスイッチ
・OVS+DPDK
データパス用専用コア
ファストパス:コンテキストスイッチ発生しない
OVSトランスペアレント
PMDドライバ対応
・SR-IOV
カーネルバイパス
仮想スイッチの要件が低い場合
・OVSオフロード
NICでオフロード、見掛け上OVS
対応製品
■OVS VXLAN Network Accelaration on Openstack
・Tokyo Summitにて
DPDKの評価おわっていなかったので
・振り返り
できるだけ汎用的はHWで
できるだけ標準的なSW・デプロイ方法で
一部のHW・SWの書き換えだけで
ハイパーコンバー字度インフラをOpenStackで構築すること
・OVS/VXLANを選択する理由
ほとんど使える
既存根とワークのデメリットを避けながら
Linux Kernelによるパフォーマンスネック
OVS (Open vSwitch)
VXLAN
・なにも使わないでOVS VXLAN
2Gくらいしか出ない(1台あたりは徐々に減る)
・VXLANオフロード
【一般的理解】
OVSがVXLANパケットを付加:それが付加されるので、ハードで計算できなくなる
→そこをハードで計算できるようにする
ショートパケットだと下がる
・DPDK
64バイトショートフレームで10G出せる?
→CPUサイクルが・・・1000サイクルはかかるので
→インテルDPDK
ポールモードドライバー
明示的なリソースの割り当て
・6WIND
ターボルーター:ソフトウェアルーター
ターボIPSec
バーチャルアクセラレーター:バーチャルスイッチ
キーアドバンテージ
OVS DPDK:OVSをサポートしているのがメイン
6WIND:さまざまサポート
・パフォーマンステスト
2コアで10倍以上
6WIND明らかに性能違う
・POC評価
vcpu_pin_setの設定
UDPの場合
・まとめ
VXLANオフロード
帯域の有効利用という点では有効→本番運用では難しいのでは?
DPDK
基本的な性能を求めるには必須
設定は難しい
・ビットあいるではサービスしているよ
■SR-IOV Networking with Openstack
・自己紹介
・トピック
ネットワークリソースを使いきる
(1)NICの性能を使いきる
・仮想ネットワークの性能
CPU性能
ネットワーク性能→こんかいここ
ディスク性能
・ベアメタルサーバーの性能
なんにもチューニングしない:3Gでない
・仮想化基盤ネットワークのおさらい
VMM上で仮想スイッチを稼働させ・・ここもんだい
性能向上
(1)仮想スイッチをバイパス=PCIパススルー
(2)仮想スイッチの高性能化=仮想スイッチ+DPDK
今回は(1)
(2)SR-IOVとは
・仕様です
PCIデバイスを多重化して仮想マシンにパススルー接続する技術の業界標準
・PCIバスのパススルー技術
仮想スイッチモデル
PCIパススルーモデル
SR-IOVモデル
バーチャルファンクション:物理ポートを細切れにし、
→仮想マシンがDMAを使う技術
PCIバスと仮想マシンの関係を定義、管理する仕組み
箱を動かす場合注意必要(LiveMigration)
→NFVバーチャルファンクション
・キーワード
物理ファンクション(PF)
仮想ファンクション(VF)
→効率の用分割数
・技術
ハード
NIC
ソフト
CPU ピンギング
PFVFドライバ
(3)SR-IOVを利用する
サーバーHWの設定でSR-IOVを有効化
IOMMUの有効化とモジュールのロード
VFのPCIバスIDでパススルー接続
使用上の注意
IaaS基盤を使わない場合、バスIDとMACアドレスの構成要素を管理する必要がある
(4)SR-IOVを管理する
OpenStackを利用して解消する
仮想マシンのポートを作ってあげる
使用上の注意
PF/VFドライバの問題
セキュリティグループが適用されない
PCIパススルー情報はCOMPUTEノードの設定に直書き
Horizonからは操作できない(Liberty現在)
(5)SR-IOVの効果
IPふぉわーディング
まとめ
・ぴんぎんぐのところはいれてない