SlideShare a Scribd company logo
Copyright 2018 FUJITSU LIMITED
OpenStack Ironicについて
0
2018/2/14 日本OpenStackユーザ会 第37回勉強会
富士通株式会社
古川 勇志郎
IRC: yushiro
Github: furukawa3
はじめに
 本資料は、日本OpenStackユーザ会の免責事項に従っています:
 https://openstack-jp.connpass.com/event/78056/
 本資料は個人の見解であり、所属する組織の公式見解ではありません
 間違いなどありましたら、優しくご指摘お願いします m(_ _)m
Copyright 2018 FUJITSU LIMITED1/ 63
Copyright 2018 FUJITSU LIMITED
Who am I?
古川 勇志郎(ゆうしろう)
OpenStackコミュニティ開発
 Firewall as a Serviceとかのコア
 Queensサイクルで頑張ったこと:
1. Neutron Packet logging 設計開発
2. FWaaS v2 設計開発
 Ironic向けベンダープラグイン開発担当
マルチテナント配備機能(VLAN, VXLAN, LAG)
最近の趣味:トランプ、ダイススタッキング
2/ 63
目次
OpenStack Ironicとは?
 Ironicのコンポーネント
 Ironicのリソースと状態遷移
 Ironicの実力
機能・手順紹介
 マルチテナントネットワーク
 Boot from volume(SAN boot)
ベアメタルのセキュリティについて
(時間が余ったら)Ironic TIPS
Copyright 2018 FUJITSU LIMITED3/ 63
本日説明する部分・しない部分
仮想マシン
ハイパーバイザ
VM VM
OS OS
ベアメタル
ベアメタル
OS
ベアメタル
OS
コンテナ
OS
コン
テナ
コン
テナ
コン
テナ
Copyright 2018 FUJITSU LIMITED4/ 63
本日説明する部分・しない部分
仮想マシン
ハイパーバイザ
VM VM
OS OS
ベアメタル
ベアメタル
OS
ベアメタル
OS
コンテナ
OS
コン
テナ
コン
テナ
コン
テナ
Copyright 2018 FUJITSU LIMITED5/ 63
本日説明する部分・しない部分
仮想マシン
ハイパーバイザ
VM VM
OS OS
コンテナ
OS
コン
テナ
コン
テナ
コン
テナ
Copyright 2018 FUJITSU LIMITED6/ 63
OpenStack Ironicの紹介
Copyright 2018 FUJITSU LIMITED7/ 63
OpenStack Ironicとは?
物理マシンの配備を行うコンポーネント
ベアメタル(BM: Bare Metal)プロビジョニング
テナント利用者はNova経由でベアメタルサーバを配備可能
Copyright 2018 FUJITSU LIMITED
Hypervisor
Provide same API for users Manage VMs
Manage BMs
Give me
an instance
Flavor
Flavor
…
…
8/ 63
仮想マシン上では運用に適さない業務
(CPU負荷 or ディスクI/O性能が
重視されるワークロードなど)
なぜベアメタルサービスが必要なのか?
オンプレミス → クラウドの普及
Copyright 2018 FUJITSU LIMITED
お客様
… …
クラウド
二つの管理を
一本化したい
9/ 63
オンプレミス → クラウドの普及
Copyright 2018 FUJITSU LIMITED
お客様
…
クラウド
…
管理コストの削減・クラウドが持つ便利な機能の享受
なぜベアメタルサービスが必要なのか?
10/ 63
Ironicのコンポーネント
Copyright 2018 FUJITSU LIMITED
 ironic-api: REST APIの受け口。管理者のみ利用可能
 ironic-conductor: Ironicの中枢。ドライバ呼び出し/DB操作
 ironic-python-agent: ベアメタル上で読み込まれたディスクイメージ内で動作
