« なぜなに Data Domain - 第二回 - Data Domain の重複排除でバックアップの悩みを解決! | メイン | Get Pernix'd »

2014/07/03

これであなたも NetApp Data ONTAP シミュレータ マスターだだだっ!

NetApp社のData ONTAPシミュレータをご存じですか?

Data ONTAPシミュレータはVMware WorkstationやvSphere 5.xの環境で仮想マシンとしてNetAppストレージOSを立ち上げます。仮想マシンでできたNetAppストレージで、仮想的にData ONTAPを体感できるとても便利なツールです。
Data ONTAPで使用できる機能のほとんどは、シミュレータでも利用できます。
新しいハードウェアを購入する前に、機能テスト、 NFSシェアやCIFSシェアのエクスポートなどを体験することができます。

Photo_3

 

みなさんも使ってみてはいかがでしょうか。

ただし、やっぱり仮想マシンで動かすからには注意事項があるので注意してくださいね。

【注意事項】
◆シミュレータはclustered Data ONTAPの製品版ではないので実運用環境で使用しないでください!(やる人はいないと思いますが。。。)

◆Data ONTAPシミュレータはこのような機能についてはサポートしてないようです。

・HA構成 (CFO、SFO)
・マルチパス
・FCおよびSAN
・RLM
など。

◆Data ONTAPシミュレータはNetAppサポートサイトからダウンロードしますが、NetApp社とみなさんが所属している会社の契約によってはダウンロードできない場合があります。※ 契約についての問い合わせはこちらへどうぞ。

では、さっそくやってみましょう!

Data ONTAPには7-modeと言う昔から使われているものと、最近使われるようになったclustered Data ONTAPがあります。今回はせっかくなので、新しいclustered Data ONTAPのシミュレータを使ってみます。


------------------------------------------------
1.Data ONTAPシミュレータをダウンロード
------------------------------------------------
まずは、NetAppサポートサイトからData ONTAPシミュレータをダウンロードしましょう。

今回は「Clustered Data ONTAP 8.2.1」をダウンロードします。

追加で「VSIM Licenses:8.2.1 licenses Clustered-ONTAP」の内容もダウンロードしておきましょう。シミュレータ用のS/Nやライセンスキーが記述されています。

2014061



ダウンロードした「vsim_esx-cm.tgz」を解凍するとシミュレータフォルダが作成されます。フォルダ名を任意の仮想マシン名に変更しておきましょう。フォルダごとvSphere環境のデータストアブラウザからアップロードする予定です。
解凍したシミュレータフォルダ内をのぞくと、vmdkファイルが沢山表示されていますよね。

2014062_3



これは、Data ONTAPシミュレータ仮想マシンがsparceディスクで作成されているからなのです。一般的にはVMware Workstationが対応しているタイプのディスク形式で、容量が小さい仮想ディスクを複数まとめて1つの大きな仮想ディスクとして扱うディスク形式です。vSphere esxiで通常使われる仮想ディスク形式は、thinlazy zeroed thickeager zeroed thick

sparceディスクなんてあまり見かけないディスク形式ですよね。

sparceディスクはvSphere環境ではあまり一般的ではないため、esxiのバージョンによっては注意が必要な場合があります。これについては後でお話ししましょう。


ちなみに筆者の構築した環境はvSphere5.5のUpdateなし!

他のバージョンでやって問題があっても怒ってはいけません。

ついでにお話すると、筆者のWindowsは「あずきフォント」を使用しています。

癒されますよね~。。。。画像が見づらくってもご容赦ください。

------------------------------------------------
2.Data ONTAPシミュレータをアップロード
------------------------------------------------
シミュレータのフォルダごと、データストアブラウザからアップロードします。

2014063_2



2台目のシミュレータを作りたい場合は、フォルダ名を変えてまたデータストアブラウザから別途アップロードしましょう。

