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