(OSイメージのコピーなど)
ironic-conductor
ベアメタル
Hardware types
ironic-python-agent
python
ironicclient
diskimage-builder
disk image
Hardware
interfaces
boot
console
deploy
inspect
network
power
redfish ipmi
raid storage
ironic-api
11/ 63
ironic-conductor
Ironicのコンポーネント
Copyright 2018 FUJITSU LIMITED
ベアメタル
Hardware types
ironic-python-agent
python
ironicclient
diskimage-builder
disk image
 ironic-api: REST APIの受け口。管理者のみ利用可能
 ironic-conductor: Ironicの中枢。ドライバ呼び出し/DB操作
 ironic-python-agent: ベアメタル上で読み込まれたディスクイメージ内で動作
(OSイメージのコピーなど)
Hardware
interfaces
boot
console
deploy
inspect
network
power
redfish ipmi
raid storage
ironic-api
12/ 63
Ironicのコンポーネント
Copyright 2018 FUJITSU LIMITED
 ironic-api: REST APIの受け口。管理者のみ利用可能
 ironic-conductor: Ironicの中枢。ドライバ呼び出し/DB操作
 ironic-python-agent: ベアメタル上で読み込まれたディスクイメージ内で動作
(OSイメージのコピーなど)
ironic-conductor
ベアメタル
Hardware types
ironic-python-agent
python
ironicclient
diskimage-builder
disk image
Hardware
interfaces
boot
console
deploy
inspect
network
power
redfish ipmi
raid storage
ironic-api
13/ 63
Ironicのコンポーネント
Copyright 2018 FUJITSU LIMITED
 ironic-api: REST APIの受け口。管理者のみ利用可能
 ironic-conductor: Ironicの中枢。ドライバ呼び出し/DB操作
 ironic-python-agent: ベアメタル上で読み込まれたディスクイメージ内で動作
(OSイメージのコピーなど)
ironic-conductor
ベアメタル
Hardware types
ironic-python-agent
python
ironicclient
diskimage-builder
disk image
Hardware
interfaces
boot
console
deploy
inspect
network
power
redfish ipmi
raid storage
ironic-api
14/ 63
管理者が必要な作業(事前準備)
Image作成
Image登録(glance)
フレーバー登録(nova flavor)
Node(ironic)
 フレーバー情報と揃える(紐づけはここで実施)
 BMCの管理IPや認証情報なども必要
Port(ironic)
 Macアドレス
Copyright 2018 FUJITSU LIMITED15/ 63
管理者が必要な作業(事前準備)
Image作成
Image登録(glance)
フレーバー登録(nova flavor)
Node(ironic)
 フレーバー情報と揃える(紐づけはここで実施)
 BMCの管理IPや認証情報なども必要
Port(ironic)
 Macアドレス
Copyright 2018 FUJITSU LIMITED16/ 63
Ironicのリソース
Node
ベアメタルサーバを表す
サーバのスペックや使用する
ドライバなど様々な情報を保持
Port
物理NICを表す
MACアドレスだけでなく
隣接ポート情報も保持する
Copyright 2018 FUJITSU LIMITED
Baremetal Server
NIC NIC
0/1 0/2
Node
Port
17/ 63
Ironicの状態遷移(一部抜粋)
Enroll
 Node作成時の初期状態
Manageable
 管理可能な状態。クリーニングや
ハード情報取得(inspect)可能
Available
 クリーニング後の、配備可能な状態。
Active
 動作中のワークロードがある状態
Copyright 2018 FUJITSU LIMITED
Enroll
https://specs.openstack.org/openstack/ironic-
specs/specs/kilo-implemented/new-ironic-state-machine.html
https://docs.openstack.org/ironic/pike/_images/states.svg
Available
クリーニング等
Active
配備
撤去
状態変更
Manageable
状態変更
18/ 63
Ironicの実力(1/2)
Copyright 2018 FUJITSU LIMITED
インスタンス操作
Ironic(ベアメタル)
サポート状況
サポートするリリース
または予定
電源制御 ✔ Juno~
マルチテナント ✔ Ocata~
Graceful Shutdown ✔ Ocata~
シリアルコンソール ✔ Ocata~
Cinder連携(SANブート) ✔ Pike~
ネットワークアタッチ ✔ Pike~
Secure boot ✔ (*1)
ダンプ採取(NMI) ✔ Ocata~
*1: Pike時点では iLO(HP), iRMC(Fujitsu) がサポート
19/ 63
Ironicの実力(2/2)
Copyright 2018 FUJITSU LIMITED
インスタンス操作
Ironic(ベアメタル)
サポート状況
サポートするリリース
または予定
BIOS リセット ✔ (*1)
Routed network対応 ✔ Queens~
レスキューモード Rocky(予定)
コンソールのログ Rocky(予定)
グラフィカルコンソール Rocky(予定)
BIOS設定変更 Rocky(予定)
サーバ故障時の自動復旧 Novaにて実装予定 Rocky(予定)
*1: Pike時点では iLO(HP), iRMC(Fujitsu) がサポート
20/ 63
 複雑なインフラの構成を隠ぺい(抽象化)して、利用者に提示する機能
 network1@phys1
 network1@phys2
 network2@phys1
 network2@phys2
