OpenStack最新情報セミナー@渋谷に参加してきた

2014/12/04@日本仮想化技術のOpenstack最新情報セミナーに参加しました。Ustreamでの参加だったので少し途切れている部分があるかもしれません。

openstack管理者入門-Midokura宮原氏

宣伝


Openstackディストリビューションの違いを徹底検証
http://thinkit.co.jp/story/2014/10/28/5310

本題


  • 環境設定したけどその先はまだという方向け
  • Openstackのユーザ権限
  • マルチテナント前提
  • admin, demoが用意される
  • ロールの定義はpolicy.jsonを触る

Openstack ユーザの追加

操作方法 デモ
  • 事前にプロジェクトの追加をしておく。ユーザ作成時に+ボタンから追加することも可能
    管理タブ→認証パネル→ユーザ→ユーザの作成
    ユーザ/パスワード/主プロジェクト
  • GUIもCLIもほぼ一緒。APIをどこから叩くか。
    ほんと一握りがCLIのみ
新しいユーザでログイン。最初にログインすると。
  • パブリックなイメージが存在
  • ネットワークトポロジーはext-netのみ存在
  • ネットワーク、ルータは何も設定されていない
テナントのリソース制限
  • adminユーザで設定可能
  • 管理→プロジェクト→クォータの変更
  • デフォルトのセキュリティグループは何も設定されていない

Openstack ネットワーク作成

インスタンス(DHCP) – demo-net-subet(10.5.5.0/24) – demo router – ext-net-subnet(10.0.0.0/24) – client
※demo routerがFloating IPへの変換を行う。実際はNetwork Nodeのiptablesで実現
ネットワーク作成デモ
  • ネットワーク名
  • サブネット名
    • ネットワークアドレス
    • ゲートウェイ
    • DNS(サブネットの詳細タブ)※見落としがち
※ゲートウェイを省略すると.1が採用される
外部ネットワークとの接続
  • ゲートウェイの設定→ext-netを選択
内部ネットワークとの接続
  • ルータ名をクリックしインタフェースを追加
各種公式OSイメージのダウンロード
- http://docs.openstack.org/ja/image-guide/content/
※独自OSイメージを作成した場合はcloud-initの導入をおすすめ。というよりスタンダード。
  • イメージからボリュームを作成し、そのボリュームから起動することも可能LVMでやっている。iscsi。

鍵の登録

  • アクセスとセキュリティ→キーペア
  • 公開鍵をペースト

Compute Nodeの追加

  • 仮想マシンインスタンスの起動はスケジューラーが自動的に空きCompute Nodeを選択
  • ノードを指定できるスケジューラもある
  • /etc/nova/nova.confを設定(my_ip, vncserver_proxyclient_address)
  • /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
  • Compute Nodeの削除はNovaコマンドから実施

Openstackの監視監視

  • 各コンポーネント毎にポート監視、プロセス監視を行う。
  • swift、neutronをはじめ1つのコンポーネントが多数のプロセスで動いているので逐一監視をする
  • コマンドのマニュアルを読もう
  • Open vSwitch以外のSDNとの連携
  • Juno版手順書絶賛改訂中

OpenStack運用管理最前線 ミラクル・リナックス 林氏

宣伝


Hatohol + OpenStack

本題


議題
Openstack Summit Parisで聴講運用管理3つの事例
 1.大量のVMの一斉起動の高速化(CERN)
 2.Ceilometerを使った不適切行為の検出(Cisco、Kent Unlv)
 3.大規模環境の監視における大量アラートの対策(RackSpace)
- Openstack Summit Parisでの発表のフィードバック
運用管理っていうと何?
  • 監視
  • 障害対応
  • パフォーマンス
  • HA
  • DR

1.大量のVMの一斉起動の高速化(CERN)

1秒間に40テラのデータが生成される環境。パラレルで計算するために1000台くらいのサーバを用意
課題
  • 起動時間がVMの同時起動と正比例に増加
  • 当初、1200VMで4時間かかってしまった
  • スケジューラとGlanceがボトルネック
     - スケジューラがNOVAへリクエストを送る
     - リクエストを受け取ったNOVAはGlanceを参照し仮想ディスクを取得
  • 解析ソフトウェアのVMイメージの更新が頻繁でキャッシュの効率が悪い
対策
  • VMイメージをNovaのキャッシュに事前配布
  • Glace –> Apache + Squid –> Nova
Squidに入れば再配布される、他にも圧縮している
gzip-6が速度と圧縮率のバランスが良い

2.Ceilometerを使った不適切行為の検出(Cisco、Kent Unlv)

Ceilometer + データマイニングでリアルタイムで検出
学習段階
  • 適切な使用時のホスト情報
    • ベンチマーク(HBench)
    • 高負荷状態(CPU)
    • アイドル状態
  • 不適切な使用時のホスト情報
    • DDOS
    • 仮想通貨のマイニングツール
