前回は、Elastic Cloud Storage(ECS)をご紹介いたしました。その中でIsilonとECSの連携について軽く触れましたが、今回は具体的にどのように動作するのか設定と併せてご紹介します。

 

 

CloudPools

IsilonとECSの連携はIsilonのCloudPoolsという自動階層化の機能によって実現しますが、CloudPoolsに入っていく前に少しだけストレージの自動階層化についてご説明します。

自動階層化の機能自体は古くからILMやHSMなどと言われており、高速な(性能単価に優れている)ストレージと低速な(容量単価に優れている)ストレージ間でデータを自動で移動させる技術のことを指します。特に新しい技術ではありませんが、最近では非構造化データの肥大化や分析基盤のアーキテクチャにおいて高速(オールフラッシュ)で分析を行い結果の保管のために低速(アーカイブ)に移動させるようなニーズが高まっています。

Isilonには性能単価に優れたノード、容量単価に優れたノードなど様々なタイプのノードがありますがSmartPoolsによりノードの混在が可能となりノード間でポリシベースの自動階層化を行うことができます。長期間参照されないファイルは容量単価の良いノードに自動的に移すことにより性能と容量とコストのバランスが取れTCOの削減につながります。

このSmartPoolsの機能を拡張してクラウドストレージにアーカイブする機能のことをCloudPoolsと言います。また、クラウドストレージ以外にもECSや別クラスタのIsilonなどに階層化することもできます。

 