L2 switch
Routed network
Copyright 2018 FUJITSU LIMITED
Controller/Network
L2 switch
Baremetal
Server
Baremetal
Server
phys1
Compute Node
VMphys2 VM
OVS
https://docs.openstack.org/ocata/netwo
rking-guide/config-routed-networks.html
network1: segment@phys1, segment@phys2
network2: segment@phys1, segment@phys2
21/ 63
L2 switch
Routed network対応
Copyright 2018 FUJITSU LIMITED
Controller/Network
L2 switch
Baremetal
Server
Baremetal
Server
phys1
Compute Node
VMphys2 VM
OVS
network1: segment@phys1, segment@phys2
network2: segment@phys1, segment@phys2
 Ironic port にて、物理ネットワークの指定ができるようになった
Port
Port
https://specs.openstack.org/openstack/i
ronic-specs/specs/approved/physical-
network-awareness.html
22/ 63
L2 switch
Routed network対応
Copyright 2018 FUJITSU LIMITED
Controller/Network
L2 switch
Baremetal
Server
Baremetal
Server
phys1
Compute Node
VMphys2 VM
OVS
network1: segment@phys1, segment@phys2
network2: segment@phys1, segment@phys2
Port
Port
https://specs.openstack.org/openstack/i
ronic-specs/specs/approved/physical-
network-awareness.html
 Ironic port にて、物理ネットワークの指定ができるようになった
23/ 63
機能・手順紹介
マルチテナントネットワーク
SAN boot
Copyright 2018 FUJITSU LIMITED24/ 63
Controller Node
L2 switch
 利用者に安心して使ってもらうためのネットワーク分離ができない
 管理ネットワークと接続してしまう
Copyright 2018 FUJITSU LIMITED
これまでのIronic(Flat networkの問題点)
Baremetal
Server
Baremetal
Server
TFTP Ironic
Management Network
Compute Node
VM VM
25/ 63
Compute Node
L2 switch
 自由にネットワークを分離できるようになった
 配備中、撤去中にのみ管理ネットワークと自動接続する
 Neutronのベンダープラグインが必要
 Link Aggregationを設定することで、通信速度と耐故障性を向上
Copyright 2018 FUJITSU LIMITED
マルチテナント配備
Baremetal
Server
Baremetal
Server
VM VM
LAGPort VLAN設定
Controller Node
TFTP Ironic
26/ 63
Copyright 2018 FUJITSU LIMITED
マルチテナント配備(準備)
$ openstack baremetal port create “aa” --node $NODE_UUID ¥
--local-link-connection switch_id=$SWITCH_MAC_ADDRESS ¥
--local-link-connection switch_info=$SWITCH_HOSTNAME ¥
--local-link-connection port_id=“0/1”
--pxe-enabled true
https://docs.openstack.org/ironic/ocata/deploy/multitenancy.html
L2 switch
Baremetal
aa
0/1
 Ironic port にlocal_link_connection を登録
 switch_id: スイッチのMAC address
 switch_info: (Optional)スイッチのモデル名やベンダー固有の識別情報
 port_id: スイッチのPort ID
