NetAppのStorage OSである ONTAPの Simulatorを Linux KVM 上で動かします。
今回は、OSが起動してクラスタセットアップウィザードにアクセスできるようになるところまで進めてみます。
お約束ではありますが、ONTAP Simulatorの Linux KVMでの利用はメーカーの想定する利用方法から外れます。
あくまで自己責任で、NetAppやパートナ各社への問い合わせ等は避けていただけるようお願いいたします。
環境
- Debian 11.5
- kvm
- qemu (1:5.2+dfsg-11+deb11u2)
- libvirt (7.0.0-3)
- ONTAP Simulator 9.11.1
Install方法
ONTAP Simulatorは OVAファイルとして配布されています。
通常、KVM環境にOVAを展開するためには virt-v2v を使うと思います。
ただ、virt-v2vは libguestfs関連等、依存関係から大量のパッケージを必要としてきます。
このため、今回は OVAファイルを展開し、libvirtのshellである virshを使ってインストールする事にしていきます。
OVAファイルの入手
NetAppのサポートサイトにログインできるアカウントが必要になります。
再配布等は禁止されておりますので、利用条件等をよく読んでご利用ください。
- https://mysupport.netapp.com/site/global/dashboard にアクセスします。
- DOWNLOADS -> Product Evaluationをクリック
- Data ONTAP™ Simulatorのリンクをクリック
- 「terms of the license agreement」を確認してチェックして[Continue]
- 以下のファイルをダウンロード
- 評価ライセンス CMode_licenses_9.x.txt
- Hash MD5Checksums_9.x.txt
- シミュレータ OVAファイル: vsim-netapp-DOT9.x-cm_nodar.ova
- マニュアル PDF類
OVAファイルの展開
tarを使って適当なフォルダにファイルを展開します。
user@kvm:~/work/ontap9.11.1$ tar xf ../vsim-netapp-DOT9.11.1-cm_nodar.ova
user@kvm:~/work/ontap9.11.1$ ls -l
total 705088
-rw-r--r-- 1 user user 721741824 Jul 13 12:47 vsim-NetAppDOT-simulate-disk1.vmdk
-rw-r--r-- 1 user user 71168 Jul 13 12:47 vsim-NetAppDOT-simulate-disk2.vmdk
-rw-r--r-- 1 user user 71680 Jul 13 12:47 vsim-NetAppDOT-simulate-disk3.vmdk
-rw-r--r-- 1 user user 100352 Jul 13 12:54 vsim-NetAppDOT-simulate-disk4.vmdk
-rw-r--r-- 1 user user 408 Jul 13 12:46 vsim-NetAppDOT-simulate.mf
-rw-r--r-- 1 user user 7859 Jul 13 12:46 vsim-NetAppDOT-simulate.ovf
仮想マシンスペックの確認
詳細は vsim-NetAppDOT-simulate.ovf ファイルを確認してもらえば分かりますが、以下の様な構成になっています。
- 2 vCPU
- 6144MB RAM
- IDE Contoller 0
- IDE disk1 vsim-NetAppDOT-simulate-disk1.vmdk
- IDE disk2 vsim-NetAppDOT-simulate-disk2.vmdk
- IDE Controller 1
- IDE disk3 vsim-NetAppDOT-simulate-disk3.vmdk
- IDE disk4 vsim-NetAppDOT-simulate-disk4.vmdk
- Network interface Card
- E1000 (e0a) - host only
- E1000 (e0b) - host only
- E1000 (e0c) - nat
- E1000 (e0d) - nat
qcow2に変換
qemu-img を使って vmdkを qcow2に 変換します。
qemu-img convert -O qcow2 vsim-NetAppDOT-simulate-disk1.vmdk vsim-NetAppDOT9.11.1-simulate-disk1.qcow2
qemu-img convert -O qcow2 vsim-NetAppDOT-simulate-disk2.vmdk vsim-NetAppDOT9.11.1-simulate-disk2.qcow2
qemu-img convert -O qcow2 vsim-NetAppDOT-simulate-disk3.vmdk vsim-NetAppDOT9.11.1-simulate-disk3.qcow2
qemu-img convert -O qcow2 vsim-NetAppDOT-simulate-disk4.vmdk vsim-NetAppDOT9.11.1-simulate-disk4.qcow2
出来上がった ディスクを 適当な Storage Poolにアップロードしてください。
Networkの接続について
私の使っているKVMのマシンではブリッジを以下の様に作成しています。
- br0 - local network
- br4 - hostonly network
以下のように使うことにします。
domainのnetwork設定は適宜お使いの環境にあわせて設定してください。
- e0a - br4 (MTU9000)
- e0b - br4 (MTU9000)
- e0c - br0
- e0d - br0
e0aと e0b(クラスタネットワーク)についての補足
e0aとe0b、この 2つのポートは、現在はクラスタを組むのに必要な設定として MTU 9000で設定しています。ただし、クラスタセットアップ時に、1ノードだけで作る シングルノードクラスタを指定すると、クラスタネットワークは不要となり、e0c/e0dと同様に MTU1500で汎用のポートとして開放されます。
シングルノードクラスタの場合は 自由に使う事ができますので、ネットワークの設定はそれを前提とした形に変更していただいてかまいません。
仮想マシンの設定
仮想マシンの構成は以下になります。例ではontapsim.xmlとして保存しています。
<domain type='kvm'>
<name>ontapsim</name>
<os>
<type>hvm</type>
<boot dev='hd'/>
</os>
<cpu mode='host-passthrough'/>
<vcpu>2</vcpu>
<memory unit='MiB'>6144</memory>
<features>
<pae/>
<acpi/>
<apic/>
<hap/>
</features>
<devices>
<graphics type='vnc' autoport='yes' listen='0.0.0.0'/>
<video/>
<serial type='pty'>
<target port='0'/>
</serial>
<console>
<target type='serial' port='0'/>
</console>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/nfs-pool/vsim-NetAppDOT-simulate-disk1'/>
<target dev='hda' bus='ide'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/nfs-pool/vsim-NetAppDOT-simulate-disk2'/>
<target dev='hdb' bus='ide'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/nfs-pool/vsim-NetAppDOT-simulate-disk3'/>
<target dev='hdc' bus='ide'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/nfs-pool/vsim-NetAppDOT-simulate-disk4'/>
<target dev='hdd' bus='ide'/>
</disk>
<interface type='bridge' trustGuestRxFilters='yes'>
<source bridge='br4'/>
<model type='e1000'/>
<mtu size='9000'/>
</interface>
<interface type='bridge' trustGuestRxFilters='yes'>
<source bridge='br4'/>
<model type='e1000'/>
<mtu size='9000'/>
</interface>
<interface type='direct' trustGuestRxFilters='yes'>
<source dev='br0' mode='bridge'/>
<model type='e1000'/>
</interface>
<interface type='direct' trustGuestRxFilters='yes'>
<source dev='br0' mode='bridge'/>
<model type='e1000'/>
</interface>
</devices>
</domain>
仮想ディスクの指定、ネットワークの指定についてはお使いの環境にあわせて調整してください。
初期セットアップ用に Graphics Consoleで接続可能なようにKVMホスト外からVNCで接続できるようにlisten設定しているので注意してください。1
仮想マシンの定義と起動
仮想マシンを起動します。
virsh create ontapsim.xml
起動はそれなりに時間がかかります。
起動中の出力の確認
graphics consoleに接続する場合は 適当な VNC Clientで接続します。
user@kvm:~$ virsh domdisplay ontapsim
vnc://localhost:0
ネットワーク接続の確認
ここで環境によってはネットワークの接続が狂う場合があると思います。そのような場合には ONTAPが認識しているネットワーク・インターフェースと仮想マシンの設定が正しいことを確認してください。
ONTAP側のMACを確認するためにVNCの画面からadminでログインします。このタイミングではパスワードは不要です。
ログインしたら以下のコマンドを実行します。
network port show -fields mac
ここで表示されたMACとKVMホスト側で設定されているMACで狙ったネットワークに接続されているかどうかを確認します。
ip address show type bridge_slave
ip address show type macvtap
DHCPがある環境の場合
起動が完了して、DHCPが有効な環境の場合以下の様にIPアドレスが表示されます。
指定されたURLにブラウザでアクセスしてクラスタセットアップウィザードの設定を進めてください。
DHCPが無い環境の場合
DHCPが無い環境の場合、mgmt_autoに対しては Auto IPがふられます。
network interface show
Auto IPで接続可能な端末があれば、ブラウザから接続して設定を進めればOKです。
Auto IPが接続出来なければ、vncのコンソールからCLIで cluster setup wizardを使って設定を進めてください。
cluster setup
この後は……
OSが起動するところまで到達できたので、ONTAPでクラスタの設定を行って設定を進めていくことになります。
無事ブラウザからアクセスできた方はここから先は 日本語Web GUI で進められます。
クラスタのセットアップは長くなるので、また次の記事にしたいと思います!
-
シリアルポートも設定していますが、初期ログインは出来ず、自動設定されたマネージメントIPアドレスについても特に出力されないため VNC側で確認することをおすすめいたします。 ↩