NexentaStorインストール

の前に、ちょっと寄り道。

仮想化環境の共有ストレージとしてのOpenSolaisの活用

今日のTwitterでTL上にNexentaStorが一杯でてきたのでちょっとずつアウトプットしていきたいと思います。社内用でまとめたものを整理して出してみます。

うちの会社では以前からこのブログでも書いてるようにXenServerの仮想化のiSCSI共有ストレージとしてOpenSolaisを使用しています。なんでこの環境になったかというのはいたってシンプルです。

  1. 既存の仮想化ハイパーバイザで無償版でライブマイグレーション(XenServerではXenMotionという)ができるのはXenServerだけ
  2. XenMotionをするには複数ホストで共有できるストレージが必要(iSCSI使用)
  3. OpenSolaisのZFSではiscsiの機能をファイルシステムで持っていた(shareiscsiプロパティ)
    • 過去形なのは現在は廃止されているからです。OpenSolaisにはCOMSTARというOpenSolaisホストをiSCSIのターゲットにするカーネル空間で実装されたソフトウェアフレームワークがあり、現在はそちらのみとなっています。
  4. OpenSolaisでは強力なファイルシステムであるZFSが使える(このときはまだLinuxで動くZFSFUSE経由のものしかなかった)

こんな感じでした。ZFSについてはweb上にたくさん情報があるのでそちらを参照してください。ZFSiSCSIのボリュームを構築することで簡単にスナップショットでバックアップができたり、世代管理ができたり、別のサーバにバックアップを増分転送できたりいっぱいいいことあります。パフォーマンス出すにはそれなりの環境がいりますけど。

NexentaStorとは

NexentaStorにはCommunity EditionEnterprise Editionの2つのエディションが存在します。
両者の違いはNexentaStor License Versionsのページに詳細があります。他にもFree Trialもありますが、こちらはEnterprise Editionの全機能が使えるものの45日間の期間制限があります。評価版ですね。
サービスを環境ではEnterprise Editionを選択することが多くなると思いますが、Community Editionでも商用利用は可能です。ただし当然サポートは無いので自分でなんとかする必要があります。

Community EditionをEnterprise Editionと比較したざっとした違いを以下に挙げてみます。ただしこれは自分/うちの会社に必要な部分に注視しているので詳細はNexentaStorのサイトで確認してください。

  • Active/Active構成のHAクラスタができない
    • HA構成はAuto-CDPプラグインを利用する必要があるがこれはEnterprise Editionでのみ
  • データのレプリケーションができない。ただしrsync(Auto-Tier)によるバックアップは可能。
    • ZFSのsendによるスナップショット転送はAuto-Syncプラグインを使うが、これもEnterprise Editionのみ
  • 技術サポートがない
  • アップグレードが保証されない
  • 使用可能領域が18TBまでの制限あり

などです。容量制限についてですが、あくまでも対象は使用済の容量であるのがポイントです。どういうことかというと、例えば2TBのHDD20本でRAID10構成にした場合HDD容量は20TBになりますが、実際に使用済みの領域が18TBを超えない限りこの構成は可能となってます。シンプロビジョニングが可能なので容量の節約は可能です。*1
尚、使用済み容量が上限に達した場合はデータへのアクセスはできるもののオペレーションが一切できなくなります
このあたりの詳細は以下のページに詳しく書いてありますので参照してください。

ただ、Enterprise Editionの場合は容量計算がCommunity Editionとは別で、フリースペースも含めたディスクのサイズ合計での計算になります。計算方法は以下を参照してください。

そしてここで触れるべき大きな違いとしてはCOMSTARの機能が限定的であることです。仮想化で共有ストレージとして使う上で(うちでは)iSCSIは必須なわけですが、GUIから操作できるCOMSTARのプラグイン機能にはTarget Group/Host Groupの作成ができないという制限があります。ここで認可の機能を実装しているので、これが使えるとXenServerで使うときにちょっと幸せになれます*2。しかしこれはプラグインの制限なだけで機能自体は実装されています。シェルでコマンド直接操作すれば自力で設定することは可能です。
バージョン3.1.xからCE版でも扱えるようになりました

用語解説