27/ 63
Copyright 2018 FUJITSU LIMITED
マルチテナント配備(準備:LAGの場合)
$openstack baremetal port create “aa” --node $NODE_UUID ¥
--local-link-connection switch_id=$SWITCH_MAC_ADDRESS ¥
--local-link-connection switch_info=$SWITCH_HOSTNAME ¥
--local-link-connection port_id=“0/1”
--pxe-enabled true
L2 switch
Baremetal
aa
0/1
 Ironic port にlocal_link_connection を登録
 switch_id: スイッチのMAC address
 switch_info: (Optional)スイッチのモデル名やベンダー固有の識別情報
 port_id: スイッチのPort ID
bb
0/2
$openstack baremetal port create “bb” --node $NODE_UUID ¥
--local-link-connection switch_id=$SWITCH_MAC_ADDRESS ¥
--local-link-connection switch_info=$SWITCH_HOSTNAME ¥
--local-link-connection port_id=“0/2”
--pxe-enabled false
bond (aa)
28/ 63
Baremetal
Copyright 2018 FUJITSU LIMITED
マルチテナント配備(準備:LAGの場合)
$ openstack baremetal port group ¥
create --node $NODE_UUID ¥
--address “aa” ¥
--mode 802.3ad
L2 switch
aa
0/1
 Ironic portgroup を作成し、 Ironic portと関連付け
bb
0/2
https://docs.openstack.org/ironic/pike/admin/portgroups.html
bond (aa)
$ openstack baremetal port set ¥
$PORT_UUID ¥
--port-group $PORT_GROUP_UUID
 active-backup
 balance-rr
 active-backup
 balance-xor
 broadcast
 802.3ad
 balance-tlb
 balance-alb
https://www.kernel.org/doc/Documentation/networking/bonding.txt
Port
Group
Node
関連付け後:
Port
“bb”
Port
“aa”
29/ 63
非LAG構成の場合
LAG構成の場合
Copyright 2018 FUJITSU LIMITED
配備方法
$ openstack server create --flavor baremetal --image $IMAGE ¥
--nic net-id=$NETWORK_ID my-baremetal
$ openstack server create --flavor baremetal --image $IMAGE ¥
--nic net-id=$NETWORK_ID my-baremetal --config-drive True
30/ 63
Baremetal
Server
ベアメタル配備(マルチテナント) 1/6
 Ironicを用いたベアメタルサーバの配備に関わるコンポーネントは以下
