vSphere ESXのパス選択方法の変更


IBM SVCなるものを導入し、VMware vSphere ESX/ESXiで使用することになったわけだが、設定に微妙な点がある。
それは、ESX/ESXi側でマルチパスの設定変更が必要だと言うこと。

まず、現状、どんな設定になっているのかを確認してみる。
ESX/ESXiにsshでログインして「esxcli nmp device list」と実行。

~ # esxcli nmp device list

naa.xxxxxxxxxxxxxxe9d80000000000002d
    Device Display Name: IBM Fibre Channel Disk (naa.xxxxxxxxxxxxxxe9d80000000000002d)
    Storage Array Type: VMW_SATP_SVC
    Storage Array Type Device Config: SATP VMW_SATP_SVC does not support device configuration.
    Path Selection Policy: VMW_PSP_FIXED
    Path Selection Policy Device Config: {preferred=vmhba2:C0:T3:L11;current=vmhba2:C0:T3:L11}
    Working Paths: vmhba2:C0:T3:L11

ずらずら~
~ # 

マルチパスに関する設定は「Path Selection Policy」がソレになる。

現状は「VMW_PSP_FIXED」となっている。
これは、とりあえずアクセスできたパスをずっと使い続け、そのパスが死んだ時に初めて違うパスを使ってみよう、という「固定」の方法。

次に、ESX/ESXiで設定できるマルチパスの方式としてどんなものがあるのか?というのを確認してみる。
それは「esxcli nmp psp list」コマンドを実行する。

~ # esxcli nmp psp list
Name              Description
VMW_PSP_FIXED_AP  Fixed Path Selection with Array Preference
VMW_PSP_MRU       Most Recently Used Path Selection
VMW_PSP_RR        Round Robin Path Selection
VMW_PSP_FIXED     Fixed Path Selection
~ # 

方式としては4種類あることが分かる。
それぞれについて簡単に解説をすると・・・

・「VMW_PSP_MRU / 最近の使用」
最近使ったパスを優先して使う。
Active/Passive型RAIDの場合の標準設定。
LSI Logic OEM系のRAIDだとコレ。IBM DS3xxx、DS4xxxx、DS5xxxが該当になるはず。

・「VMW_PSP_FIXED / 固定」
最初にアクセスできたパスをずっと使い続け、そのパスが死んだ時に初めて違うパスを使ってみようかな。という感じの使い方。
そして、最初にアクセスしたパスが復旧したら、まだ戻る。
Active/Active型RAIDの場合の標準設定。

・「VMW_PSP_FIXED_AP」
基本はVMW_PSP_FIXEDと同じだが、Active/Passive型RAIDや、ALUAモード対応RAIDにも対応させた形式。
ちなみにALUAとは非対称論理ユニットアクセス(Asymmetric Logical Unit Access)で、SCSI SPC-3の使用として規定されたI/Oパス決定の仕組みです。
詳しく知りたい人はEMC CLARiX 非対称アクティブ/アクティブ機能(ALUA)詳細レビューで解説されているので、参考にしてください。

・「VMW_PSP_RR / ラウンド ロビン」
複数あるパス間で、バランスを取りながら使用していく形式。
Active/Active型のRAIDでないと使えない形式。

という感じになる。


以前のIBM SVCはマルチパスの仕組みがちょっといけてないところがあったようですが、現在のIBM SVCではかなり改善されているようで、「VMW_PSP_RR」が使用できるようになっています。

しかし、設定の現状をみると「VMW_PSP_FIXED」。
まず、システムに登録されているストレージごとのパス利用方法の既定値(デフォルト)を確認するためには「esxcli nmp satp list」を実行する。

~ # esxcli nmp satp list
Name                 Default PSP       Description
VMW_SATP_SVC         VMW_PSP_FIXED     Supports IBM SVC
VMW_SATP_SYMM        VMW_PSP_FIXED     Placeholder (plugin not loaded)
VMW_SATP_MSA         VMW_PSP_MRU       Placeholder (plugin not loaded)
VMW_SATP_LSI         VMW_PSP_MRU       Placeholder (plugin not loaded)
<略>
~ # 

SVCの場合、「VMW_PSP_FIXED」と定義されているのがわかる。
調べてみると、IBM SVCの以前のバージョンでは固定だったらしい。

