ちょっぴり久々のストレージネタ
以前、クラウドストレージの連携ネタを書きましたが、今回はどちらかと言うと仮想環境ではありますがガチのストレージ系です。これ、なかなかのおもしろストレージで、昔から触ってみたかったー!っておもった代物になるのですが、色々自宅でも組めそうな要素が出てきたので、今回色々振り絞って作ってみることにしました。
ちなみに今回半年ぶりに休眠ハードを再稼働させる際、誤って電源コードを踏んで、そのはずみでUPSから電源コードが抜けてしまい、コアL2とストレージがストーンと落ちるハメに。正直焦りました。復旧に1時間程度を要しました。いやー、自宅でも障害起きるとちょいとつらいですね・・
Isilonとは
Isilonとは、DELLEMC社が販売しているスケールアウト型NASアプライアンスです。通常NASはコントローラ(ヘッド)とディスクで構成されていて、ディスクを追加することで容量増加を図ったり、キャッシュメモリやコントローラの増強を行うことで性能向上を図ったり、所謂「スケールアップ」な考えが主流なのですが、このIsilonはある完成されたノードをホイホイと足すことによって容量追加・性能向上を一気にやってしまおうという代物です。
ノード自体は一般的なx86-64アーキテクチャのサーバで構成されていて、ディスクもRAIDが組まれているわけではありません。ただ、内蔵しているOS/ファームウェアの機能により、お互いのノード間の調停を行いながらディスクブロックの可用性向上を図ったり、NASとしてのアクセス制御を行ったりしています。
元々はアイシロン社という会社があったのですが、EMCに買収され、そしてそのEMCがDELLに買収されて、今はDELLEMCが販売しているという状況です(2018/2時点)。
仮想アプライアンス版Isilon
さて、ノードやOSは一般的なx86-64アーキテクチャなわけですので、仮想化できないこたーないよねということで、数年ほど前に「Isilon Edge」と言う製品が登場してました。この製品は仮想化製品に対応したIsilonということで、主にブランチのファイルサーバ用途として売り出されました。が、一つ残念なポイントが有り、「各ノードはESXi単位で独立していなければならない」という制約がありました。
今回そこを柔軟にしたのが「Isilon SD Edge」のようで、同一ESXiの同居が出来るようになったなど、その柔軟性をかなり向上させているようです。元々Isilonには興味があったのと、本番環境でなければFREEライセンスで無期限稼働が可能とのことで、試してみたいなーとおもって今回導入してみることにしました。
パッケージのダウンロード
パッケージのダウンロードサイトはここみたいです。DOWNLOADSセクションの右側にZIPファイルのダウンロードリンクがあるので、そこをクリックしてください。3GB程度あります。
ちなみに、パッケージを解凍すると、PDFファイルが幾つかあり、その中で私が参照したインストレーションガイド(英語)もあります。コレを見るのがじつは一番確実だったりします。
ハードの調達
さて、我が家の仮想基盤環境ですが、もうメモリはパッツンパッツン、HDDもそんなに剰余はありません。というわけで、今の環境そのままだとどうにもこうにもIsilon SD Edgeの導入は難しそうです。というわけで、半年ぶりにこいつを稼働させました。
HITACHI HA8000/RS220DJ です。Xeon E5570 x1CPU/40GB RAM/1TB HDD x3(RAID5) と言う構成です。1TB HDDは以前共有ストレージに使ってたものを転用しました。これにQuad port NICを追加して、動けるようにした感じです。これに、VMware ESXi 6.0 U1を載せました。
Isilon SD Edgeの大まかな構成要素と役割
ざっくりと構成要素と役割を書くとこんな感じのようです。
パッケージを入手・解凍すると、Management サーバとノードのOVAファイルが確認できます。ManagementサーバはvCenterと連絡を取り、VMの作成・破棄・構成変更などの司令を伝える役割があるようです。これらの連携は、Managementサーバからデプロイされるプラグインを通じて行っているようです。
つまり、vCenterサーバが必須ということになります。・・・というわけで、評価ライセンスを使ってvCenterを組まねばならぬことに・・・ぐぬぬぬぬぬ。では、以降については、構築手順に関して一通り話をすすめていきたいと思います。(VCSAを使ってvCenterは組み上げています。)
Managementサーバのデプロイ
ManagementサーバをOVAファイルからデプロイします。この時の前提としては
- vSphere Web Clientを使用すること
- vSphere Web Clientを使用するために、Adobe Flash Playerが導入済みかつ有効であること
- OVAファイルをデプロイするために統合クライアントが実行端末に導入済みであること
と言うものが有ります。私がもってたバージョンが6.0であったため、実は統合プラグイン周りで地雷を踏みました。いろいろ調べたのですがピンとこず、結局Windows 10上のInternet Explorerでアクセスすることで解決しました。
どこの画面でもよいのですが、まずvCenterをインベントリに出し、右クリックして「OVFテンプレートのデプロイ」を選択します。
ソースの選択画面が出ますので、「ローカルファイル」を指定し、「参照」をクリックします。
ダウンロードしたパッケージから、「EMC_isilonSD_Edge_ms_x.x.x.ova」を選択します。
選択されたことを確認したら「次へ」をクリックします。
テンプレートの詳細が表示されます。そのまま「次へ」をクリックします。
ライセンス使用許諾画面が表示されるので、「承諾」ボタンをクリックした後「次へ」をクリックします。
名前を指定します。今回私は「Isilon_management」と言う名前にしました。あと、データセンタおよびフォルダを指定します。「次へ」をクリックします。
どのESXiホストで動かすかを指定します。今回指定したホストは先程写真に出てた2Uサーバです。「次へ」をクリックします。
データストアおよびプロビジョニングフォーマットを選択します。今回あまりこのサーバで容量を食いたくないので、Thin Provisionにしています。「次へ」をクリックします。
Managementサーバには仮想NICが1つ搭載されており、その接続先を指定します。「次へ」をクリックします。
最後にサマリーが表示されますので、「デプロイ後にパワーオン」にチェックを付けた上で「終了」をクリックすると、Managementサーバのデプロイが開始されます。
デプロイが完了するとManagementサーバは起動しますので、コンソールを立ち上げておきます。ちなみにどうやらこいつはCentOS6.9ベースのようです。
暫く待つと、初期設定画面が表示されます。
- rootパスワードの設定
- administratorパスワードの設定
- IPアドレス/サブネットマスク/デフォルトゲートウェイ/DNSサーバの設定
- ホスト名の設定
これらが終わると、ログインプロンプトが表示されます。この時点で、コンソールを閉じ、ブラウザで「https://<設定したIPアドレス>:9443」へアクセスすると、以下のような画面が出ます。
初期ユーザ名/パスワードはadmin/sunshineです。
ライセンス許諾画面が表示されますので、同意する旨のメッセージを選択し、「Submit」をクリックします。
adminユーザのパスワード変更を求められますので、任意のパスワードに変更します。 以上で、Managementサーバの構築は一区切り付いた感じになります。
vCenterサーバの登録
続いてvCenterの登録を行います。画面上側「vCenters」をクリックし、画面中にある「+」マークをクリックします。
vCenterサーバの登録画面が表示されますので、必要情報を入力します。「Register」をクリックします。
成功した後、vSphere Web Clientでプラグインを覗いてみると、下図のようにIsilonのプラグインが導入されていることを確認できます。
FREEライセンスについて
なお、デフォルト状態でFREEライセンスが付与されています。Unity VSAとかだと別途アクティベーションコードの発行が必要だったりしたのですが、ここらへんはだいぶ楽になりましたね。
FREEライセンスの内容は以下のとおりです。
- クラスタ全体で最大36TB
- ノード単体あたり256GBまで
- クラスタを構成するノード数は6まで
- SmartLockは使用不可
- CloudPoolsは使用不可
データシートなんかではSyncIQも使えないような説明があったのですが、どうやら行けるみたいですね。SyncIQを評価対象に含めることができれば、かなり事前に検証できることも増えるんじゃないかと思います。
ノードイメージのアップロード
Isilon SD Edgeのクラスタノードは、ManagementサーバからvCenterサーバを経由して自動的に作成されるようになっています。その為、Managementサーバの管理コンソールから、ノード用のOVAファイルをアップロードする形になります。つまりは、ノードイメージの管理自体はManagementサーバが行うことになります。
画面上部「OneFS Images」をクリックし、画面内「+」ボタンをクリックします。
ローカルファイルを指定して「参照」をクリックし、今度は「EMC_IsilonSD_EDGE_OneFS_VM_x.x.x.x.ova」を選択します。以下のようにファイルが登録されたことを確認し、「Upload」ボタンをクリックします。
成功すると、下図のように成功画面が表示されます。「Close」をクリックして閉じます。
クラスタの構築
いよいよOneFS Clusterの構築を行います。画面上部の「IsilonSD Clusters」をクリックし、画面中央にある「Create IsilonSD Cluster」をクリックします。
ライセンス選択画面が表示されるので、行左端のチェックマークをクリックし、「Next」をクリックします。
すると、以下のように設定画面が表示されます。最初はvCenterサーバの指定から、続いてDataCenterという風に、順次設定画面が表示されていきます。
ざっくりまとめていくと
- vCenter Server:vCenterサーバの指定
- DataCenter:DataCenterの指定
- Total Cluster Capacity:クラスタ全体のRAW容量を指定します。今回1.2TBと指定しています。
- Number of ESXi Hosts:何台のESXiサーバにまたがって構成するかを指定します。
- 当初、1台にまとめようとしたのですが、後述するCPUリソースの問題により、2台にまたがって構成することになりました。
- Number of OneFS Virtual Nodes:何台のノード(VM)を構成するかを指定します。
- 複数台にまたがる場合、その台数 × nという具合に構成ノードが制限されます。
- 例えば、3台にまたがる場合は、3台、6台、9台と言う具合になります。
- 複数台にまたがる場合、その台数 × nという具合に構成ノードが制限されます。
- Storage Type:配置するストレージタイプを指定します。
- Number of Datastores:データストアをどのように使うかを指定します。
- One per ESXi Host:1台のESXiサーバにつき1つのデータストアを使う
- One per OneFS Virtual Node:1台のノードにつき1つのデータストアを使う
- One per Virtual Data Disk:1つのVMDKファイルにつき1つのデータストアを使う
- 当方の環境では、最もシンプルになる「One per ESXi Host」を使っています。
- Number of Data Disks per OneFS Node:1台のノードにつき、いくつのVMDKを構成するかを指定します
- Number of vCPUs Per OneFS Node:1台のノードにつき、いくつの仮想CPUを使用するかを指定します。
- これなのですが、「(vCPU数) × (ノード数) <= 1台のESXiが持つコア数」でなければなりません。
- 当方の場合、当初1ESXiサーバ内で3ノード構成する予定でしたが、CPUがX5570 1CPUであり、コア数が4であるため、このコア数を超過してエラーになりました。
- 結果として、現在稼働系のノードにノードを跨がらせることでなんとか構成できた感じです。ノード数は合計4ノードとなりました。
- なお、最低値は2です。1vCPU構成はできません。
- Memory Per OneFS Virtual Node:1台のノードにつき、どの程度の容量メモリを搭載するかを指定します。
- 最低値は6です。コレを下回ってメモリを設定することはできません。
- OneFS Image:ノードを作成する際に使用するOVAを指定します。
設定が完了したら「Next」をクリックして次へ進みます。
Reminderが表示されますので「Close」をクリックして閉じます。
ノードを配置するESXiサーバを指定します。「Next」をクリックします。
それぞれのESXiで使用するデータストアおよびネットワークラベルを指定します。まずはデータストア画面が上半分に有ります。行左端のチェックマークをクリックします。
続いて、サービス提供用のポートグループとバックエンド処理用のポートグループを指定します。「Next Host」をクリックすることで、次のESXiサーバ画面へ移動することができます。
一通り設定が完了したら、「Complete Hosts」ボタンをクリックして「Next」をクリックします。
クラスタを構成する基本パラメータを設定します。なお、デプロイされていくノードVMの名称は「IsilonSD-<Cluster Name>-<連番>」という命名規則になっています。設定が完了したら「Next」をクリックします。
ノードに対するパラメータを割り当てます。Low IP RangeからHigh IP Rangeを使ってノードに対してはIPアドレスを割り当てていく形になります。DNSサーバの指定はコンマ区切りで良さそうです。
なお、SmartConnectと言うのは、所謂VIP(Virtual IP)のようなものだとおもってもらえれば良い(フェールオーバー・負荷分散機能)です。設定が完了したら「Next」をクリックします。
画面下の「Create」をクリックすると、ボタンが「Progress」に変化し、クラスタの構築が開始されます。 vSphere 側の状況を見てみると、以下のようにvCenterから一斉にVM作成命令と構成変更・起動命令が発行されていることがわかります。
パワーオン後、クラスタ構築処理が順次各ノードで実施されていくことになります。一通り処理が完結すると、各ノードのコンソールは以下のようにログインプロンプトが表示された状態となります。
その後間もなくして、管理サーバ側のコンソール画面は以下のような表示が出ます。
これで、OneFS Clusterが完成した状態となります。
クラスタへのアクセス
クラスタ自体へのアクセスは、クラスタ構成ノードもしくはSmartConnect用に定義したIPアドレスに対して、「 http://<IPアドレス>/ 」もしくは「 https://<IPアドレス>:8080/ 」へ行けば良いです。
ログイン画面が表示され、ログインが無事できると、以下のようなダッシュボード画面が表示されます。
取り敢えずクラスタは組めた
・・・・・・のですが、いやぁ、アーキテクチャが斬新過ぎて、実はCIFSの組み方などが未だによく分かっていません。そこで、一先ずはこのOneFSのGUIを手当たり次第に触ってみようかなとかおもっています。
また、プールの容量はRAW容量で表示されているんで、容量管理は従来の考えでやろうとすると恐らくドツボにはまります。このあたりは気をつけないといけませんね。
OneFSと言う名にあるように、どうやらIsilonはファイルシステムとしては1つにまとまった形で動いているらしく、そこにどうデータを配置するか、そのときにどれだけの可用性を付与しておくかなどをノード間で調停しながら可用性を担保するという仕組みになっているようですので、そのあたり色々触ってみると面白いのかもなーなんておもっています。
Comments are closed