私が所属しているUDS事業本部(旧アイシロン事業本部)は、Unstructured Data Solutionsが英語表記での正式名称でして名称のとおり非構造化データ(ファイル、オブジェクト、ストリームデータ)を中心としたソリューションを扱っております。今回は非構造化データの中でもニーズが増えているオブジェクトストレージ DellEMC Elastic Cloud Storage(ECS)についてご紹介します。

いつものように、簡単にECSの概要をご紹介して、後半でECS Community Edition(無償版のECS)をセットアップしていきたいと思います。

ECS.png

 

 

Elastic Cloud Storage (ECS)

DellEMCのオブジェクトストレージの歴史は古く2002年リリースのCenteraから始まります。その後Atmosを経て2014年にECSをリリースいたしました。Centeraがリリースされた当初は長期保管データ(アーカイブ)用ストレージとして利用されることが多かったですが3世代目であるECSでは時代の変遷に伴い各種機能を実装した結果、コンテンツのグローバル共有ストレージ、モバイルアプリケーション用ストレージ、ビッグデータやIoTでの大量な解析データ(データレイク)用ストレージとしても利用されるようになりました。

また、DellEMCのIsilonやDataDomainを始め3rd Party製品との連携ができますので様々な製品のバックエンドのストレージとして利用されることも増えてきております。

ecosystem.png

                   ECSのエコシステム

 

 

スケールアウト型のアーキテクチャやサポートしているプロトコルなどECSとIsilonで共通している部分は多いですがECSとIsilonは以下のような違いがあります。