シミュレータをvCenterからクローンすればいいのでは!?と思う人もいるかもしれませんね。vSphereやシミュレータのバージョンによってはおかしくなるかも!?と言う噂もがあるため、筆者は個人的にはおすすめしません。ためしにクローンしてみましたが、vmx構成ファイルの中身が大きく変わってしまっているようですね。ちょっとそれを使うのはためらわれます。今回は安全のため、シミュレータの台数分データストアブラウザからアップロードします。

シミュレータフォルダをアップロードし終わるとデータストアブラウザからはvmdkディスクの数が4つしか見えていません。

2014064_2



でも、esxiのESX Shellにログインしてみてみると、vmdk仮想ディスクが沢山確認できるはずです。

※この後の手順でも、ESXi shellにsshでログインします。各esxiのセキュリティプロファイルで「ESXiシェル」と「ssh」サービスを有効化しておきましょう。

2014065_2

このように、データストアブラウザから見ると表面上は仮想ディスク数が少ないのに、実際裏ではもっと多くのvmdk仮想ディスクから成り立っているのがsparceディスクです。


------------------------------------------------
3.vmdk仮想ディスクの変換とvmxファイルの編集
------------------------------------------------
このままシミュレータを仮想マシンとして登録して起動するとesxiのバージョンによってはエラーで起動できません。vSphere 4.xまではデフォルトでsparceディスク仮想マシンの起動に対応していたのですが、vSphere 5.x以上ではsparceディスク仮想マシンにデフォルトで対応していないのです。

VMware社の以下KBを見てみると、sparceディスク仮想マシンをパワーオンしようとするとvmdkファイルが見つかりませんとエラーが出て仮想マシンをパワーオンできないと書かれています。 

KB.2080408

アップグレードされたホストで仮想マシンのパワーオンがエラー [File [VMFS volume] VM-name/VM-name.vmdk was not found] で失敗する (2080408)

 

上記KBのワークアラウンドとして書かれていることを、言われた通りにやってみましょう。


つまり、sparceディスクをvSphere 5.x以上で使えるような通常のディスク形式(thinlazy zeroed thickeager zeroed thick)に変換する手順です。これをやっておくと、vSphere 5.x以上でもsparceディスク仮想マシンを起動できるのです。

esxiのESXi shellにログインしてコマンドラインから実行します。

先ほどアップロードしたシミュレータのフォルダまでcdします。
cd /vmfs/volumes/DataStore/Cluster101-01/

まずは、esxiをsparceディスクを扱えるモードにします。
vmkload_mod multiextent

DataONTAP.vmdk → DataONTAP-c.vmdk
DataONTAP-sim.vmdk → DataONTAP-sim-c.vmdk
のようにvmdkファイルをコピーしつつthinディスクに変換します。
vmkfstools -i DataONTAP.vmdk DataONTAP-c.vmdk -d thin
vmkfstools -i DataONTAP-sim.vmdk DataONTAP-sim-c.vmdk -d thin

元のディスクを削除します。
vmkfstools -U DataONTAP.vmdk
vmkfstools -U DataONTAP-sim.vmdk

新しいディスクを元のディスク名に変更します。
vmkfstools -E DataONTAP-c.vmdk DataONTAP.vmdk
vmkfstools -E DataONTAP-sim-c.vmdk DataONTAP-sim.vmdk

lsしてみると、こんな感じにスッキリまとまりましたね。
これでシミュレータがvSpehre 5.xでも使えるthinディスク仮想マシンになりました。

2014066




※めも

ついでに。。。

シミュレータにはデフォルトで4ポートのvNICがついていますが、vNICを更に追加したいという場合はvmxファイルでpciスロットの数を編集する必要があります。

追加したい場合だけここを参考にしてくださいね。
これをしておかないとvNICを追加できないのです。
viでDataONTAP.vmxを編集して、最終行に以下2行を追加します。

pciBridge0.present = "TRUE"
pciBridge0.pciSlotNumber = "16"