分類
  • OSSのデータマイニングツール「Orange」を使用
  • アルゴリズムで最適解を求めて検出

3.大規模環境の監視における大量アラートの対策(RackSpace)

(監視による)対策
  • 障害発生後、素早く原因を特定
    • 相関と抑制(Alertの相関関係マッピングを作成)
    • Apacheが落ちたらHorizon AuthやHorizon Contentも落ちるよね
       
  • リソース枯渇の事前防止
    • 増加率を計測して時期を予測

Hatohol + OpenStack

様々なOSSと連携してくれる統合監視

統合監視

  • ZabbixやNagiosなどとCeilometerを併用する
  • 管理画面を統合

インシデント管理

  • redmine

問題切り分け

  • zabbix
  • fluentd
その他
  • OpenStack Days 2015に出展・デモ
  • OpenStack監視用のZabbixテンプレートを公開
  • Zabbix/Hatoholも含めた構築手順書

Openstack Neurtonの機能概要 Juniper中嶋氏

コンポーネントの説明(略)

Neutronの実現するネットワークとは

  • マルチテナントネットワーク
  • API経由の制御
  • ネットワーク抽象化
  • ベンダー固有のコンフィグ排除

Neutronの基本的なモデル

  • 図による説明のため割愛

Neutronの実装

  • L2ネットワーク
  • L3ネットワーク
  • DHCPサーバ
  • メタデータ(メタデータサーバのProxy)
コンポーネント
  • API Client
  • Neutron Server
    • neutron api
    • neutorn plugin
    • neutron api extentions
    • db
  • Nova Compute

ML2Plugin

  • 複数のプラグインの機能を同時利用可能
  • Type Driver
     ネットワークの方式を決定(Flat,VLAN,GRE,VXLAN)
  • Mechanism Driver
     - Open vSwich
     - Linux Bridge
     - L2 Population
     - Vender(Ciscoとか)

各コンポーネントの実装

  • Network node
    • neutron openvswitch agent
    • l3Agent
    • dhcp agent
    • metadata-agent
  • Compute Node
    • Nova compute
    • neutron openvswitch agent
  • Controller Node
    • neutron-server

qrouterはNamespaceで作られているよ

  • ip netns
  • ip netns exec qrouter-XXXX ip addr
  • dhcpやSNATも同じように確認できる

icehouce以前のまとめ

  • ペースメーカーで冗長化が手間問題
  • トラフィック集中問題
  • dnsmsqプロセス集中問題

L3HA

  • NetworkノードをVRRPで冗長化
  • keepalived
  • 実MAC使用
  • GARPで切り替え

DVR

  • DirectにCompute Nodeがルーティングする
  • br-extとqrouterが各Compute Nodeにできる
  • Holizon上のパッと見は変わらない。マウスオーバーすると。
  • dhcpは変わらない

バグ?

  • fipのnamespaceはあるが、qrouterに飛んでいっている。
  • 使う時はfipのnamespaceを確認してみる。qrouterのiptablesを確認

Ml2-Plugin IPv6

  • サポートするようになった
  • 仮想マシンへのアドレス割当方法
     - SLAAC
     - DHCPv6 Stateful
     - DHCPv6 Stateless
    ※動かない時があるのでバグFix待ったほうがいいかも
     
    プロセス大量問題とNameSpace大量問題が残る

OpenContrail

  • やれることはML2と同様
  • Service Chainingが付加価値
  • ゲートウェイルータとの動的連携
  • アナリティクス機能

BGPベースのVPN

Network Node→OpenContrail Controller
  • Configuration Node
  • Analytics Node
  • Control Node
Compute Node
  • Nova compute
  • vRouter Agent
その他
  • dhcpはvRouter Agent
  • snatはSNATのname spaceを使用
  • snatはAct-StbなのでNodeまたぐ通信が発生する
サービスチェイニング
  • 仮想ネットワークとルートターゲット
アナリティクス機能
  • 仮想マシン/仮想ネットワーク単位
  • フローの収集
  • syslog
まとめ
  • プロセス大量問題とNameSpace大量問題を解決
  • オープンソース
  • ヨーロッパのtcp cloudで事例あり

OpenStack Fast Track 若葉マークStackerのStacker教習所 サイバーエージェント長谷川氏、田上氏

  • Openstackを組んだことがある人 会場は8割くらい?
スペック
  • Compute Node
  • E5-2470v220Core / 16GB / 480GB SSD *4 / Intel X540 *1
  • 1020C/2040T 8TB Memory
設計
  • 公式のInstall Documentationに従って作れば一応動く
  • できるだけ従った方がよい