仕方が無いので手動で変更。
GUIから変更することも可能ではありますが、ディスク数が多いと、全部に対して手動で変更する必要があるので非常に大変です。

なので、コマンドを実行して変更するようにしましょう。

とりあえず、ESXiでsshログインを有効にしてから、sshでログインして、SANで認識されているディスクはすべてRound Robinに設定、というものすごくおおざっぱなコマンドを実行してみることにする。

for device in `esxcli nmp path list|grep "Device: "|awk '{ print $2 }' | grep naa`
do
	esxcli nmp device setpolicy --psp VMW_PSP_RR --device $device
done

解説
現行のVMware ESX/ESXi 4.0/4.1に置いて、SANのディスクは「naa.xxxxxxx~」という感じの名前で認識される。
なので、対象となるデバイス名を取り出して、それに対してパスを設定する、ということを行う。
といったもの。

エラー処理とかは一切考えていないので、ちゃんと設定できたかどうかは別途確認してください。

NHK技研公開 ハードディスクの高速化技術


今日から日曜まで砧のNHK技研の一般公開です。
いろいろ展示はありましたが、ノーマークだったところの注目株を1つ

磁気記録デバイスの高速化技術
 ~ スーパーハイビジョン用小型記録装置を目指して ~

やってることは簡単。

ハードディスクの内周と外周ではアクセス速度が違います。
であれば2台を組み合わせて常に一定速度が出るよう、うまーくミックスさせてアクセスさせるよう、変換基板を作りました。
ってもの。

RAID0をもーちょっと進めたようなイメージのものですね

こんな感じで、ほんと市販してそうな雰囲気の基板となっていました。

実際には、これ1セットだけじゃ到底スーパーハイビジョン用の記録帯域には追いつかないが、少しでもディスク本数を減らせる技術として開発しているんだそーな

まぁ、こういう話を聞くと、やっぱりDDNのRAIDなんだけどディスク障害が発生してもすぐにリビルドしない、とか、セクタ不良で代替処理とかに時間がかかりそうなときは、それを意図的に無視する(そして映像データの方のエラー訂正で修正する)とか、そんな処理が重要なんだなー、って改めて思って見たり。

LinuxのCDPソフト R1Soft CDP


ProwareのNASについて調べていたら、ProNAS ver 1.3.xのchangelogに面白い記述を見つけた。

ProNAS 1.3.04 Software Release Notes(pdf) より
「NEW: Support CDP」

をや?いつの間に

ProNASのOSイメージをftpより入手してみると・・・どうやら、R1Softのプロダクトを使っている模様

R1Softのページを見てみると、Freetoolとして、Linux Hot Copy(hcp)なんてものも公開している。
ext4はLinux kernelのバグのせいで使えないらしいけど、それ以外であればkernel 2.6環境でオンラインバックアップがとれるらしい。

まぁ、入手は登録制のようですがね。

Double Take以外の選択肢があるってことで、ちょっと気になるところです。

にしても、proNASは元々drbd+Linux LVM+xfsでレプリケーションってやってたんだけど、それの置き換えになるのかなぁ・・・これは・・・
proNAS ver 1.1.0xのころは完成度がひどかったし
(注: proNAS 1.1.x用HW, proNAS 1.2.x用HW, proNAS 1.3.x用HWと全て別系統です)

RAMCloud


現在、目下開発中で、あまり安定していなそうですが、今後期待できそうなものの紹介

・John Ousterhout project: RAMCloud

サーバに搭載されているRAMを利用して、それらを統合し、1つのストレージとして使うためのソフトウェアを開発中。

RAMCloud wiki

RAMCloud Presentationsにある「RAMCloud overview (Feb. 2010)」を見るのがわかりやすいと思う

サーバ間連携はInfiniband。
Cluster Intro より画像引用

現状はgitツリーでの配布のみっぽく、開発対象Ubuntu
ちなみに、General Information for Developersのページには「Debian (and probably Ubuntu)」とあるけど、取得したREADME.txtを見ると「1.1 Pre-requisites (Ubuntu)」とある。(2012/01/06の段階でも)

(2012/01/06 リンク先のページ構成が変わった点を修正)