18
NetAppのデータ管理を Puppetで APIとコミュニティのオープン性 © 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL --- 1

NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

  • Upload
    puppet

  • View
    293

  • Download
    2

Embed Size (px)

Citation preview

Page 1: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

NetAppのデータ管理をPuppetでAPIとコミュニティのオープン性

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---1

Page 2: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

Agenda

1)ストレージの構成管理の必要性2)Puppet連携させるためのAPIとコミュニティ3)アーキテクチャ概要4)まとめ

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---2

Page 3: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

重要ポイント

§ 本⽇覚えて持って帰っていただきたいこと

本⽇のゴール

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---4

API・コミュニティストレージの構成管理の

必要性

Page 4: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

インフラストラクチャの変遷

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---5

Page 5: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

インフラストラクチャの変遷過去から現在にかけてのインフラの特徴とストレージの位置づけ

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---6

クラウド

• 提供時間短縮に向けセルフサービス化を推進

• 低コストでのイノベーションの実現

• 迅速なアプリ開発プロセスの模索と実施

• 仮想化技術による統合

• サーバー、スイッチ、ストレージが仮想化される

仮想化統合基盤

• 典型的な従来型IT

• ミッション クリティカル システムを中⼼にサポート

個別の専有環境

ストレージの位置づけ

インフラ全体の特徴

ストレージはサーバに割り当てるリソース構築後は変更が殆どされない

ストレージはコンポーネント

として存在

Page 6: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

インフラストラクチャの変遷現在のインフラに求められるプロビジョニングの要件

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---7

クラウド

• 提供時間短縮に向けセルフサービス化を推進

• 低コストでのイノベーションの実現

• 迅速なアプリ開発プロセスの模索と実施

ストレージの位置づけ

インフラ全体の特徴

ストレージは1つの

コンポーネント

サーバー同様に構成管理するのが必然

• 状態による管理• 再現可能な環境• セルフポータル化

Page 7: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

NetAppの取り組み

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---8

Page 8: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

インフラのプロビジョニング⽅法の分類従来型の⽅法、⾃動化、構成管理ツール

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---9

スクリプティング

スクリプトによる⾃動化

構成管理ツール

インフラの状態を定義

⼿順書ベース

⼿順書を使⽤したコマンド運⽤

NetAppの取り組み ⼿順書を使⽤したコマンド運⽤

NetApp Manageability SDK

PowerShell Toolkit

Workflow Automation

構成管理ツールからはNetAppが提供するAPIを使⽤

Page 9: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

ユーザコミュニティとNetApp

§ ユーザコミュニティ主導の開発§ NetAppのエンジニアリングチームはコミュニティを通して⽀援

§ ストレージ専⽤OS “ONTAP”の概念・使い⽅§ SDKの使い⽅§ Etc…

§ puppetforge§ https://forge.puppetlabs.com/puppetlabs/netapp

§ GitHub§ https://github.com/puppetlabs/puppetlabs-netapp

§ ThePub@NetApp Blog§ http://netapp.github.io/blog/

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---10 © 2016 NetApp, Inc. All rights reserved. NetApp Confidential – Limited Use

Page 10: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

Puppetを使⽤してNetAppストレージをプロビジョニングアーキテクチャ

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---11

Page 11: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

Storage VM-Scoped

Cluster-Scoped

Puppet で管理する対象アーキテクチャを理解する上での前提知識

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---12

SATA SATA SSDSSD

SSDSSD

ストレージ クラスタ プラットフォームリソースプールController

+Aggregate

リソースプールController

+Aggregate

リソースプールController

+Aggregate

リソースプールController

+Aggregate

リソースプール利⽤権限Aggregate List

リソースプール利⽤権限Aggregate List

格納効率 データ保護 QoS

iSCSI FCP NFS CIFS

FlexVolume

FlexVolume

FlexVolume

FlexVolume

Puppetで管理する2つの対象StorageVM

Cluster

Page 12: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

アーキテクチャ

§ ONTAP のプロビジョニングは Puppet Device を使⽤§ Agent から NetApp モジュール、

APIを実⾏しプロビジョニング

§ Agentは2つの対象への操作がある§ Cluster-scoped オペレーション

§ StorageVMのプロビジョニング§ ネットワークの設定§ etc

§ StorageVM-scoped オペレーション§ Storage VM内部の操作

§ ボリュームの作成§ バックアップの管理§ データ保護の管理§ ポリシーの作成§ etc

PuppetでONTAPプロビジョニング時の構成

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---13

PuppetMaster

Puppet Agent

(Proxy Device)

1. カタログ取得 3. 成功・失敗の通知

2. Cluster/StorageVM­scopedオペレーション

Cluster

Manifests

device.conf –接続先情報

Page 13: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

Puppet:構成適⽤のフロー

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---14

Puppet Master Puppet Agent Cluster or StorageVM

Compile Manifests

デバイスへ接続(device.conf)

デバイス情報

初期状態

適⽤後

catalog

クエリ実⾏

クエリ実⾏結果

定義適⽤

結果

1

2

3

6

7

89

4

5

Page 14: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

機能が⾜りないと思ったら…

§ ONTAP⾃体の機能が多いためPuppetで提供しているのは⼀部§ 必要なものから機能提供している状態

§ NetApp Manageability SDKを使⽤して開発§ GitHubでPull Request

コミュニティはオープンなので Pull Request

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---15

コード⾒たらいい感じだね。以下のものも追加してもらえるかな?

• 可能だったら受け⼊れテスト書いてね。

• 新機能のreadme書いてね。

• コミットはsqushしてね。

FC のリソースタイプ追加したよ。

Page 15: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

まとめ/技術情報

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---16

Page 16: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

まとめ

§ 本⽇覚えて持って帰っていただきたいこと

本⽇のゴール

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---17

API・コミュニティ

§ 構成管理・プロビジョニングツールと連携するためのAPI・SDK提供

§ NetAppとコミュニティの関係

§ ストレージは1つのコンポーネントとして存在

§ サーバと同様構成管理・プロビジョニングをするのが必然

§ インフラのコード化§ 状態を管理§ 何度でも再現可能な環境§ セルフサービス化

ストレージの構成管理の必要性

Page 17: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

Puppetに関する情報

§ puppetforge§ https://forge.puppetlabs.com/puppetlabs/netapp

§ GitHub repository § https://github.com/puppetlabs/puppetlabs-netapp

§ Technical Report§ TR-4477 Using Puppet to Manage NetApp Storage Infrastructure

http://www.netapp.com/us/media/tr-4477.pdf

§ NetApp Puppet Youtube§ ONTAP: https://www.youtube.com/watch?v=cGz04EztP5A§ SolidFire: https://www.youtube.com/watch?v=oZVJA3WGZ3c

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---18

Page 18: NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社

© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---19

Thank You.