公式から変更した点
  • コントロールプレーンを冗長
  • データプレーンを冗長しない(で済むようにする)
  • データプレーンをソフトウェアで冗長するのは非常に大変
  • 冗長化されたL2スイッチ・L3スイッチ・アプライアンスLB
必要な周辺機能
  • ベアメタルプロビジョニング
  • パッケージレポジトリ
  • DNS
  • syslog
パッケージレポジトリはローカルに持った方がよい。インターネット負荷の観点。
アンダークラウド
  • Openstackのコントロールプレーン
  • 共有ストレージ無しでライブマイグレーション
Computeまわり
  • KVM、Open vSwitch
  • オーバーコミットしない。パフォーマンスのリクエストを考慮した。
フレーバー
  • CPUが2倍ならメモリも2倍でディスクも2倍。余りが無いように。
ネットワーク
  • L3 Agentは使わない
  • Neurtonの標準機能のみ
  • VLAN Type Driver
  • Metadata Agentが使えないため、自前で169.254.169.254を対処
ストレージ
  • ブロックストレージはなし
  • インスタンスストアはSSDのRAID5
  • Gralceの冗長化のためにSwiftが必要なため準備した
MariaDB
  • MariaDB ClusterはVIPで冗長
  • 常に1台だけ使う設計にした方がベター
  • 複数のDBにかかれるとロールバックが頻発しログが大変なことに
  • Openstack側にtimeout設定は入れておいた方がよい
RabbitMQ
  • 公式のHighAvailavilityGuideをみよ
Openstackコンポーネント
  • VIPで
  • glance-apiはデフォルトはfileになってしまうのでバックエンドSwiftにした
  • nova-consoleauthはmemcachedを指定しておこう
  • neutron-dhcp-agentは3つ起動
構築
  • 汎用ツールで作りましょう
構成管理
  • SCMにコミット
  • 複数環境に対応
  • 冪等
  • 完全自動化
運用
  • jenkins
    • ビルドトリガの観点
    • ローカルのマシンからAnsible流していると・・・
    • ロギングの観点
    • ワークフロー作成
       
      初期設定はShelscriptで別に実施
Q&A
  • VLAN4096についてどんな考え?
      -> VLAN設計から4096まで必要なかった
  • VLANを使うとL3Agentを使わない理由は?
      -> 物理の世界が機能を持っているから
      
  • 外部と内部のIPマッピングは?
      -> グローバルとプライベートは外部でNAT。楽。
      -> テナントが好きにできる構成ではない
      
  • Novaネットワーク/Linux Bridgeの選択は?
      -> Novaネットワークの寿命を考慮。Linux Bridgeでも良かったといえば良かったが、管理面ではOVSで正解と感じている
      -> VLANでやる限りはOVSでも問題にはなっていない。
      
  • Memorryが10枚なのはなぜ?4チャネル単位は?
      -> コスト的な判断。メモリ使い回ししたいので16GBのみで検討
      -> パブリックとのコスト比較を考えると、コストは重要と判断
      
  • これからは?
      -> ネットワークのテナント隔離、ストレージはブロックストレージをソフトウェアで

NTTドコモ様 検証事例:OpenStack Summit 2014 Paris 講演「Design and Operation of OpenStack Cloud on 100 Physical Servers (NTT DOCOMO)」

課題


  • 高可用性
  • Neutronの組み方
環境
  • トータル3200vCPU / 12.8TB Memorry
ネットワーク冗長
  • Nova Computeから外に出ていく部分をどうするか
  • Multi-Chassis LAG+Bonding / ECMP(quagga)
  • ECMPが意外と楽だったが、パフォーマンスに難あり
VXLAN
  • OVSでVXLANは500VM to 500VMで10Gbpsくらいしか出なかった
  • mellanoxを使用した
  • MTU9000にするとでも1.5~1.6倍は効果があった
  • オフロードは1.3~5.5倍
HA
  • LBベース
  • 冗長化とってるが1台しかサービスしていない(Act-stbの4台構成)
  • MySQLの競合が起きるのでそれを避けるため
  • SSD使ってない場合切り替わりに大幅な差が出た
  • L3Agentは冗長できないため、マイグレーションできるようにした
  • 仮想ルータの復旧は10秒程度
その他
  • デフォルトのセキュリティグループは削除する
  • 全Nodeのiptablesの書き換えが発生する

openstackは日本語の参考書も出ています。勉強しておいた方が良いと思います

オープンソース・クラウド基盤 OpenStack入門 構築・利用方法から内部構造の理解まで
中井悦司 中島倫明
KADOKAWA/アスキー・メディアワークス
売り上げランキング: 18,659


 シェアして頂けると嬉しいです

参考になったという方がいれば是非お願いしますm(_ _ )m
モチベーション維持の観点で非常に励みになります。