NetApp ONTAP simulator op ProxMox

Omdat ik op mijn werk ook veel bezig ben met storage op basis van NetApp, wilde ik graag ook een test omgeving. Gelukkig heeft NetApp een zogenaamde ONTAP simulator (te vinden op https://mysupport.netapp.com/site/tools/tool-eula/simulate-ontap/download). Om deze te downloaden heb je wel een NetApp account nodig.
Helaas is deze ova vooral bedoeld voor VMWare, maar als echte OpenSource liefhebber heb ik natuurlijk een ProxMox omgeving. Om de simulator toch op ProxMox te kunnen gebruiken moet je de volgende stappen doen:
Login op je ProxMox omgeving en wordt root.
Maak vervolgens een directory aan op ProxMox
# mkdir /opt/netapp
Kopieer de ova file naar deze directory (bijvoorbeeld via scp of FileZilla)
# cd /opt/netapp
# tar xvf vsim-netapp-DOT9.12.1-cm_nodar.ova
# vim vsim-NetAppDOT-simulate.ovf
We moeten het disk gedeelte nu veranderen:

<Item>
<rasd:AddressOnParent>0</rasd:AddressOnParent>
<rasd:ElementName>disk1</rasd:ElementName>
<rasd:HostResource>ovf:/disk/vmdisk1</rasd:HostResource>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:Parent>4</rasd:Parent>
<rasd:ResourceType>17</rasd:ResourceType>
</Item>
<Item>
<rasd:AddressOnParent>1</rasd:AddressOnParent>
<rasd:ElementName>disk2</rasd:ElementName>
<rasd:HostResource>ovf:/disk/vmdisk2</rasd:HostResource>
<rasd:InstanceID>6</rasd:InstanceID>
<rasd:Parent>4</rasd:Parent>
<rasd:ResourceType>17</rasd:ResourceType>
</Item>
<Item>
<rasd:AddressOnParent>2</rasd:AddressOnParent>
<rasd:ElementName>disk3</rasd:ElementName>
<rasd:HostResource>ovf:/disk/vmdisk3</rasd:HostResource>
<rasd:InstanceID>7</rasd:InstanceID>
<rasd:Parent>4</rasd:Parent>
<rasd:ResourceType>17</rasd:ResourceType>
</Item>
<Item>
<rasd:AddressOnParent>3</rasd:AddressOnParent>
<rasd:ElementName>disk4</rasd:ElementName>
<rasd:HostResource>ovf:/disk/vmdisk4</rasd:HostResource>
<rasd:InstanceID>8</rasd:InstanceID>
<rasd:Parent>4</rasd:Parent>
<rasd:ResourceType>17</rasd:ResourceType>
</Item>

Nu kunnen we de ovf importeren in ProxMox
# qm importovf <VMID> ./vsim-NetAppDOT-simulate.ovf <diskstore> --format qcow2
In de proxmox-gui voeg je 4 nics toe.
Nic 1,2 en 4 zet je op een apart VLAN.
Nic 3 wordt de management nic en maak je bereikbaar voor de boze buitenwereld.
Wijzig het processor type naar van kvm64 naar host.
Start de VM op en ga naar de Console van de server. Nu is het een kwestie van instructies op het scherm volgen. En je test omgeving is klaar.
PS. De default login van de cli is admin en heeft geen wachtwoord.

Het wil voorkomen dat de root disk na een tijd erg vol raakt. Je kunt dan het volgende doen:

From the problem node’s console:
login to the cluster shell
run local
disk assign all
aggr status
The root aggr will have “root” in the option list. Typically its aggr0
aggr add aggregate_name 3@1g
Assuming the default 1gb disks were used.  Adjust as necessary.
vol status
The root vol will have “root” in the options list.  typically its vol0
vol size root_volume +2290m
The size increase availble may vary depending on the type of disks used.  2560m or 2290m are most common.  Try 2560 first, if that fails fall back to 2290, if that fails the error will give the max size in kb

exit
reboot

En daarna

cluster> node run local
node> snap delete -a -f vol0
node> snap sched vol0 0 0 0
node> snap autodelete vol0 on
node> snap autodelete vol0 target_free_space 35
node> snap autodelete vol0
node> ctrl+D
cluster> reboot

Verder kan je ook nog het aantal disken uitbreiden. Handig voor als je bijv. ook nog S3 buckets wil testen. Dit doe je door in te loggen op de CLI via ssh en dan het volgende te doen:

> set diag
*> security login unlock -username diag
*> systemshell local "cd /sim/dev;sudo vsim_makedisks -n 14 -t 37 -a 2"
*> systemshell local "cd /sim/dev;sudo vsim_makedisks -n 14 -t 37 -a 3"
*> reboot

Soms krijg je wel eens de melding:

***********************
** SYSTEM MESSAGES **
***********************

CRITICAL. This node is not healthy because the root volume is low on space
(<10MB). The node can still serve data, but it cannot participate in cluster
operations until this situation is rectified. Free space using the nodeshell or
contact technical support for assistance.

Internal error. Cannot open corrupt replicated database. Automatic recovery
attempt has failed or is disabled. Check the event logs for details. This node
is not fully operational. Contact support personnel for the root volume recovery
procedures.

Wat je dan kan doet is het volgende:

::> set diag
::*> system configuration recovery node mroot-state clear -recovery-state rdb
::*> reboot