Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
ブロードバンドタワー 会社概要
All rights reserved. ©BroadBand Tower, Inc. 2016 2
株式会社ブロードバンドタワー BroadBand Tower, Inc.
2000年2月9日
東京都千代田区内幸町1-3-2 内幸町東急ビル
23.61億円(2016年6月末日 現在)
コンピュータプラットフォーム事業 ファッションビジネスプラットフォーム事業
代表取締役 会長兼社長 CEO 藤原 洋
347.88億円(2016年 6月 連結)
JASDAQ:3776
会 社 名
設 立 年 月 日
所 在 地
資 本 金
事業セグメント
売 上 高
代 表 者
株 式 市 場
2016/12/8
会社設立~現在
All rights reserved. ©BroadBand Tower, Inc. 2016 3
2011
2010
2009
2008
2015
2014
2013
2012
2003
2002
2001
2000
2007
2006
2005
2004
2016
第2サイトオープン
大証ヘラクレス上場(現・JASDAQ 証券コード3776) 連結子会社BBF設立 第3サイトオープン
連結子会社ブランチ・アウト事業開始
山口県防府市において太陽光発電事業を開始
クラウドセキュリティ認証制度「STAR認証」を国内企業として初の取得
第5サイトオープン Scality社製品「Scality RING」販売代理店契約締結、販売開始
連結子会社エーアイスクエア、グローバルIoTテクノロジーベンチャー設立
グローバルセンター・ジャパン株式会社(現ブロードバンドタワー)設立
第1サイト(データセンター)オープン
株式会社ブロードバンドタワーに社名変更
マネージドホスティングサービス「FlexHosting」(現 c9 Flex)サービスの提供開始、西梅田(関西)サイトオープン
アイシロン・システムズ社(現EMC社)製品「Isilon」の 販売代理店契約締結、販売開始
連結子会社BBFが三井物産株式会社と資本業務提携
ヤフー株式会社と資本業務提携
Dell EMC社 Cloud Service Provider Progam契約締結 パナソニック社製品「パナソニック データアーカイバー」販売代理店契約締結、販売開始
2016/12/8
事業概要
All rights reserved. ©BroadBand Tower, Inc. 2016 4 2016/12/8
自己紹介
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 5
加藤 良輔
2013年11月入社
Cloud&SDN研究所 所属
活動内容
2013年~ Cloud&SDN研究所発足のスタートアップメンバとして入社
2014年~ SDN研究所用ASの設計運用、実験系Internet Exchange拠点運用に携わる
2015年~ 複数クラウド接続サービスの設計・運用に携わる
2016年~ Interop Tokyo 2016 NOC サーバ担当等々 社外活動
好物
カメラ と おもちゃの鉄砲
スイッチ紹介
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 6
Quanta T3048-LY9 [x 2]
QCT (Quanta Cloud Technology) 製ホワイトボックススイッチ
Trident II
48 100/1000/10GBASE-T and 6 QSFP+ ports
Capacity: 1.44Tbps
Max Forwarding Rate: 1071Mpps
CPU:Freescale P2020, MEM: 2GB DDR3
Cumulus Linux Installed.
CumulusLinuxとは?
7
CumulusLinuxとは?
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 8
CumulusLinux とは?
もはや言わずと知れた WhiteBox スイッチで動くLinuxOS
Debian GNU/Linuxベース
apt update -> apt install xxx もできる!
スイッチはLinux的に設定 (/etc/interfaces)
Switchd (独自)にて ASIC へ橋渡し
一部機能に OpenvSwith も存在
今回、BBTower Cloud&SDN研究所でも 試験的にCumulusLinuxの導入と運用を行うことに
スイッチ設定概念
9
スイッチ設定作法
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 10
デフォルト状態は全ポートが独立したインターフェイス
Linux Bridge 設定
vlan設定
※ ip link add link swp1 name swp1.1001 type vlan id 1001でも可
個人の感想
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 11
まんまLinux だこれー!?
Traditional モード
通常のLinux Bridgeの操作
VLANが多くなると管理が大変となる
Cumulus 的には vlan-awareモードを推奨
VLAN変換箱を作る場合に使うとよいモード
スイッチ設定:Traditional モード
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 12
https://docs.cumulusnetworks.com/display/DOCS/Ethernet+Bridging+-+VLANs 参考:
auto br-VLAN100 iface br-VLAN100 bridge-ports swp1.100 swp2.100 bridge-stp on auto br-VLAN200 iface br-VLAN200 bridge-ports swp1.200 swp2.200 bridge-stp on
vlan-awareモード (今回使用)
Cumulus2.5系でサポート (現在3.12) (実は 1カーネル(筐体?)につき1個のみ設定)
Cumulus独自の実装の機能
スイッチ設定:vlan-aware モード
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 13
https://docs.cumulusnetworks.com/display/DOCS/VLAN-aware+Bridge+Mode+for+Large-scale+Layer+2+Environments 参考:
auto bridge iface bridge bridge-vlan-aware yes bridge-ports swp1 swp2 bridge-vids 100 200 bridge-pvid 1 bridge-stp on
Cloud&SDN研究所にて稼動例
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 14
Whitebox Switch
Generic Switch
Generic Switch
サービス用VLAN 2-4000
サービス用VLAN 2-4000
研究所仮想基盤
研究所バックボーン
仮想基盤TORスイッチとして導入
沢山のVLANを通す
L2スイッチとしてはシンプルな構成
上から来たTaggedを下に渡すだけ
実はスイッチ的な設定は以下のみ
※ 実はCumulusはデフォルトVID3000-3999をリザーブしています為 推奨の設定ではありません
※
Linuxのブリッジ設定の向き
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 15
ネットワーク機器の考え方が逆
SW(JUNOS) SW(Cumulus)
Bridge br0 te-0/0/1
swp1
ポート操作でブリッジに登録する ブリッジ操作でポートを登録する
Linuxのブリッジ設定の向き (簡易設定例)
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 16
SW(JUNOS)
Bridge
SW(Cumulus)
br0
(雑に) 全VLANを通す設定
ポート単位でブリッジ設定するx48(気持ち)
ブリッジ単位で設定する
Cumulus自動構築
17
CumulusLinuxとAnsible
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 18
Whiteboxスイッチの使い方
たくさんデプロイを想定 安価(であってほしい)スイッチですもの
・・・管理が辛くなってくる (弊社2台故まだまだですが)
構成管理ツールを使わない手はない
素で Linux + sshd 動いている
素で Python 入ってる →
Ansible を使うしかないじゃないか!
Ansibleの仕事
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 19
Ansible とは?
サーバ管理の構成管理/自動化ツール
指定された書式の手順書をインベントリに登録されたサーバにて実行
豊富なモジュールを駆使してサーバ、ネットワーク機器へ冪統性ある処理を実行
Cumulus Linux + Ansible でできるシナリオ
1. 作業ユーザ追加と管理権限の付与
2. ライセンス適用
3. デフォルトユーザ ”Cumulus” の無効化
4. 使う環境の監視/管理サービスの設定
5. Linux Bridge の初期構成 (モジュールもCumulus対応) 上記操作を一括にて行えます
AnsibleからCumulusの操作 (触ったことある方向け)
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 20
Ansible Module for Cumulus Linux
Ansible で操作をする場合は以下のCumulus提供の操作モジュール
cl_license - Install Cumulus Linux license
cl_bond - Configures a bond port.
cl_bridge - Configures a bridge port.
cl_img_install - Install a different Cumulus Linux version.
cl_interface - Configures a front panel, loopback or management port.
cl_interface_policy - Configure interface enforcement policy.
> This is a Core Module いつの間にか公式のCoreModuleに登録されてしていました (以前は拡張モジュール扱い)
… 実際のところ、これ以外は完全にLinuxおよび各サービス用モジュール設定になります
Ansibleモジュールのごく一部分解説 (1)
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 21
cl_interface について
/etc/network/interface.d/ 以下に各interfaceの設定を置く
要: /etc/network/interface に source /etc/network/interface.d を記述
Debian GNU/Linux の設定としては筋の通る・・・というか、そのまま
ははーん、このモジュールはUbuntuにも使えますね?
Ansibleモジュールのごく一部分解説 (2)
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 22
cl_interface について
/etc/network/interface.d/ 以下に各interfaceの設定を置く
要: /etc/network/interface に source /etc/network/interface.d を記述
Debian GNU/Linux の設定としては筋の通る・・・というか、そのまま
ははーん、このモジュールはUbuntuにも使えますね?
→
だめでしたァァァア orz
cl_interface で呼び出す ifquery (Linux標準) に独自の拡張が含まれてる模様
モジュールのごく一部分解説 (2)
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 23
Ubuntu版 ifquery Cumulus版 ifquery
手作業でInterface設定する場合は意識する必要はないが、Cumulus内のSystem寄りコマンドはCumulus内で扱いやすいようにここでもカスタマイズされている模様
独自部分、一部紹介
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 24
cumulus:~$ zgrep Cumulus /usr/share/man/man*/* | sed "s/:.*$//g"|uniq
/usr/share/man/man1/netshow.1.gz
/usr/share/man/man5/apt-snapshot.conf.5.gz
/usr/share/man/man5/cl-acltool.5.gz
/usr/share/man/man5/ifupdown-addons-interfaces.5.gz
/usr/share/man/man5/interfaces.5.gz
/usr/share/man/man8/cl-acltool.8.gz
/usr/share/man/man8/clagctl.8.gz
/usr/share/man/man8/clagd.8.gz
/usr/share/man/man8/cl-cfg.8.gz
/usr/share/man/man8/cl-service-summary.8.gz
/usr/share/man/man8/dhcpd.8.gz
/usr/share/man/man8/dhcrelay.8.gz
/usr/share/man/man8/ifdown.8.gz
/usr/share/man/man8/ifquery.8.gz
/usr/share/man/man8/ifreload.8.gz
/usr/share/man/man8/ifup.8.gz
/usr/share/man/man8/iorw.8.gz
/usr/share/man/man8/ledmgrd.8.gz
/usr/share/man/man8/onie-select.8.gz
/usr/share/man/man8/phy-update.8.gz
/usr/share/man/man8/ptmctl.8.gz
/usr/share/man/man8/ptmd.8.gz
/usr/share/man/man8/pwmd.8.gz
/usr/share/man/man8/smonctl.8.gz
/usr/share/man/man8/smond.8.gz
/usr/share/man/man8/vxrd.8.gz
/usr/share/man/man8/vxrdctl.8.gz
/usr/share/man/man8/vxsnd.8.gz
/usr/share/man/man8/vxsndctl.8.gz /usr/share/man/man8/ztp.8.gz
cumulus:~$ sudo vtysh
Hello, this is Quagga (version 0.99.24+cl3u4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
cumulus#
3.12系をざっくり調べると ← の通り
幾つかのデーモンにもそれっぽい番号が↓
Cumulus+α 導入事例
25
当研究所、Cumulus は Linux Switch故の
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 26
“スイッチ管理もクラウドらしく”
をコンセプトにデプロイ設計
Cloud&SDN研究所にての試験利用中
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 27
デプロイ後の初期設定+基本設定
サービス監視/一括操作
管理ネットワーク
Whitebox Switch
Generic Switch
Generic Switch
Cloud&SDN研究所仮想基盤
サービス用セグメント
CumulusLinux管理構成
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 28
サーバOS (Linux) による スイッチ筐体の制御
デプロイ (展開) ツールによる設定の自動化
クラスタ管理ツールによる ステータスの相互確認
Consul
Ansibleの仕事
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 29
同上
Consulの仕事
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 30
Consul
Consul とは?
Vagrant などの Hashcorp謹製OSS toolの一つ
サーバ監視と設定の為の管理エージェント
問題発生時にエージェントからのイベントとアクション
インストール済み端末を一斉操作
Cumulus Linux + Ansible +Consul
1. Ansible による初期設定から自動インストール
2. インストール後はConsulサーバへ自分の情報を通知
3. 死活監視と待機
4. (Ansible が利用可能な最新のホスト情報を生成)
5. (インストール済みノードへコマンドを一括投入)
管理されたWhitebox Switch運用のサイクル
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 31
1. 電源投入からの自動初期設定
2. 自動によるベースコンフィグ設定
3. ベースコンフィグからの自動クラスタ構成
4. (群体のオペレーションの繰り返し)
5. 故障もしくは経年による入れ替え
6. (1へ戻る)
Consul
Linux的に 自動設定
Ansible & Consul の違い
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 32
Ansible
手順書を元に全体のモデル化と設定反映
自動構成として利用するツール
初期状態からのデプロイ用として利用
Consul
作業対象の監視と一括操作を行うツール
コマンドを一括でライブに投入が可能
同役割の冗長系スイッチへ同じコマンドを投入可
全機器のステータスの表示
指定のサービスの全停止/再起動
機能不全検知時に指定のコマンドを実行
Consul
=ゼロタッチ”的”プロビジョニング
=Linuxの一括操作
※ 元々 CumulusとONIE自体でカバーできてはいますので…
※
研究所 Ansible Playbook構成
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 33
1. 初期設定
1. Cumulus共通の初期設定
2. クラスタ設定
1. Consul登録
3. サービス/スイッチ設定
1. snmpd
2. rsyslogd
3. switchd
一つのPlaybook群でも良かったですが開発中故、細かく
Consul管理
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 34
クラスタ管理画面
冗長化された管理サーバ
登録されたクライアント一覧
サーバとしての柔軟な操作
一括の設定確認/変更
必要な情報の抽出
監視項目の動的追加
RestAPIによる操作
※スイッチクラスタ内の “t3048” に一致するスイッチのポート6が学習したMACアドレスを抽出
※管理サーバ3台の冗長構成と4台の試験用仮想スイッチ、および Quanta t3048-ly9
Consulによる監視
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 35
それっぽい監視もできています
Consul watch から Slack へ通知も
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 36
ステータス変動時に Slackへ通知
※ 細かいハンドラ書く元気は出z (ry
Cumulus Linuxで
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 37
“スイッチ管理をクラウドらしく”
そうなると今度は数が欲しくなりますね…
おぉ、ちょっと
いけそうですね。
Cumulus VX によるスイッチ開発 (1)
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 38
当研究所では現在 ”Cumulus VX” にて数の寂しさを紛らわしております。
$ consul members
Node Address Status Type Build Protocol DC
cumulus-vx1 10.22.96.111:8301 alive client 0.6.4 2 dc1
cumulus-vx2 10.22.96.112:8301 alive client 0.6.4 2 dc1
cumulus-vx3 10.22.96.113:8301 alive client 0.6.4 2 dc1
cumulus-vx4 10.22.96.114:8301 alive client 0.6.4 2 dc1
t3048-ly9-1 10.22.96.101:8301 alive client 0.6.4 2 dc1
t3048-ly9-2 10.22.96.102:8301 alive client 0.6.4 2 dc1
wbsw-ctrl1 10.22.96.1:8301 alive server 0.6.4 2 dc1
wbsw-ctrl2 10.22.96.2:8301 alive server 0.6.4 2 dc1
wbsw-ctrl3 10.22.96.3:8301 alive server 0.6.4 2 dc1
Cumulus VX によるスイッチ開発 (2)
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 39
Whitebox に乗る CumulusLinuxを仮想環境で使用できる「Cumulus VX」
VMware/KVM/Virtualbox 対応
スイッチとしても動作 (ASICに落とすハードウェア独特の switchd の中身 => exit () のみ)
大体の動作を確認することができる。
Vagrant (CumulusCommunity/cumulus-vx) も使用ができる
テスト・開発用に便利
手元のノートPCで Cumulus VX を作る
Ansible Playbook や ConsulのRestAPI を設計
Cumulus VX 宛に流して動作を確認する
Cumulus の実環境にデプロイする
手元のCumulus VX環境を廃棄する
Cumulus Linux VXで
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 40
“スイッチを今っぽく機能追加できそう”
ちょっと
っぽいですね。
おまけ
41
Cumulus Linux 3.2 (Dec 2016) で
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 42
なんと独自CLI “NCLU” が実装されるらしい
参考: https://cumulusnetworks.com/blog/cumulus-linux-network-command-line-utlility/
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 43
むせ返る先祖返り感。
生粋のネットワーク屋さんを取り込む感じで
まとめ
44
Whitebox + Cumulus 長所/短所
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 45
長所
Whitebox Boot時のONIE自体も賢くデプロイがしやすい
ほぼ標準といってもよい環境が既にできている
SFPのベンダロックインがない
しかも意外とSFP/SFP+兼用が効く筐体であったり
新しい管理方法を試せる、もしくは製品の土台に使える
短所
スイッチ筐体保守とOSライセンス更新の2重苦 (個別に来る故、まとめたい)
潜むサーバOS独特の問題
OOM Killerによる恐怖ロシアンルーレット問題 (あるんでしょうか… 実は試せていません)
service networking reload 時の瞬断
トラブルに直面した時の覚悟と度胸と決断
数ポートが「微妙に」壊れていました・・・を見る時はどうする?捨てる?
Whitebox + Cumulus Linux
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 46
嬉しいこと
サーバらしい管理ができるスイッチとして使える
自動化ノウハウも既に存在するのでは
スイッチ運用の新しい選択ができる
サーバリソースと同じ方法で同じ監視基盤に乗せられる
Nagios/Zabbix以外の監視方法の選択も可能、今回はConsulにて
コントロール方法の選択
所感:
大量にデプロイして壊れたら差し替えられるくらいが丁度よい
こういうところもクラウドっぽく使いたい それこそ使い捨てくらいの・・・
値下げが効く幅が狭いと嬉しいなぁ…
単体で定価だとわりと遜色ないお値段
コストメリット皮算用で選ぶのは本質ではないのかもしれない
Whitebox と Cumulus Linuxで
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 47
“クラウドらしくスイッチ管理してみましょう”
さぁ、
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 48
以上、ご清聴ありがとうございました。
2016/12/8 All rights reserved. ©BroadBand Tower, Inc. 2016 49