NexentaStor Community Editionの初期設定的な何か
以前のエントリで概要とインストールについて書いたわけですが、実際に使うとなると色々設定する必要があるわけです。
概要についてはこちら
自分も全部の機能を把握してるわけではないので、とりあえず手をつけた部分をメモがわりに。あとここではCommunity Edition(以下CE)を対象にしています。内部のシェルで操作(expert mode)する部分が多分にあります。標準のコマンドラインからの操作以外のシェル操作はEnterprise Edition(以下EE)の場合サポート対象外になるのでやらないほうがいいです。CEは機能削られてるので自分で面倒見れるなら自分で色々いじくればいいんじゃね?のスタイルで使える人に向いてるかも知れません。もともとサポートないので。
尚、ここで解説するバージョンは3.0.4です。過去の例からマイナーバージョンの違いでも変わる部分があるので参考にする方はその点ご注意ください。
インストール後の設定
前回のエントリで紹介したwizardによる初期設定が終わってからのものです。どういう用途であれ大体共通する設定です。簡単にまとめておきます。といってもそんなに多くはないです。追加があれば内容はアップデートするかもしれません。
アップグレード
まずはシステムのアップグレードで最新に。コンソールからかもしくはSSHでログインします。ユーザーはrootです。
nmc@nexenta:/$ setup appliance upgrade
問い合わせがあるのですべてyesで。アップグレードされるモジュールがあれば自動ですべてアップグレードされます。アップグレード後はNMSが再起動するのでログアウトさせられます。
expertモードの設定
再ログインしてexpert modeを有効にする
NexentaStorはアプライアンスOSなので専用の管理コマンド(NMC)と管理インターフェイス(NMV)を持っています。前回のエントリで触れました。CEはEEから機能が制限されています。また、デフォルトにないアプリケーションをインストールしたいという要望もあります。そのためにシェル(bash)が使えるようになっています。ただデフォルトでは無効化されているので、このモードを使うよというフラグを建てる必要があります。
nmc@nexenta:/$ option expert_mode=1 -s
実行後以下のコマンドでシェルに入ることができます。
nmc@nexenta:/$ !bash You are about to enter the Unix ("raw") shell and execute low-level Unix command(s). Warning: using low-level Unix commands is not recommended! Execute? (y/n)
yを入力すればシェルに移行します。-sをつけなければ一時的な移行です。-sはフラグ永続化のオプションです。
NexentaStorはOpenSolarisのOS/Net(ON)とubuntuのユーザランドが組み合わさったものです。なのでubuntuのパッケージが使えます。3.0.4の場合、Ubuntu 8.04(Hardy Heron) LTSとの組み合わせになっていますです。
/etc/bash.bashrcの編集
Linuxっぽくllとかlaとかviとかをaliasでコマンド操作したい場合はここへ追記すればよい。
alias vi='vim' alias la='ls -al' alias ll='ls -l' alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias grep='grep --color=always'
みたいな。
vimrcの編集
viの設定したなら。~/.vimrcの編集。デフォルトだとコピペしたときにタブでインデントされてうざかったりします。そんな場合は
"set cindent sm wm=0 tw=0 "set cindent sm wm=0 tw=0
な感じでコメントアウトして
set noautoindent set nosmartindent filetype plugin indent off
とか追記すればいいのでは。
screen
# echo "escape ^Tt" >> ~/.screenrc
開発環境のインストール
そのままだとgccとかも入ってないので必要なものまとめてインストール。とりあえず追加で何かアプリケーションを自分でビルドしたいならあると幸せ。
# apt-get install build-essential
SMARTmontoolsのインストール
EEにはS.M.A.R.TのプラグインがあるがCEでは削られている。ただもちろん自前で用意すればデータはとれます。SMARTmontoolsはapt-getで取ってこれます。ソースからビルドするのも可能です。データ取得してスクリプトで加工すれば監視系のアプリケーションと連携させることもできるでしょう。
# apt-get install smartmontools
でインストール。
# smartctl -a /dev/rdsk/c0t27d0
とかすればデータが取れます。ただSCSI(SAS)はそのままで取れますが、SATA接続のHDDはエラーで取得できません。SATAのコントローラ接続のHDDは以下の感じで。HDD名は適宜読み替え。
# smartctl -d sat,12 -a /dev/rdsk/c3t0d0
arcstat.pl
ARCの利用状況をmpstatやvmstatみたいな感じで出力することができるperlのスクリプトです。ダウンロードして実行権限付与すればそのまま使えます。以下のリンク先からダウンロード可能です。
使い方は-hで調べてください。出力項目の説明も書かれています。以下も参考に。
出力はこんなかんじです
# arcstat.pl Time read miss miss% dmis dm% pmis pm% mmis mm% arcsz c 13:34:26 20M 637K 3 195K 1 442K 5 198K 4 7G 50G 13:34:27 1 0 0 0 0 0 0 0 0 7G 50G 13:34:28 0 0 0 0 0 0 0 0 0 7G 50G
# arcstat.pl -x Time mfu mru mfug mrug eskip mtxmis rmis dread pread read 13:34:52 20M 5M 428 428 3K 0 0 13M 7M 20M 13:34:53 1 0 0 0 0 0 0 1 0 1 13:34:54 14 3 0 0 0 0 0 14 0 14
まとめ
簡単にまとめた程度ですが、こんな感じで環境を整えればユーザランドがUbuntuなのでLinuxに近い感覚で操作できると思います。さらにOpenSolaris由来のSMF(Linuxだとdaemontoolsみたいな)やdtraceなども使えるので、両方の理解が深ければ弄れば色々できそうです。まあいじくり倒すならNexenta Core Platform使ってnapp-itで操作するとかもいいかもしれないですが、機能が色々あるのが魅力的です。Runnerという機能でサービスの監視ができたり、スナップショットの自動取得、scrubの設定、ストレージ機能(iSCSI,CIFS,NFS,WebDAVなど)の操作ができたり。
ただ、機能として自動スナップショットの設定はGUIでできますがスナップショットの転送ができません。なので取得して差分転送でバックアップする処理を自前で実装しています*1。その他だと削られてるCOMSTARの設定や、リソース監視でMuninを入れてSMFでサービス登録して動かしたりしてます。いろいろLinuxのアプリケーションをビルドできるのでいじると楽しいかもしれません。
ただし最初にも書きましたがEEではやらないでください(念のため)。CEで頑張りたい人は色々いじるといいでしょう。
残念なところとしてはzpoolのバージョンが26と少し古いところです。OpenSolaris b134ベースになってるので1年以上前になりますかね。その辺りはOpenIndianaがIllumosベースでリリースされれば追随していくと思います。ユーザーランドも次回のメジャーバージョンアップではUbuntu 10.04 LTSべースになるんじゃないかと思ってます。
*1:自前でやると微妙にNMSとの整合性の部分でめんどくさい部分があるんですが・・・