------------------------------------------------
4.シミュレータをインベントリに登録
------------------------------------------------

DataONTAP.vmxをインベントリに登録します。

2014067






------------------------------------------------
5.意味不明なシリアルポートを追加
------------------------------------------------

まだシミュレータを起動しないで ! 

仮想マシンの設定の編集でシリアルポートを追加します。


シミュレータのマニュアルにはシリアルポート編集の手順があります。でも、実際にシミュレータの仮想デバイス情報を見てもシリアルポートがデバイスとしてついていません。

以前のesxiのバージョンであればついていたのかもしれませんね。

古式ゆかしい手順に従ってGoogle先生におたずねしたところ、念のため手動でシリアルポートを追加している人もいるようです。筆者も安全のために手動でシリアルポートを追加してみます。ただ、人によってはこのシリアルポートがなくても普通に動くよと言う人もいます。シリアルポートがついていないことによる影響範囲は不明ですのでご注意ください。

2ノードクラスタを作る予定なので2台のシミュレータにはそれぞれ以下のような設定をします。

接続方式:名前付きパイプに接続

◆1台目のシミュレータ
パイプ名:\\.\pipe\<仮想マシンの名前>-cons
例:\\.\pipe\Cluster101-01-cons
近端:サーバー
遠端:プロセス


◆2台目のシミュレータ
パイプ名:\\.\pipe\<仮想マシンの名前>-gdb
例:\\.\pipe\Cluster101-02-cons
近端:サーバー
遠端:プロセス

2014068



------------------------------------------------
6.仮想ネットワークを設定
------------------------------------------------

まだシミュレータを起動しないで ! もうちょっと!

シミュレータはデフォルトで以下のようなvNICの構成になっています。

Cluster Network x 2ポート (e0a, e0b)
VM Network x 2ポート (e0c, e0d)

Cluster Interconnect用のCluster Networkは内部スイッチ(Internal vSwitch)を作成して「Cluster Network」のような名前で仮想マシンポートグループを作成してあげるとするといいでしょう。

内部スイッチ(Internal vSwitch)は物理ポートを接続しない仮想スイッチのことです。

2014069


CIFSやNFSやSnapMirrorなどサービスやミラーで使うネットワークは、外部やクライアントからアクセス可能なネットワークにする必要があります。物理ポートを接続した仮想スイッチに「VM Network」などの仮想マシンポートグループを作成してそこへ接続すると実機のネットワークに近い構成にすることができます。

20140610



------------------------------------------------
7.ONTAP シミュレータのパワーオンと初期化
------------------------------------------------

Data ONTAP 8.2以上のバージョンでは、S/NとSystem IDはノード(コントローラ)ロックで固定値です。

◆1台目のシミュレータ
SYS_SERIAL_NUM:4082367-72-4
bootarg.nvram.sysid:4082367724

◆2台目のシミュレータ
SYS_SERIAL_NUM:4034389-06-2
bootarg.nvram.sysid:4034389062


複数ノードでのハンズオンを実施する場合は、2台目のS/NとSystem IDを変更する必要があります。NetAppサポートサイトでダウンロードした「VSIM Licenses:8.2.1 licenses Clustered-ONTAP」を参照すると、上記のようなS/NとSystem IDの割り当てになっています。2台目のシミュレータはS/NとSystem IDを変更しますが、S/NとSystem IDの変更後の手順は場合によっては後戻りができないので、ここで仮想マシンのスナップショットを取得しておくことをお勧めします。

では、1台目からシミュレータをパワーオンして初期化をしていきましょう。


■1台目のシミュレータ

起動したら「Press Ctrl-C for Boot Menu.」でCTRL+C を押してスペシャルブートメニューを表示しましょう。

」(Maintenance Mode boot.)でメンテナンスモードに入ります。

20140612



disk show -a」により、ディスク 28 本が unowned(オーナーシップがない状態)であることを確認します。

20140613