なお、両製品ともに市場から大きな評価を得ており、ガートナー社のマジック・クアドラントにおいてECSとIsilonはビジョンの完全性と実行能力におけるリーダーに位置付けられています。(分散ファイル システムおよびオブジェクト ストレージのマジック・クアドラント

ECSIsilon
ストレージアーキテクチャスケールアウトオブジェクト

スケールアウトNAS

データアクセス

オブジェクト(S3、Swift、Atmos、CAS)

HDFS、NFS、SMB(CIFS-ECS Tool)

ファイル(SMB、NFS)

HDFS、Swift、FTP、HTTP

トポロジ

サイトを跨ったアクティブ/アクティブ

構成が可能(最大8サイト)、グローバルネームスペース

サイト間でアクティブ/パッシブ構成(基本2サイト)

※カスケードレプリケーションより複数サイト構成も可能

主なユースケースモダンアプリケーション、アーカイブ、データレイク大規模NAS、データレイク、アーカイブ

 

 

 

ECSのセットアップ

ECS Community EditionはGitHubにて無償で公開されておりSource版とOVA版があります。今回はOVA版を使ってセットアップしていきます。なお、ECS Community Editionはこちらからダウンロードください。(DellEMC ECS Software Download現時点では、2018年3月にリリースされたECS 3.2が最新となります。

 

環境準備

ECS Community Editionを評価いただく際に必要な環境は下記となります。ECS Community Editionの仮想マシンを稼働させるためのvSphere ESXとvCenter Server、ECSにアクセスするS3クライアント(S3 BrowserやCyberduck、CloudBerry Explorerなど。今回はS3 Browserを使います)をご用意ください。

env_ecsce.png

ECSは分散ストレージですので本来複数ノード必要となります。ECSのデフォルトのイレイジャーコーディングは、12+4(データ+コーディング)となり最低4ノード必要となりますが、今回は機能検証が目的のため1ノードで構成します。なお、ECS Community Editionでも簡単に複数ノード構成を試していただくことが出来ますが、仮想マシン1台につき下記リソースが必要となります。

コンポーネント最小要件
CPU4
メモリ16 GB
ハードディスク1(システム用)16 GB
ハードディスク2(データ用)104 GB

 

 

ECS Community EditionのOVAファイルのデプロイ

1. vSphere Web Clientを使用してOVAファイルをデプロイします。ファイルメニューの「OVFテンプレートのデプロイ」からダウンロードしたOVAファイル(dellemc-ecsce-3.2.0.0-install-node-2.7.0-vm0.ova)を選択し登録していきます。

2. OVAのデプロイ後、仮想マシンの「設定の編集」を開きメモリを16GBに変更します。(初期状態は2GB)

ecsce_prop.png

 

 

ECS Community Editionの設定

1. 仮想マシンの電源を投入してコンソールに入ります。ユーザ名はadmin、パスワードはChangeMeでログインします。なお、以後コマンドを実行していきますので必要に応じてroot権限(sudo)で実行してください。なお、ECS Community EditionはAnsibleで簡単に設定できるようになっていますのでコマンド数回の実行でセットアップが完了します。

 

2. nmcli(もしくはnmtui)でネットワークの設定を行います。OVA版はens32がネットワークアダプタ1となります。ホスト名は、この後のセットアップで設定しますのでデフォルト(localhost)のままで問題ありません。

[admin@localhost ~]$ nmcli c mod ens32 ipv4.addresses <IPアドレス>

[admin@localhost ~]$ nmcli c mod ens32 ipv4.gateway <Gateway IP>

[admin@localhost ~]$ nmcli c mod ens32 ipv4.dns <DNS IP>

[admin@localhost ~]$ nmcli c mod ens32 ipv4.method manual

[admin@localhost ~]$ nmcli c mod ens32 connection.autoconnect yes

[admin@localhost ~]$ nmcli c up ens32

必須ではありませんが、このタイミングでvSphereのコンソールから抜けてsshで接続します。


3. fdiskでハードディスク1とハードディスク2を確認します。ハードディスク2は104GBに設定されていますので容量から下記の赤字(/dev/sdb)がハードディスク2であることが確認できます。(104*1024*1024*1024=111669149696 bytes)

[admin@localhost ~]$ sudo fdisk -l

[sudo] password for admin:


Disk /dev/sdb: 111.7 GB, 111669149696 bytes, 218103808 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes



Disk /dev/sda: 17.2 GB, 17179869184 bytes, 33554432 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x0009563f


   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     2099199     1048576   83  Linux

/dev/sda2         2099200    33554431    15727616   8e  Linux LVM


Disk /dev/mapper/cl-root: 14.4 GB, 14382268416 bytes, 28090368 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes



Disk /dev/mapper/cl-swap: 1719 MB, 1719664640 bytes, 3358720 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

 

4. videployコマンドでdeploy.ymlを編集していきます。なお、videployやこの後使用するコマンドは/home/admin/bin配下に存在しており既にパスが通っております。

[admin@localhost ~]$ videploy

 

5. 下記deploy.ymlの赤字部分を編集します。

~8行目~

licensing:

  license_accepted: true

trueに変更することで使用許諾に同意したことになります。

 

~31行目~

  install_node: <IPアドレスまたはホスト名>

インストールを実行するノードのIPアドレスまたはホスト名を入力します。


~64行目~

  node_defaults:

    dns_domain: isilonian.local

    dns_servers:

      - DNSサーバのアドレス>

    ntp_servers:

      - <NTPサーバのアドレス>

DNSサーバおよびNTPサーバの情報を入力します。


~97行目~

  storage_pool_defaults:

    is_cold_storage_enabled: false

    is_protected: false

    description: Default storage pool description

    ecs_block_devices:

      - /dev/sdb

fdiskで確認したハードディスク2のデバイス名に変更します。


~106行目~

  storage_pools:

    - name: sp1

      members:

        - <IPアドレスもしくはホスト名>

      options:

        is_protected: false

        is_cold_storage_enabled: false

        description: My First SP

        ecs_block_devices:

          - /dev/sdb

membersにセットアップするノードのIPアドレスもしくはホスト名(複数台の場合は改行して入力)、ecs_block_devicesはfdiskで確認したハードディスク2のデバイス名に変更します。

 

6. deploy.ymlの編集が終了したら:wq!で保存して編集モードから抜けます。

 

7. ova-step1を実行します。

[admin@localhost ~]$ ova-step1

 

8. ova-step2を実行します。

[admin@localhost ~]$ ova-step2

 

以上で、ECS Community Editionのセットアップは完了です。

ECS Community Editionでは、ova-step1を実行するとホスト名は自動的に付与されますので1台目はlunaとなります。(余談ですが、2台目からはphobos、deimos、io、europa、ganymede、callisto、amaltheaと衛星が続きます。それ以上知りたい場合は、https://github.com/EMCECS/ECS-CommunityEdition/blob/master/ui/etc/autonames.ymlを参照ください

 

 

ECS PortalへのログインとBucketの作成

1. ブラウザで、https://<ECSのIPアドレスまたはホスト名>にアクセスします。ユーザ名はroot、パスワードはChangeMeでログインします。

ECS_login.png

 

2. ログイン後にパスワードを変更するように促されますので新しいパスワードに変更します。

ChangeMe.png

 

3. 再度ログインするとGETTING STARTED TASK CHECKLISTが表示されますので、「No thanks, I'll get started on my own」を選択してDashboardに移動します。

Getting_Started.png

 

4. Dashboardに表示されている内容をひと通り確認します。

ECS_Dashboard1.png

 

5. 続いてBucketを作成していきます。「Manage」から「Buckets」を選択してBucketを作成します。今回は「Bucket Name」にbk1、「Bucket Owner」にobject_user1を入力します。入力後、「Next >」で進みデフォルトのまま「Save」して終了します。

Create_Bucket.png

 

6. bk1というBucketが作成されたことを確認します。

bk1_created.png

 

7. 次に、「Users」からobject_user1の行の「Edit」を選択し、「S3/Atmos」にある"Show Secret Key"のチェックボックスをチェックします。Secret Keyに表示されている内容をコピーします。(デフォルトはChangeMeChangeMeChangeMeChangeMeChangeMeです)

Users_SecretKey.png

 

 

 

S3クライアントからのファイルアップロード

1. S3 Browserを起動して「Accounts」から「 Add New Account」を選択し以下のように登録します。

 ・Account Name:ECS

 ・Account Type:S3 Compatible Storage

 ・REST Endpoint:<IPアドレスもしくはホスト名:9021>

 ・Signature Version:Signature V2

 ・Access Key ID:object_user1

 ・Secret Access Key:ChangeMeChangeMeChangeMeChangeMeChangeMe(ECS Portalのobject_user1からコピーしたSecret Key)

S3B_setup.png

 

2. 「Upload」からファイルを選択しアップロードします。

S3_browser_uploading.png

 

 

3. 書き込み後にECS PortalのDashboardを確認します。

ECS_Dashboard.png

 

 

 

おまけ

DellEMCのサポートアカウントをお持ちの場合はCIFS-ECS Toolがダウンロードできます。CIFS-ECS ToolをWindowsにインストールすることでECSをローカルストレージのように利用することが可能です。

CIFSECS.JPG.jpg

 

 

 

参考情報

DellEMC ECS Software Download

ECS Community Edition OVA Installation(GitHub)

分散ファイル システムおよびオブジェクト ストレージのMagic Quadrant

Elastic Cloud Storage データシート

ECS Overview and Architecture

 

 

 

バックナンバー

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