なお、ECSは容量無制限にスケールアウトできるのでIsilonとECSを組み合わせることにより、実質無制限のストレージシステムを作ることができます!(と言ってもIsilonのみで68PBまでスケールアウトできます

cloudpools.png

                    どの階層にファイルがあってもクライアントやアプリケーションからは透過的にアクセスできます

 

 

上記のとおり自動階層化自体は最新の技術ではないですが、実は意外と自動階層化の機能を有していないストレージ製品もあります。特に従来型のNASではRAIDでデータ保護を行っていたりボリュームという概念があるためファイル単位での自動階層化が出来ないものや、そもそも自動階層化をサポートしていない製品があります。Isilonには以前から自動階層化の機能であるSmartPoolsが実装されており、OneFS 8.0から実装されたCloudPoolsも2年以上の実績があります。Isilonであればノード間やパブリッククラウドに対してファイル単位で階層化を行うことができます。

 

 

今回は以下とおり、Isilon(OneFS)シミュレータ 1台と、ECS Community Edition 1台を用意しました。実際に試して頂く際にECS Community Editionは前回の内容を参考に準備いただければと思いますが、準備するのが大変な場合はECS TEST DRIVEをご利用頂くこともできます。

env.png

 

 

 

1. ECSの設定

ECS側では、CloudPools用の専用NamespaceとCloudPoolsからアクセスする際の専用のユーザを作成していきます。なお、Bucketは自動的に作成されますので作成不要です。

 

1.1 Namespaceの作成

はじめにCloudPools用のNamespaceを作成します。ECS Portalにログインして「Manage」から「Namespace」を選択します。次に「New Namespace」をクリックして以下を入力します。

・Name = cloudpools

入力後「Save」をクリックします。

create_namespace.png

 

以下のとおりcloudpoolsというNamespaceが作成されたことを確認します。

list_namespace.png

 

 

1.2 ユーザの作成

CloudPoolsからアクセスする際に必要なユーザを作成します。「Manage」から「Users」を選択します。次に、「New Object User」をクリックして以下を入力します。

・Name = cloudpools_user1

・Namespace = cloudpools

入力後「Save」をクリックします。

create_user.png

 

以下のとおりcloudpools_user1というユーザが作成されたことを確認します。

list_user.png

 

1.3 Secret Keyの生成

上記1.2で作成したcloudpools_user1のSecret Keyを生成していきます。cloudpools_user1の「Actions」にある「Edit」をクリックします。以下の画面のS3 / Atmosにある「Generate & Add Secret Key」をクリックします。「Show Secret Key」のチェックボックスにチェックを入れるとSecret Keyが表示されますので内容をコピーします。(コピーしたSecret Keyは2.2で使用します。)

key_gen.png

 

 

2. Isilon CloudPoolsの設定

Isilon側の設定の流れとしては、先ずSmartPoolsとCloudPoolsの評価ライセンスを有効化します。次にCloudPoolsの設定(Cloud Storage AccountとCloudPoolの作成)を行い、自動階層化のポリシを定義していきます。

 

2.1 ライセンスの有効化

CloudPoolsの利用にあたりライセンスを有効化する必要があります。OneFS 8.1では製品やシミュレータの評価ライセンスをお客様やパートナ様のほうでも有効化いただけるようになりました。

OneFS web administration interface(Web UI)にログインします。「Cluster Management」から「Licensing」を選択します。一番下に「Manage trial versions of software modules」という項目がありますので、「Manage Trials」をクリックします。

Manage trialsの画面がポップアップされ、どの機能を評価するか選択します。CloudPoolsはSmartPoolsのライセンスも必要になるため最低限SmartPoolsとCloudPoolsを選択し「Start Trial」をクリックして有効にしてください。(下記は全部の機能を有効にした例です。)

trial_license_activate.png

 

 

2.2 Cloud Storage Accountの作成

ECSにアクセスするためのアカウントを作成します。「File System」メニューから「Storage Pools」の「CloudPools」を選択し「Create a Cloud Storage Account」をクリックします。

以下のとおりECSの接続情報を入力していきます。

・Name or Alias = ecs_cloudpools_user1

・Type = EMC ECS Appliance

・URI = http://luna.isilonian.local:9020

・User Name = cloudpools_user1

・Key = my2DnVGKC7xdh+D2Cg148nhN8NPXL/GPZkvwk0zH(1.3 で生成/確認したSecret Key)

入力後に「Connect Account」をクリックします。このタイミングで接続のテストが行われ、ECS側にBucketが生成されます。

2_create_acct.png

 

2.3 CloudPoolの作成

続いて、「Create a CloudPool」をクリックして以下の内容を入力します。

・Name = ecs_cloudpool1

・Type = EMC ECS Appliance

・Account in CloudPool = ecs_cloudpools_user1

4_cp_create.png

 

 

登録が完了した後、以下のとおりCloud Storage AccountsとCloudPoolsの状態がEnabledとなっていることを確認します。

5_cp_created.png

 

 

2.4 ECS PortalからBucketsの確認

ECS PortalからBucketsを確認するとcloudpoolsのnamespace配下にBucketが作成されたことがわかります。

6_bucket.png

 

同様に、S3 Browserからも空のBucketsが確認できます。

s3_browser.png

 

3. 自動階層化の設定

自動階層化にあたりポリシを設定していきます。SmartPoolsでIsilon内で階層化する場合でもCloudPoolsで外部ストレージへ階層化する場合でもFile Pool Policyで設定することで、きめ細かいポリシを一気通貫で作成することができます。ポリシで設定可能な項目としては、ファイル名、ファイルパス、ファイルタイプ、ファイルサイズ、作成日時、更新日時、アクセス日時、ファイル属性、属性変更日時があり、これらをANDもしくはORで組み合わせて設定することができます。

「File System」メニューから「Storage Pools」の「File Pool Policies」を選択します。次に「Create a File Pool Policy」をクリックします。

各フィールドに以下の内容を入力します。

・Policy Name = archive_to_ecs

・File Matching Criteria = "Modified" "is older than" "1" "second" agoを選択(条件にマッチすれば何でもOKです。)

・Move to cloud storage = チェックボックスのチェックをつける

・CloudPool Storage Target = ecs_cloudpool1

入力後、「Create Policy」をクリックします。

8_filepool.png

 

 

 

4. 動作確認

 

4.1 テストファイルの作成

/ifs配下にhogeという名前のディレクトリを作成してSMB共有を設定し幾つかファイルを配置します。配置するファイルは何でも良いですが、今回は動作確認しやすいように少し大きめなサイズのファイルを作成します。なお、簡単に大きめなサイズのファイルが作れる&圧縮が効くという目的でペイントを使ってビットマップを作成します。

bitmap.JPG.jpg

 

9.3MBのファイルが作成されました。File System Explorerからは以下のとおり確認できます。

fileexplorer.png

duコマンドを実行しても同様に9.3MBのビットマップが確認できます。

sim-1# du -sh 画像.bmp

9.3M    画像.bmp

 

isi getコマンドで実体があるか確認します。SmartLinkedの項目がTrueになっているファイルはIsilon側に実体が存在せずクラウド(今回の場合はECS)に移動しています。現時点では以下のとおりFalseになっています。ちなみに、OneFS 8.0ではSmartLinkedではなくStubbedと表示されます。

sim-1# isi get -DD 画像.bmp | grep -i smartlinked

*  SmartLinked:        False

 

4.2 SmartPools Jobの実行

SmartPoolsのJobを手動で実行します。(通常はスケジュールによる自動実行となりますが動作確認のため。)

「Cluster Management」の「Job Operations」、「Job Types」と辿りSmartPoolsの「Start Job」をクリックします。以下の画面が表示されますので「Start Job」を実行します。

start_job.png

 

CloudPoolsの状態はisi cloud jobs listコマンドで確認ができます。"Effective State"がrunningからcompletedに変わります。

sim-1# isi cloud jobs list

ID   Description                             Effective State  Type

--------------------------------------------------------------------------------------

1    Write updated data back to the cloud    running          cache-writeback

2    Expire CloudPools cache                 running          cache-invalidation

3    Clean up cache and stub file metadata   running          local-garbage-collection

4    Clean up unreferenced data in the cloud running          cloud-garbage-collection

10                                           completed        archive

 

isi getコマンドを実行すると"SmartLinked"がTrueに変化していることが確認できます。

sim-1# isi get -DD 画像.bmp | grep -i smartlinked

*  SmartLinked:        True

        SmartLinked file flags   0      5

        SmartLinked file size    5      9

 

duコマンドを実行すると、ファイルサイズが減っている(512B)ことが確認できます。これは、Isilon側に実体は存在せずSmartLinkのみ保存されているためです。もちろんユーザからの見た目のパスや実際のファイルサイズに変更はありません。

sim-1# du -sh 画像.bmp

512B    画像.bmp

 

 

4.3 ECSのBucketの確認

ECSのBucketをS3 Browserで確認すると、1MBのオブジェクトが9個と316.85KBのオブジェクトが1個存在していることが確認できます。クラウドストレージにアーカイブされたデータをIsilonではCloud Data Object(CDO)と呼んでいます。CDOは1MB単位で分割されECSへ格納されます。1個だけある316.85KBは端数(残り)です。

9_s3_browser.png

 

 

4.4 CloudPoolsによる圧縮機能

CloudPoolsは転送する際に圧縮と暗号化を行うオプションがあります。先程試したファイルと同じものを圧縮した場合にどうなるか試してみます。(なお、今回作成したビットマップは非常に圧縮が効くようになっておりWindowsの標準のZIP圧縮ツールを使うと9.42KBとなりました。)

sim-1# du -sh 画像2.bmp

9.3M    画像2.bmp

 

「File System」メニューから「Storage Pools」の「File Pool Policies」を選択します。上記3.で作成したFile Pool Policyを「View / Edit」をクリックし編集します。Compress data before transferにチェックを入れ「Save Changes」で保存後、上記4.2と同様の操作でSmartPoolsを実行します。

compress.png

 

4.5 ECSのBucketの確認

ECSのBucketを確認すると、今度は1.08KBのオブジェクトが8個、1.12KBのオブジェクトが1個と408Bのオブジェクトが1個となりました。合計で約10KBですので約900分の1に圧縮されていることが確認できます。

compress_s3_browser.png

 

 

 

 

さいごに

ご覧頂きましたように、IsilonのCloudPoolsとECSの組み合わせによって性能と容量のバランスに優れたシームレスなストレージシステムを作ることができます。また、ECSはIsilonのアーカイブ先だけではなくバックアップのターゲットやS3を用いたモバイル/Webベースのアプリケーションの基盤などにも使用可能ですので、これらのデータを統合する中核のストレージとしてECSを配置することによりTCOの削減にも繋がります。なお、ECSのGeoレプリケーションは高い保護レベルでデータのオーバヘッド削減できるアルゴリズムを採用していますので特にGeoレプリケーションを検討されている場合は是非ご連絡ください。

geo.png

CloudPools含めIsilonおよびECSは今後も様々な機能がエンハンスされていきますのでご期待ください。

 

 

参考情報

ISILON CLOUDPOOLS AND ELASTIC CLOUD STORAGE (Solution Guide)

DELL EMC ISILON CLOUDPOOLS

Isilon Simulator download

ECS CE download

ECS Test Drive




バックナンバー

IsilonianTech 第1回 Isilonとオープンソース ~REX-Ray編~

IsilonianTech 第2回 Isilonとオープンソース ~OpenStack Manila編~

IsilonianTech 第3回 Isilonとオープンソース ~Isilon Data Insights Connector~

IsilonianTech 第4回 Software Defined Storage ~IsilonSD Edge~

IsilonianTech 第5回 Isilonとオープンソース ~Isilon-POSH~

IsilonianTech 第6回 Isilonとオープンソース ~Elastic Stack編~

IsilonianTech 第7回 Isilonとデータアナリティクス ~Cloudera編~

IsilonianTech 第8回 Elastic Cloud Storage (ECS) ~ECS Community Edition~

IsilonianTech 第9回 ISILON + ECS = UNLIMITED ~Isilon CloudPools~

 

 

安井 謙治

Dell EMC Unstructured Data Solutions

UDS事業本部 SE