未解決
Community Manager
•
3.1K メッセージ
0
1928
IsilonianTech 第9回 ISILON + ECS = UNLIMITED ~Isilon CloudPools~
投稿者 kenji_yasui
オリジナル投稿日時: Jun 19, 2018 10:21:03 AM
前回は、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までスケールアウトできます)
どの階層にファイルがあってもクライアントやアプリケーションからは透過的にアクセスできます
上記のとおり自動階層化自体は最新の技術ではないですが、実は意外と自動階層化の機能を有していないストレージ製品もあります。特に従来型のNASでは RAIDでデータ保護を行っていたりボリュームという概念があるためファイル単位での自動階層化が出来ないものや、そもそも自動階層化をサポートしていな い製品があります。Isilonには以前から自動階層化の機能であるSmartPoolsが実装されており、OneFS 8.0から実装されたCloudPoolsも2年以上の実績があります。Isilonであればノード間やパブリッククラウドに対してファイル単位で階層化 を行うことができます。
今 回は以下とおり、Isilon(OneFS)シミュレータ 1台と、ECS Community Edition 1台を用意しました。実際に試して頂く際にECS Community Editionは前回の内容を参考に準備いただければと思いますが、準備するのが大変な場合はECS TEST DRIVEをご利用頂くこともできます。
1. ECSの設定
ECS側では、CloudPools用の専用NamespaceとCloudPoolsからアクセスする際の専用のユーザを作成していきます。なお、Bucketは自動的に作成されますので作成不要です。
1.1 Namespaceの作成
はじめにCloudPools用のNamespaceを作成します。ECS Portalにログインして「Manage」から「Namespace」を選択します。次に「New Namespace」をクリックして以下を入力します。
・Name = cloudpools
入力後「Save」をクリックします。
以下のとおりcloudpoolsというNamespaceが作成されたことを確認します。
1.2 ユーザの作成
CloudPoolsからアクセスする際に必要なユーザを作成します。「Manage」から「Users」を選択します。次に、「New Object User」をクリックして以下を入力します。
・Name = cloudpools_user1
・Namespace = cloudpools
入力後「Save」をクリックします。
以下のとおりcloudpools_user1というユーザが作成されたことを確認します。
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で使用します。)
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」をクリックして有効にしてください。(下記は全部の機能を有効にした例です。)
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.3 CloudPoolの作成
続いて、「Create a CloudPool」をクリックして以下の内容を入力します。
・Name = ecs_cloudpool1
・Type = EMC ECS Appliance
・Account in CloudPool = ecs_cloudpools_user1
登録が完了した後、以下のとおりCloud Storage AccountsとCloudPoolsの状態がEnabledとなっていることを確認します。
2.4 ECS PortalからBucketsの確認
ECS PortalからBucketsを確認するとcloudpoolsのnamespace配下にBucketが作成されたことがわかります。
同様に、S3 Browserからも空のBucketsが確認できます。
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」をクリックします。
4. 動作確認
4.1 テストファイルの作成
/ifs 配下にhogeという名前のディレクトリを作成してSMB共有を設定し幾つかファイルを配置します。配置するファイルは何でも良いですが、今回は動作確認 しやすいように少し大きめなサイズのファイルを作成します。なお、簡単に大きめなサイズのファイルが作れる&圧縮が効くという目的でペイントを使ってビッ トマップを作成します。
9.3MBのファイルが作成されました。File System Explorerからは以下のとおり確認できます。
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」を実行します。
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は端数(残り)です。
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を実行します。
4.5 ECSのBucketの確認
ECSのBucketを確認すると、今度は1.08KBのオブジェクトが8個、1.12KBのオブジェクトが1個と408Bのオブジェクトが1個となりました。合計で約10KBですので約900分の1に圧縮されていることが確認できます。
さいごに
ご覧頂きましたように、IsilonのCloudPoolsとECSの組み合わせによって性能と容量のバランスに優れたシームレスなストレージシステムを作 ることができます。また、ECSはIsilonのアーカイブ先だけではなくバックアップのターゲットやS3を用いたモバイル/Webベースのアプリケー ションの基盤などにも使用可能ですので、これらのデータを統合する中核のストレージとしてECSを配置することによりTCOの削減にも繋がります。なお、 ECSのGeoレプリケーションは高い保護レベルでデータのオーバヘッド削減できるアルゴリズムを採用していますので特にGeoレプリケーションを検討さ れている場合は是非ご連絡ください。
CloudPools含めIsilonおよびECSは今後も様々な機能がエンハンスされていきますのでご期待ください。
参考情報
ISILON CLOUDPOOLS AND ELASTIC CLOUD STORAGE (Solution Guide) ( 添付)
バックナンバー
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~
IsilonianTech-第10回-Isilonとデータアナリティクス-Isilon-Ambari-Management
IsilonianTech 第11回 OneFS 8.2リリース!
IsilonianTech-第12回-データファーストを支援するソフトウェア-DataIQ
IsilonianTech-第13回-vRealize-Orchestratorプラグイン
安井 謙治
Dell EMC │Unstructured Data Solutions
UDS事業本部 SE部