Baremetal
Server
HDD
BMC
L2 switch
ironic-api
ironic-conductor
glance-api
neutron-server
nova-api
MNG
nova-compute
nova-scheduler
nova-conductor
ML2 Plugin
mem
以外全通し
Copyright 2018 FUJITSU LIMITED31/ 63
1. Project利用者が“nova boot” を実行(ex. Ubuntuのイメージを選択)
2. ベアメタル が隣接ポートへVLAN自動設定(provisioning)
3. がBIOS上の boot priority を変更(PXEを先頭に指定)
4. がベアメタルサーバの電源を入れて、PXEブートが開始
Baremetal
Server
ベアメタル配備(マルチテナント) 2/6
Baremetal
HDD
Glance
Boot image
eth1 BMC
eth2 eth0
DHCP DHCP
OVS
eth3
MNG
Power ON
mem
chassis bootdev pxe
以外全通し
ML2 Plugin
ironic-conductor
ironic-conductor
Boot imageを
配備するためのイメージ
Copyright 2018 FUJITSU LIMITED
TFTPDeploy image
32/ 63
5. Provisioning用のDHCPサーバが応答して、IPを払い出す
(TFTPサーバの情報も伝える)
6. TFTPサーバへアクセスして、Deploy imageをBMのメモリ上で起動させる
Baremetal
Server
ベアメタル配備(マルチテナント) 3/6
Baremetal
HDDTFTPDeploy image
Glance
Boot image
eth1 BMC
eth2 eth0
DHCP DHCP
OVS
eth3
MNG
mem
Boot imageを
配備するためのイメージ
Copyright 2018 FUJITSU LIMITED
✔
(一般的なPXEブート)
DHCP
33/ 63
7. Deploy image内で ironic-python-agentが起動して、Ironic-ap と
やり取りを行い、ddコマンドでBoot image(Ubuntu)を内蔵HDDにコピー
8. コピーが終わったら がBMの電源をOFF
Baremetal
Server
ベアメタル配備(マルチテナント) 4/6
Baremetal
HDDTFTP
Glance
Boot image
eth1 BMC
eth2 eth0
DHCP DHCP
OVS
eth3
MNG
mem
Copyright 2018 FUJITSU LIMITED
✔
ironic-conductor
Power OFF
Deploy image
Boot imageを
配備するためのイメージ
ironic-api
34/ 63
9. BM:隣接ポートへVLAN自動設定(削除)
10. :BIOS上のboot priorityを変更(内蔵HDDを先頭に指定)
Baremetal
Server
ベアメタル配備(マルチテナント) 5/6
Baremetal
HDDTFTP
Glance
eth1 BMC
eth2 eth0
DHCP DHCP
OVS
eth3
MNG
Copyright 2018 FUJITSU LIMITED
ironic-conductor
chassis bootdev hdd
ML2 Plugin
Deploy image
Boot image
Boot imageを
配備するためのイメージ
35/ 63
11. :BMの隣接ポートへVLAN自動設定(利用者用 network)
12. :BMの電源をON
13. お客様用のDHCPサーバがIPを払い出す
14. Metadata-proxy経由でホスト名やSSHの鍵などを更新
Baremetal
Server
ベアメタル配備(マルチテナント) 6/6
Baremetal
HDDTFTP
Glance
eth1 BMC
eth2 eth0
DHCP DHCP
OVS
eth3
MNG
Copyright 2018 FUJITSU LIMITED
ironic-conductor
ML2 Plugin
Deploy image
Boot image
Boot imageを
配備するためのイメージ
DHCP
(配備完了)
Power ON
36/ 63
11. :BMの隣接ポートへVLAN、LAG自動設定(利用者用 network)
12. :BMの電源をON
13. お客様用のDHCPサーバがIPを払い出す
14. Metadata-proxy経由でホスト名やSSHの鍵などを更新
Baremetal
Server
ベアメタル配備(LAGの場合)
Baremetal
HDDTFTP
Glance
eth1 BMC
eth2 eth0
DHCP DHCP
OVS
eth3
MNG
Copyright 2018 FUJITSU LIMITED
ironic-conductor
ML2 Plugin
Deploy image
Boot image
Boot imageを
配備するためのイメージ
DHCP
(配備完了)
Power ON
37/ 63
Boot from Volume
参考:
https://www.openstack.org/assets/presentation-media/Sydney-Project-Ironic-Update.pdf
Copyright 2018 FUJITSU LIMITED38/ 63
Boot from volume (SAN boot)
ローカルボリューム(内蔵ディスク)の場合
 サイズは固定
 サーバ故障時にはデータアクセス不可
Copyright 2018 FUJITSU LIMITED
Node
Volume
CPU MEM
Node Remote Volume
Volume
CPU MEM
リモートボリューム(LUN)の場合
 サイズは可変
 サーバ故障時でもデータは利用可能
39/ 63
Boot from volume (SAN boot)
 ベアメタル用のサーバ/ストレージの切り替えがソフトウェアのみで実現できる
Copyright 2018 FUJITSU LIMITED
Remote Volume
Volume
Node
CPU MEM
Node
CPU MEM
40/ 63
概要
1. Ironic – Cinderを仲介して情報を渡す
2. Cinder側へConnector情報を渡す
3. インスタンスとボリュームとの関連情報を作成
4. Volume target 情報を渡す
5. Nodeにboot対象の情報を設定
6. 設定したvolume targetから起動
Copyright 2018 FUJITSU LIMITED
Nova
Ironic Cinder
Server Backend Storage
Volume
① ②
➂
④
⑤
⑥
Give me
an instance
41/ 63
標準ドライバ(iPXE)のネットワーク構成
 iPXE経由で iSCSIボリューム情報を取得後、接続