NexentaStorでは以下の用語が多用されます。解説内でも使用するので確認しておいてください。

用語 簡単な解説
NexentaStor Nexenta Storage Appliance
SA-API Storage Appliance API。NMS(次項)がSA-APIを提供。
NMS Nexenta Management Server。アプライアンス毎にひとつのサーバインスタンス。NMSがSA-APIを提供しNMSとNMCから利用される。
NMC Nexenta Management Console。NMSと通信することでローカルやリモートのアプライアンスの管理が可能。
NMV Nexenta Management View。NMSとSA-APIを通じて通信することでGUIを提供。

インストール

NexentaStor3.0.4のインストールについての解説です。
CD/DVDからインストーラを起動します。ディスクの数が多いとその分ちょっと時間がかかるかもしれません。
しばらく待っているとライセンスの確認画面が出てきて、同意するとテキストでのインストール時のキー説明が表示されます。OKを押すとディスクがスキャンされインストール可能な対象が一覧で表示されます。

インストーラを起動させてページを進めていくとどのディスクにインストールするかの選択画面が表示されます。インストール時に同一サイズのディスクを2つ指定した場合この段階でミラー構成にできます。
OKを押すとホットスペアのディスクを追加するか聞かれるの必要なら選択します。次のページでディスクの上のデータは全部消えるよという最終確認があるので、問題なければYesで進めます。インストール時の作業ははこれだけです。ストレージOSとして特化しているので余計な設定はありません。ネットワークの設定やストレージ自体の設定はインストール後の作業になります。
インストール時にミラー構成にしていると99%のところでしばらく止まります。恐らくインストール後にミラーの同期をしているのでしょう。

アクティベーション

NexentaStorはCommunity EditionもEnterprise Editionもインストール後にライセンス認証が必要です。Community Editionは無料で使えますが認証は必要です。
ハードウェアのシグネチャNexentaStor Community Edition Registrationで登録すると、登録したメールアドレスにレジストレーションキーが送られてきます。これを入力して利用できるようになります。尚、ハードウェアの構成を換えない限りシグネチャは同じなので再インストールした場合は同じレジストレーションキーになります。

初期設定(CUI)

アクティベーションが終わるとネットワークの設定になります。NICが複数ある場合は、自動で選択されネットワークもランダムで設定されます。なので初期設定から変更する必要があります。手順としては

  1. インターフェイスを選択
  2. IPアドレス/ゲートウェイIPアドレス/DNSを設定

です。問題なければWeb GUI(NMV)でのアクセスの設定としてHTTPとHTTPSの選択画面に移行します。
どちらかを選択してポート番号の指定を行います。ちなみにHTTPSの場合443は「WebDAVが使ってるよ」的なことを言われて設定できません。また一部ポートは設定できるけど動作しない場合があるようです。8080を設定したところ、設定は受け付けられましたがブラウザでのアクセスはできなくなりました。注意が必要です。

以上の設定が終わるとコンソールのログインプロンプトが表示されます。初期設定では

  • ユーザー:root
  • パスワード:nexenta

でログインできます。これはライセンスのメールに記載されています。多分共通。

おまけ

ちなみにここでの初期設定はコンソールで再度行うことができます。ポート番号の指定をミスったときなどは以下で再設定します。

  1. コンソール(NMC)にrootでログイン
  2. 以下のコマンド実行
$ setup appliance init

初期設定(GUI)

wizard1

ストレージの設定自体はWebGUIで行っていきます。初期設定が終わっていればwizard形式で設定できます。
インターフェイスに設定したIPアドレスへブラウザでアクセスすると以下のような画面が出るので設定していきます。言語設定がありますいがは現状Englishのみです。


次にrootとadminのパスワードの設定です。このふたつのユーザーはビルトインユーザーです。

ユーザー 概要 パスワード
root NMCの特権ユーザー 任意
admin NMVの管理ユーザー 任意

adminではNMCの管理オペレーションは実行できません。


次にメール通知の設定を行います。ここで設定したメールアドレスへストレージの統計情報/障害時の通知が行われます(別途設定が必要)。


最後に確認画面が出るので問題がなければ保存します。そのままwizard2へと移行します。

