Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Copyright 2015 FUJITSU LIMITED
OpenStack運用実践によるエンタープライズ適用に向けた課題と今後について~ベアメタルサービスの現状と
Design Summitでの討議状況~
2015年7月13日富士通株式会社椎名宏徳
0
Copyright 2015 FUJITSU LIMITED
Ironicの概要説明
ベアメタルサービスの現状とDesign Summitでの討議状況
本日のアジェンダ
1
Ironicの概要
Copyright 2015 FUJITSU LIMITED2
ベアメタルサービス
エンタープライズ適用に向けて必要な機能
仮想化に適さないワークロードへの対応
• I/O負荷が高く、性能要求の厳しいシステム(データベースなど)
→ベアメタルが必要
仮想マシンとベアメタルの共通管理
OpenStackのベアメタルサービス:Ironic
OpenStack Kiloで正式にリリース
Kiloでの修正規模
•機能追加数:24件
•バグ修正数:170件
• ソース追加:約27,000行
Copyright 2015 FUJITSU LIMITED3
OpenStack Ironic
ベアメタルサービスを提供するコンポーネント
利用者は、VM配備と共通の操作でベアメタル配備可能
Copyright 2015 FUJITSU LIMITED
VM VM VM Baremetal Baremetal
Request VM Request baremetal
deploy deploy
Nova
Hypervisor
Nova
Ironic
4
Ironicの構成
Copyright 2015 FUJITSU LIMITED
Baremetal
Baremetal
Baremetal
ベアメタル配備の要求
イメージ取得
ネットワーク制御
ベアメタルの制御
Ironic
Nova
Ironic API
Neutron
Glance
Ironic Conductor
Driver
5
ドライバ
Ironic Conductorに、ベアメタルを制御するインタフェースを提供
標準のドライバはIPMIを利用
ハードベンダも固有のドライバを開発(性能向上や追加機能のため)
iRMC driver (富士通)
iLO driver (HP)
DRAC driver (Dell)
etc...
ベアメタル配備の方式(ドライバで実装)
PXEブート
Ironic Python Agent
Virtual media機能による配備
Copyright 2015 FUJITSU LIMITED6
システムの全体像
Copyright 2015 FUJITSU LIMITED
コントローラノード
ネットワークノード
コンピュートノード
管理ネットワーク
ベアメタル ベアメタル
OOBネットワーク
BMC BMC
データネットワーク
利用者の通信用
BMCでの電源制御
外部ネットワーク
Nova Neutron
Glance
Neutron Agents
DHCP L3 Nova Ironic
ノード =物理サーバ
7
BMC: Baseboard Management Controller
Ironicのセットアップ
ベアメタルをIronicに登録
使用するドライバ、BMCの認証情報
ベアメタルのスペック情報 (CPU数、メモリ量など)
MACアドレス
ベアメタル用のフレーバを作成(利用者はフレーバを選択して、ベアメタルの配備を要求)
ベアメタル用のイメージを作成
デプロイ用イメージ (配備時のみ利用)
• bm-deploy-kernel, bm-deploy-ramdisk
ユーザ用イメージ
• user-image, user-image-vmlinuz, user-image-initrd
Copyright 2015 FUJITSU LIMITED8
ベアメタル配備の流れ
1. Ironicがベアメタルの電源を入れる
2. ベアメタルがデプロイ用イメージを取得してブート
3. デプロイ用イメージにより、iSCSIをセットアップ
4. Ironicがユーザ用イメージをベアメタルにコピー
5. Ironicがベアメタルを再起動
6. ベアメタルがユーザ用イメージで起動
Copyright 2015 FUJITSU LIMITED
Baremetal
Ironic
Compute node
tftp
Network node
dhcp
Power management
user OS image
IP address
deployment image
iSCSI target
9
ベアメタルサービスの現状とDesign Summitでの討議状況
Copyright 2015 FUJITSU LIMITED10
Design Summitについて
普段からIRCミーティングで貢献を積んでいる開発者が次のリリースの大方針、デザインなどを決定する場
10以上のセッションが並列開催
1セッションから5名~50名の参加者
座談会方式で、自由に発言
最前列の開発者が中心になって議論
人気セッションでは、PTLやコア開発者を捕まえられない
セッションでのアジェンダ登録は、事前にIRCミーティングで議論して、EtherPadに登録
11 Copyright 2015 FUJITSU LIMITED
Ironic-Neutron integration sessionの様子
Copyright 2015 FUJITSU LIMITED12
ベアメタルの要件とIronicの対応状況
要件 可否 課題
仮想マシンと同一APIでの配備 ○
OSプロビジョニング ○
SAN Boot構成 × Cinderとの連携
サーバ故障時の復旧 ×
ボリューム割り当て ×
マルチテナント対応 × Neutronとの連携
仮想マシンとのネットワーク接続 ×
Copyright 2015 FUJITSU LIMITED
今回の発表の範囲
13
Design Summitでの討議結果
Design Summitの目玉テーマの一つ
マルチテナント対応
仮想マシンとのネットワーク接続
→新しいクロスプロジェクト“Ironic-Neutron integration”の立ち上げ
実装方法の大枠について合意
Copyright 2015 FUJITSU LIMITED14
実現する機能
マルチテナント対応のためには、ネットワークの分離が必要
ベアメタルの場合、物理スイッチの設定が必要
物理スイッチ設定の自動化を行う
Copyright 2015 FUJITSU LIMITED
Baremetal
スイッチ
Baremetal
Baremetal Baremetal
Tenant1
Tenant2
VLAN100
VLAN200
スイッチ設定の自動化
マルチテナント
15
解決方法
2種類のVLANを利用
配備用VLAN
•管理者が作成するNeutronネットワーク
• Ironicを接続するVLAN
•ベアメタルは配備時のみこのVLANに接続
テナント用VLAN
•テナント利用者が作成するNeutronネットワーク
•ベアメタルは配備後にこのVLANに接続
配備の前後で2種類のVLANを切り替える
Copyright 2015 FUJITSU LIMITED16
物理スイッチの制御方法
Neutronのドライバで物理スイッチを制御
スイッチポートのVLAN設定を実施
NeutronのML2メカニズムドライバを実装する方針
Copyright 2015 FUJITSU LIMITED
物理スイッチ
VLAN設定をリクエスト
VLANを設定
Ironic Conductor Neutron Server
Neutron plugin
(ML2 mechanism driver)
Ironic Neutron
17
検討の過程(案1)
単純にVLANでネットワークを分割
配備するときに、どのベアメタルもIronicからOSイメージの取得が必要
Copyright 2015 FUJITSU LIMITED
BaremetalIronic
スイッチ
Baremetal
Baremetal
Tenant1
Tenant2
VLAN100
VLAN200
Ironicへの接続が必要
18
検討の過程(案2)
テナントごとにIronicを配置
Copyright 2015 FUJITSU LIMITED
BaremetalIronic
スイッチ
Baremetal
IronicBaremetal Baremetal
Tenant1
Tenant2
VLAN100
VLAN200
19
検討の過程(案2)
テナントごとにIronic用のノードを用意するのは非現実的
Copyright 2015 FUJITSU LIMITED
Ironic
・・・
Baremetal Baremetal
Ironic Baremetal Baremetal
Ironic Baremetal Baremetal
20
解決方式の概要 (1/4)
ベアメタルを配備するときは、配備用VLANを利用
Copyright 2015 FUJITSU LIMITED
Ironic
Untagged
VLAN 100
Switch
Untagged
VLAN 100
Untagged
VLAN 200
OSイメージのコピー
Baremetal
(配備中)
Baremetal
(配備済み)
Tenant 1
配備用VLAN
VLAN ID
100:Deployment
200:Tenant1
21
解決方式の概要 (2/4)
配備完了後に、IronicがベアメタルのVLAN設定を変更(配備用VLANからテナント用VLANへ)
Copyright 2015 FUJITSU LIMITED
Ironic
Untagged
VLAN 100
Switch
Untagged
VLAN 200
Untagged
VLAN 200
Baremetal
(配備済み)
Baremetal
(配備済み)
Tenant 1
VLAN IDを変更テナント用VLAN
Neutron
ドライバ
VLAN ID
100:Deployment
200:Tenant1
22
解決方式の概要 (3/4)
別のテナントも配備用VLANを使ってベアメタルを配備可能
Copyright 2015 FUJITSU LIMITED
Ironic
Untagged
VLAN 100
Switch
Untagged
VLAN 200
Untagged
VLAN 200
Baremetal
(配備済み)
Baremetal
(配備済み)
Tenant 1
Baremetal
(配備中)
Untagged
VLAN 100
Tenant 2
OSイメージのコピー
VLAN ID
100:Deployment
200:Tenant1
300:Tenant2
23
解決方式の概要 (4/4)
VLANを切り替えることで、Ironicが全テナントのベアメタルを配備可能
Copyright 2015 FUJITSU LIMITED
Ironic
Untagged
VLAN 100
Switch
Untagged
VLAN 200
Untagged
VLAN 200
Baremetal
(配備済み)
Baremetal
(配備済み)
Tenant 1
Baremetal
(配備済み)
Untagged
VLAN 300
Tenant 2
Baremetal
(配備済み)
Untagged
VLAN 300
テナント内で通信可能
テナント内で通信可能
マルチテナント
VLAN ID
100:Deployment
200:Tenant1
300:Tenant2
24
配備の詳細 (準備)管理者のオペレーション
1. Neutronネットワークを作成(配備用VLAN)→NeutronがDHCPサーバを作成
2. untagged VLANをIronic用コンピュートノードが接続するスイッチポートに設定
Copyright 2015 FUJITSU LIMITED
Baremetal
BMCNetwork nodeCompute node
Switch
Ironic
OOB Network
NIC
tftp
NIC
br-eth
br-int
dhcp
(deploy)
NIC
trunkuntagged VLAN
(deployment)
Data Network
1
2
25
配備の詳細 (1/6)
1. テナント利用者がネットワークを作成(テナント用VLAN)→NeutronがDHCPサーバを作成
2. テナント利用者がベアメタルの配備をリクエスト
Copyright 2015 FUJITSU LIMITED
Baremetal
BMCNetwork nodeCompute node
Switch
Ironic
OOB Network
NIC
tftp
Data Network
NIC
br-eth
br-int
dhcp
(deploy)
NIC
trunkuntagged VLAN
(deployment)
dhcp
(tenant)
1
26
配備の詳細 (2/6)
3. Ironicが配備用VLANのVLAN IDをベアメタルが接続しているスイッチポートに設定
4. Ironicがベアメタルの電源をON
Copyright 2015 FUJITSU LIMITED
Baremetal
BMCNetwork nodeCompute node
Switch
Ironic
OOB Network
NIC
tftp
NIC
br-eth
br-int
dhcp
(deploy)
NIC
trunkuntagged VLAN
(deployment)
dhcp
(tenant)
Power on
Data Network
3
4
untagged VLAN
(deployment)
Neutron
Driver
27
配備の詳細 (3/6)
5. ベアメタルが配備用VLANのDHCPサーバからIPアドレスを取得
6. ベアメタルがデプロイ用イメージをtftpサーバから取得
Copyright 2015 FUJITSU LIMITED
Baremetal
BMCNetwork nodeCompute node
Switch
Ironic
OOB Network
NIC
tftp
NIC
br-eth
br-int
dhcp
(deploy)
NIC
trunkuntagged VLAN
(deployment)
dhcp
(tenant)
deployment
image
Data Network
5
6untagged VLAN
(deployment)
28
配備の詳細 (4/6)
7. ベアメタルが、デプロイ用イメージでブート後、iSCSIターゲットを用意し、Ironicに通知
8. 通知を受けたIronicがユーザ用OSイメージをベアメタルにコピー
Copyright 2015 FUJITSU LIMITED
Baremetal
BMCNetwork nodeCompute node
Switch
Ironic
OOB Network
NIC
tftp
NIC
br-eth
br-int
dhcp
(deploy)
NIC
trunkuntagged VLAN
(deployment)
dhcp
(tenant)
Data Network
8
Notification
untagged VLAN
(deployment)
iSCSI target
7
29
配備の詳細 (5/6)
9. Ironicがテナント用VLANのIDを、ベアメタルが接続するスイッチポートに設定
10. Ironicがベアメタルを再起動
Copyright 2015 FUJITSU LIMITED
Baremetal
BMCNetwork nodeCompute node
Switch
Ironic
OOB Network
NIC
tftp
NIC
br-eth
br-int
dhcp
(deploy)
NIC
trunkuntagged VLAN
(deployment)
dhcp
(tenant)
Reboot
9
10
Data Network
untagged VLAN
(tenant)
Neutron
Driver
30
配備の詳細 (6/6)
11.再起動後、ベアメタルが、テナント用VLANのDHCPサーバからIPアドレスを取得
12.テナント利用者がベアメタルを利用可能
Copyright 2015 FUJITSU LIMITED
Baremetal
BMCNetwork nodeCompute node
Switch
Ironic
OOB Network
NIC
tftp
NIC
br-eth
br-int
dhcp
(deploy)
NIC
trunkuntagged VLAN
(deployment)
dhcp
(tenant)
Data Network
11
untagged VLAN
(tenant)
31
Libertyでの取り組み
専用IRCで実装の詳細を討議し、Libertyでの実現に貢献
Ironic-Neutron IRCミーティングで議論毎週月曜16:00(UTC) / 25:00(JST)
ドライバ実装のよい前例となることを目指して、ベンダ固有ドライバを開発中
NeutronのML2メカニズムドライバを開発中
• neutronにRFE(Request For Enhancement)を発行https://bugs.launchpad.net/neutron/+bug/1464190
Copyright 2015 FUJITSU LIMITED
物理スイッチ
VLAN設定をリクエスト
VLANを設定
Ironic Conductor Neutron Server
Neutron plugin
(ML2 mechanism driver)
Ironic Neutron 実装詳細の議論
ドライバの実装
32
Mシリーズに向けて
要件 可否 課題
仮想マシンと同一APIでの配備 ○
OSプロビジョニング ○
SAN Boot構成 × Cinderとの連携
サーバ故障時の復旧 ×
ボリューム割り当て ×
マルチテナント対応 × Neutronとの連携
仮想マシンとのネットワーク接続 ×
Ironicの機能強化に向けてDesign Summitでの課題の提案、議論に貢献
Copyright 2015 FUJITSU LIMITED33
Copyright 2015 FUJITSU LIMITED