Copyright 2018 FUJITSU LIMITED
Storage
Volume
HTTPTFTP
Ironic
BM
NIC
BMC
Out of Band Network (OOB)
Storage Network
iSCSI
TargetiSCSI
Initiator
42/ 63
管理者が配備前に事前に定義しておく
Ironicリソースとの対応関係
Copyright 2018 FUJITSU LIMITED
Server
Backend Storage
Volume
iSCSI
Target
iSCSI
Initiator
Node
Volume connector
Volume target
配備中にNovaが自動作成
43/ 63
ベンダドライバ(iRMC)のネットワーク構成
Copyright 2018 FUJITSU LIMITED
Storage
VV
Ironic
BM
CNA/
HBA
BMC
Out of Band Network (OOB)
FC Network
NIC
BM
CNA/
HBA
BMC
NIC
Data Network
 BMC経由でFC接続を制御
44/ 63
 BMC経由でFC接続を制御
ベンダドライバ(iRMC)のネットワーク構成
Copyright 2018 FUJITSU LIMITED
Storage
VV
Ironic
BM
CNA/
HBA
BMC
Out of Band Network (OOB)
FC Network
NIC
BM
CNA/
HBA
BMC
NIC
Data Network
マルチテナントネットワーク
ゾーニングによるストレージネットワーク分離
45/ 63
Boot from volumeの手順(標準ドライバ)
1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定
2. Volume connectorを作成(接続元の IQN 情報)
3. イメージ作成・登録(glance)
4. Cinderボリューム作成
5. インスタンス作成
Copyright 2018 FUJITSU LIMITED46/ 63
Boot from volumeの手順(標準ドライバ)
1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定
2. Volume connectorを作成(接続元の IQN 情報)
3. イメージ作成・登録(glance)
4. Cinderボリューム作成
5. インスタンス作成
Copyright 2018 FUJITSU LIMITED
$ openstack baremetal node set --property ¥
capabilities=iscsi_boot:true --storage-interface cinder <NODEID>
47/ 63
Boot from volumeの手順(標準ドライバ)
1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定
2. Volume connectorを作成(接続元の IQN 情報)
3. イメージ作成・登録(glance)
4. Cinderボリューム作成
5. インスタンス作成
Copyright 2018 FUJITSU LIMITED
$ openstack baremetal volume connector create --node <NODEID> ¥
--type iqn --connector-id "iqn.2010-10.org.openstack.node<num>"
48/ 63
Boot from volumeの手順(標準ドライバ)
1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定
2. Volume connectorを作成(接続先の IQN 情報)
3. イメージ作成・登録(glance)
4. Cinderボリューム作成
5. インスタンス作成
Copyright 2018 FUJITSU LIMITED
$ disk-image-create centos7 vm devuser cloud-init-datasources ¥
dhcp-all-interfaces -o $IMAGE_NAME
(イメージをマウント後)
$ echo “rd.iscsi.firmware=1” | sudo tee –a /$MNT/etc/default/grub
$ grub_mkconfig > /$MNT/boot/grub2/grub.cfg
$ openstack image create --disk-format qcow2 --container-format bare ¥
--file ${IMAGE_NAME}.qcow2 centos
49/ 63
Boot from volumeの手順(標準ドライバ)
1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定
2. Volume connectorを作成(接続先の IQN 情報)
3. イメージ作成・登録(glance)
4. Cinderボリューム作成
5. インスタンス作成
Copyright 2018 FUJITSU LIMITED
$ openstack volume create --size 10 --image centos ¥
--bootable centos-test-volume
50/ 63
Boot from volumeの手順(標準ドライバ)
1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定
2. Volume connectorを作成(接続先の IQN 情報)
3. イメージ作成・登録(glance)
4. Cinderボリューム作成
5. インスタンス作成
Copyright 2018 FUJITSU LIMITED
$ openstack server create --flavor baremetal ¥
--volume centos-test-volume centos-test
51/ 63
ベアメタルのセキュリティ
Copyright 2018 FUJITSU LIMITED52/ 63
セキュリティ機能の対応状況
ベアメタルのセキュリティグループは、ベンダープラグインに依存
Firewall as a Service v1 は deprecate予定(Rocky)
Copyright 2018 FUJITSU LIMITED
Neutron
Nova
(VM)
Ironic
(Baremetal)
セキュリティグループ ✔ ※
Firewall as a Service v1 ✔ ✔
Firewall as a Service v2 ✔ ✔
53/ 63
ファイアウォールの必要性
Firewall as a Service(FWaaS)
 外部ネットワークからの不要なパケットをL3レイヤでフィルタリングできるため