disk remove_ownership all」で、全ディスクのオーナーシップ情報を解放し、確認の「y」を入力します。※英語キーボードなので、 「_」 の入力は、日本語キーボードの 「=」を使ってください。

disk assign all」で、全ディスクをこのノード(コントローラ)にアサインします。

Test



最後に「halt」コマンドでメンテナンスモードを終了して再起動してください。



Press Ctrl-C for Boot Menu.」でまたCTRL+C を入力してスペシャルブートメニューを表示します。

4」(Clean configuration and initialize all disks)を選択します。

20140618



確認の「y」を2回入力。

20140619



さきほどアサインしたディスクのInitialize(初期化)が実行されます。

環境によりますがInitialize完了までに大体10~20 分程度かかります。

20140620



■2台目のシミュレータ

2台目のシミュレータなので、S/NとSystem IDを変更する必要があります。

シミュレータをパワーオンしたら即座に!
Hit [Enter] to boot immediately, or ..」 のタイミングで「ENTER 以外のキー」を押してVLOADER 画面に入ります。

20140622

VLOADER の起動に失敗した場合、Simulator 仮想マシンの電源再投入(OFF→ON)を実施し、もう一回試してみてください。

以下のようにVLOADERでS/NとSystem IDを変更します。

VLOADER> setenv SYS_SERIAL_NUM 4034389-06-2
VLOADER> printenv SYS_SERIAL_NUM
4034389-06-2

VLOADER> setenv bootarg.nvram.sysid 4034389062
VLOADER> printenv bootarg.nvram.sysid
4034389062

20140623


※注意※

以下bootした後、必ずすぐにスペシャルブートメニュに入ってinitializeに入らないと、2度と使えないシミュレータになります。

ここからのブートにはくれぐれも注意をしてください。スペシャルブートメニュに入るのを忘れて中途半端にbootしかけると「S/Nが変わりましたか?yes」のような応答をするステップに行ってしまいます。そうなるとまたシミュレータフォルダのアップロードからのやり直しになります。仮想マシンのスナップショットがある場合はもう一回スナップショットポイントに戻ってからやりなおしましょう。

VLOADER> boot

起動したら「Press Ctrl-C for Boot Menu.」でCTRL+C を押してスペシャルブートメニューを表示!

20140624

 

以後の手順は1台目と同じでディスクのアサインをしてからInitializeです。


-------------------------------------------------
8.agg0のディスク追加とvol0の容量拡張
-------------------------------------------------

ディスク構成は実機と同じで、デフォルトだと3本のAggrです。
実機だとそれなりの容量のあるディスクを使うため意識しなくてもいいのですが、シミュレータのディスクは1ディスク1GBほどしかなく、そのままにしておくと、システムボリュームであるvol0がログであふれてONTAP シミュレータが落ちてしまいます。このため、aggr0とvol0を拡張しておくことをお勧めします。

Initializeが完了するとCluster setupウィザードが表示されます。

20140626



このCluster setupセットアップウィザードを実施してから以下手順を実行するもよし、Cluster setupウィザードをCTRL+Cでキャンセルして以下の手順を実行するもよし、とにかくシミュレータではシステム領域の容量対策をしておきましょう。


ログインコンソールで、adminアカウントでログインします。

※adminアカウントのパスワードが未設定の場合はパスワードは聞かれません。

コンソールで以下のようにaggr0やvol0の設定を変更します。

node run local snap sched -A aggr0 0 0 0
node run local snap sched vol0 0 0 0
node run local snap autodelete vol0 on
node run local aggr add aggr0 1
node run local vol size vol0 1620m

20140629




最後に容量を確認します。

node run local df -Ah
node run local df -h

20140630



 

上記設定で2日間稼動確認してみましたが落ちずに動いている模様。

みなさんもこれでNetApp clustered Data ONTAP シミュレータマスターですね!

擦り切れるほど使い倒してくださることを心より祈っております。

記事: RAYer