wizard2

ここでネットワークの設定を変更できます。


次にiSCSIのイニシエータの設定を行います。イニシエータの設定を変更した場合は、「save」ボタンで保存してください。入力するだけで先に進んでも保存されないので注意。


次ページはディスク一覧がでてきます。プールの作成はここではできないので次へ


このページで一覧からディスクを選んでRAID構成でプールの作成ができます。プールを別途作成する場合は飛ばします。


プールを作成していればここでフォルダ作成のメニューが出ますが、前の段階でプールの作成をしていない場合は作成メニューが出てきません。このまま次へ。


最後に確認をします。ここでデフォルトでチェックが入っている部分はシステムのチェックポイントの作成についてです。ZFSの機能により、ブート環境のスナップショットを取ることでいつでもこの時点に巻き戻ることが可能になります。設定などを変更しても問題があった場合やまとめてなかったことにしたい場合などに巻き戻ることができます。
その下のチェックボックスはcache flushを無効にするかどうかの選択です。これはzfs_nocacheflushのパラメータ調整です。UPSつけてない場合は無効(=チェックon)にしないでくださいと書いてます。無効にすればI/Oパフォーマンスは上がりますが電源が不意に落ちた場合、cacheがディスクに書き込まれないままダウンした場合データがロストします。リスクを把握した上で環境にあわせて設定します。あとから変更できます。
その下はscrub(zfsの機能でデータの整合性をチェックする)を定期的に行うかの設定です。これもあとでスケジューリン
グの設定ができます。

wizard1とwizard2はあとからやり直すことも可能です。メニューにあります。

まとめとか

長々と画像付きで書いてきてなんですが、これらはすべて詳しくマニュアルに書いてあります。画像付きで(;・∀・)*3
NexentaStorはマニュアルが非常に充実しています。基本的にEnterprise Edition前提で書かれているので機能カットされているCommunity Editionだと「この部分ないんだけど?」的な部分もありますが(先のCOMSTARとか)、とりあえずひと通り目を通しておくのがおすすめです。プラグインも主だったものは個別でマニュアルが整備されています。

かつてはEnterprise Editionだけで提供されていたXenServer用のStorageLinkプラグインもCommunity Editionで使えるようになっていました*4。また、Community Editionでのディスク制限も12TBから18TBに拡張されたりとバージョンが上がるにつれて細かい変更が加わっています。

うちの会社では社内のテスト環境やちょっとしたサーバ構築をする仮想環境の共有ストレージとして実際にNexentaStorを使用しています*5。足りない機能はコマンドたたいたり、スクリプト書いたりして対応しています。エンタープライズの環境でCommunity Editionを使うのはなかなか難しいとは思いますが、Enterprise Editionであればクラウド環境やアプライアンスとして採用されていたりします。
仮想環境を構築すると共有ストレージをどうするかというところに行き着くと思いますがひとつの選択肢としていかがでしょうか?面白そうだと思ったら是非使用して情報を発信してください*6。日本語情報少ないのでお願いします・・・。次回以降細かな情報とかも書いていくつもりです。


関連エントリ(ちょっと情報古いのでOracleのドキュメントも参照してください)

関連リンク

COMSTAR周りもいろいろ変更が加わっているのでそのうちまた書きます。

 

*1:圧縮やdedupeもあるよ。

*2:ボリュームをまるごとスナップショットをとった場合、cloneボリュームを作成してtargetとして公開することで、過去のVMを復元することができます。しかし、XenServerで認識されるSRのUUIDが全く同一のものとなるため、アクセス元のホストとアクセス先のSRを強制的に制限しないとコンフリクトが発生して挙動がおかしくになります。この制限をtargetとiniiatorを結びつける機能で行うことで、過去のVMを復元してデータ吸いだしてまた切り離してcloneボリューム削除みたいなことができるようになります

*3:全部英語ですが。

*4:うちでは使ってません。XenServerのStorageLinkは有償の上位版(Enterprise Edition以上)の機能だからです・・・。

*5:OpenSolais2009.06使ってる環境もあります。

*6:2011/03のOSC Tokyoで活用事例のお話をする予定です