L2レイヤでのEast-west の帯域圧迫を防ぐことにつながる
 オンプレで利用してきた物理的なファイアウォールを、クラウドでもそのまま使いたい
という要望がある
Network Node
Physical-Switch
Compute
VM vSW
Security-Group only Firewall as a service
Compute
VM vSW
Network Node
Physical-Switch
Compute
VM vSW
Compute
VM vSW
Copyright 2018 FUJITSU LIMITED
Internet Internet
54/ 63
ベアメタルサーバのセキュリティについて
Network Node上の仮想ルータを経由するためFWaaSが有効
BMVM :異なるサブネットからBMへの通信
water
Network Node
L2-Switch
baremetal server
BM
NIC
Compute Node
NIC
br-int
br-eth3
NIC
br-ex
water
NIC
br-int
br-eth3
VMVM
External
FWaaS
Copyright 2018 FUJITSU LIMITED55/ 63
ベアメタルサーバのセキュリティについて
仮想ルータを経由しないためFWaaSは機能せず
BMVM :同一サブネットからBMへの通信
water
Network Node
L2-Switch
baremetal server
BM
NIC
Compute Node
NIC
br-int
br-eth3
NIC
br-ex
water
NIC
br-int
br-eth3
VMVM
External
FWaaS
Copyright 2018 FUJITSU LIMITED56/ 63
セキュリティグループはBMに使えるのか?
ベンダープラグイン次第では使えるが、VMと同じ仕様ではない(はず)
 ステートフルパケットインスペクションはできない(スイッチのACL機能を活用するため
基本的にはステートレス)
water
Network Node
L2-Switch
baremetal server
BM
NIC
Compute Node
NIC
br-int
br-eth3
NIC
br-ex
water
NIC
br-int
br-eth3
VMVM
External
FWaaS
Copyright 2018 FUJITSU LIMITED
ACL
57/ 63
現状の使い方の例
ベンダープラグインのセキュリティグループを使う
ベアメタルとVMはL3で分けて、FWaaSを利用する
ベアメタル上のOSでフィルタリングを実施(iptablesなど)
Copyright 2018 FUJITSU LIMITED58/ 63
【私の考える】完全互換なベアメタルSGの実現
ステートフルなベアメタル向けのセキュリティグループの実現案
 E.g. Neutronの ovs-agent + OVS firewall driverを拡張
water
Network Node
L2-Switch
baremetal server
BM
NIC
Compute Node
NIC
br-int
br-eth3
NIC
br-ex
water
NIC
br-int
br-eth3
VMVM
External
Copyright 2018 FUJITSU LIMITED
NIC
bond
NIC
OVS
NIC NIC NIC
BM
NIC
59/ 63
おわりに
 Ironicの機能開発は更に加速します!!
Copyright 2018 FUJITSU LIMITED60/ 63
Copyright 2018 FUJITSU LIMITED61/ 63
Ironic → Neutronへの呼び出し
 配備
1. port create (project network)
2. port create (provisioning network)
3. port delete (provisioning network)
4. port update (project network)
 撤去
1. port update (project network)
2. port create (cleaning network)
3. port delete (cleaning network)
Copyright 2018 FUJITSU LIMITED
【補足】マルチテナント配備
物理スイッチへVLAN設定
62/ 63
【補足】ちょっとややこしいところ
 IronicとNeutronとで、受け取る情報名が微妙に違う
Copyright 2018 FUJITSU LIMITED
Ironic Neutron 詳細
local_link_connection
(物理スイッチ情報)
・ポート名
・スイッチのMACアドレス
・スイッチのモデル名
Portオブジェクトの
“binding:profile”内に
local_link_information
として保持(List型)
• LAG構成の場合は
要素数が2つ
• Portオブジェクト
の”binding:vnic_ty
pe”は “baremetal”
Portgroup
(LAG設定情報)
・bondingモードなどの情報
Portオブジェクトの
“binding:profile”内に
local_group_information
として保持(Dict型)
LAGのモード情報などを含
む。LAG構成ではない場
合、この値はNoneとなる
63/ 63

More Related Content

PDF
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
PDF
ML2/OVN アーキテクチャ概観
PPTX
OpenStack概要 ~仮想ネットワーク~
PDF
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
PPTX
OVN 設定サンプル | OVN config example 2015/12/27
PDF
OpenStackトラブルシューティング入門
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
PDF
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
ML2/OVN アーキテクチャ概観
OpenStack概要 ~仮想ネットワーク~
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
OVN 設定サンプル | OVN config example 2015/12/27
OpenStackトラブルシューティング入門
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方

What's hot (20)

PDF
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
PDF
TripleO Deep Dive 1.1
PPTX
plotnetcfg入門 | Introduction to plotnetcfg
PPTX
サイバーエージェント様 発表「OpenStackのNWと物理の話」
PDF
OpenStack入門 2016/06/27
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
TripleOの光と闇
PDF
IPv4/IPv6 移行・共存技術の動向
PPTX
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
PDF
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
PDF
分散ストレージソフトウェアCeph・アーキテクチャー概要
PDF
OpenStack勉強会
PDF
Keystone fernet token
PDF
TripleO Deep Dive
PPTX
フロー技術によるネットワーク管理
PDF
試して覚えるPacemaker入門 『リソース設定編』
PDF
OpenStack Ironic - Bare Metal-as-a-Service
PDF
GPU仮想化最前線 - KVMGTとvirtio-gpu -
PPTX
iostat await svctm の 見かた、考え方
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
TripleO Deep Dive 1.1
plotnetcfg入門 | Introduction to plotnetcfg
サイバーエージェント様 発表「OpenStackのNWと物理の話」
OpenStack入門 2016/06/27
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
TripleOの光と闇
IPv4/IPv6 移行・共存技術の動向
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
分散ストレージソフトウェアCeph・アーキテクチャー概要
OpenStack勉強会
Keystone fernet token
TripleO Deep Dive
フロー技術によるネットワーク管理
試して覚えるPacemaker入門 『リソース設定編』
OpenStack Ironic - Bare Metal-as-a-Service
GPU仮想化最前線 - KVMGTとvirtio-gpu -
iostat await svctm の 見かた、考え方
今だからこそ知りたい Docker Compose/Swarm 入門
Ad

Similar to 日本OpenStackユーザ会 第37回勉強会 (20)

PDF
OpenStackをさらに”使う”技術 概要と基礎操作
PDF
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)
PDF
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
PPTX
Ironic introduction
PDF
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
PDF
OpenStack Updates
PDF
JOSUG 34th Meetup
PDF
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
PDF
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
PDF
OpenStack環境構築入門 - OpenStack最新情報セミナー 2014年6月
PPTX
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
PPTX
OpenStack環境構築入門 Havana対応版 - OpenStack最新情報セミナー2014年4月
PDF
OpenStackで始めるクラウド環境構築入門
PDF
OpenStack QuickStart - Icehouse
PDF
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
PPTX
VMware でmiratis open stackをお手軽構築
PDF
20141218ironic advent
PDF
OSC 2011 Tokyo/Spring OpenStackプレゼン
PDF
Mirantis超簡単Fuel Openstack インストール
PDF
OpenStack入門 2016/06/10
OpenStackをさらに”使う”技術 概要と基礎操作
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
Ironic introduction
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
OpenStack Updates
JOSUG 34th Meetup
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
OpenStack環境構築入門 - OpenStack最新情報セミナー 2014年6月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack環境構築入門 Havana対応版 - OpenStack最新情報セミナー2014年4月
OpenStackで始めるクラウド環境構築入門
OpenStack QuickStart - Icehouse
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
VMware でmiratis open stackをお手軽構築
20141218ironic advent
OSC 2011 Tokyo/Spring OpenStackプレゼン
Mirantis超簡単Fuel Openstack インストール
OpenStack入門 2016/06/10
Ad

日本OpenStackユーザ会 第37回勉強会