Skip to Content

How to install the HANA server software on a virtual machine

This guide describes how to install the SAP HANA server software on a VMware virtual machine. Normally, SAP HANA will only install on certified (and very expensive) hardware, but there is a workaround for this.

As this is my very first SCN blog post, i would welcome all of you to provide me with feedback on it! Thanks!

When you want to have a HANA demo or sandbox environment, there are roughly two possibilities:

– Buy a certified appliance from a hardware vendor

– Use Amazon AWS

The first one has the disadvantage that you need to invest a significant amount of money for something that’s just a demo/sandbox machine. The second option is pretty cheap (although the costs can run up if you leave it running all the time), but is limited in terms of memory amount. Also, it’s not possible to run BW or ECC on HANA with the AWS solution.

So, with the above in mind, I suggested within our organization that we installed HANA on a virtual machine, so that we have our own demo environment. It turned out that that was something a lot of colleagues had already tried before, but they didn’t succeed. They didn’t succeed because the HANA installation performs a hardware check during the install, and of course a virtual machine does not meet the HANA hardware requirements.

Now, since I’m a little bit stubborn, this triggered me to find a way to work around the hardware check to be able to install HANA on a VM. And there is one, it’s quite simple actually. So, here are the steps to install HANA on a VM:


Please use this guide only for internal, non-production HANA systems. Otherwise I think you will have a problem with SAP 🙂 .



  • A virtual machine, with at least the following specs:
    • At least 24 GB RAM memory
    • At least 65 GB + 5 times the amount of RAM of HDD space, for example: 48 GB RAM and 65 + (5 * 48) = 240 GB HDD space
    • Quad-core processor (but: the more processing power, the better. Do not underestimate this!)
  • SUSE Linux Enterprise installation ISO file
  • SAP HANA installation ISO (can be downloaded from SAP Marketplace). You have to create an ISO file from the installation files manually, for example by using ImgBurn.
  • VMWare vSphere or another tool to access your VM remotely
  • System information for your HANA server:
    • System ID (SID)
    • Hostname (Fully Qualified Domain Name, FQDN)
    • Instance number
  • Patience
  • Client PC with PuTTY and HANA Studio installed

Install OS

  • First of all, you need to install the Linux OS. You need the SLES (Suse Linux Enterprise) distro to install HANA. I have tried to install HANA on Opensuse, but it did not work.
  • Start the VMware virtual machine with the Suse installation ISO mounted on the VM’s disk drive.
  • Perform the installation of SLES as normal. There are no special things to consider, except:
    • I used the default Gnome install to be able to run the HANA Studio on the server to test. It’s not really necessary to install a window environment on the Linux server, but I’m finding it helpful sometimes.
    • Hostname: be careful to set this correct!
    • IP and domain
    • Make sure SSH access is possible
    • Disable any firewalls
  • During the installation, or afterwards, you need to set up a few partitions mounted on predefined mount points. The table below will display the file system you need, and the minimal sizes of the different partitions. I’ve also included a column of the file system I’ve created during my installation:
Mount Point Minimal size My size
/ 10 GB 30 GB
/hana/shared 5 GB No separate partition or mount point
/hana/shared/<SID> 1x RAM size 50 GB
/usr/sap 50 GB 50 GB
/hana/shared/data 3x RAM size 200 GB
/hana/shared/log 1x RAM size 50 GB
  • After installation, boot up your fresh Linux installation and use Putty to make a SSH connection to it. Log in as root. You can also use the remote desktop graphical environment if you want, but in this example I will use Putty.
  • First, check if the filesystem is set up correctly:

          df –h

  • Next, we are going to install a few software packages that are required for the HANA installation. Please make sure that you have your SLES DVD mounted properly, or that you have a working internet connection. Then, give the following command:

          zypper in gtk2 java-1_6_0-ibm libicu mozilla-xulrunner* ntp sudo syslog-ng tcsh libssh2-1

               expect autoyast2-installation yast2-ncurses python

  • Have the packages that are missing installed by confirming the installation
  • Next, mount the HANA installation DVD
  • Find the file /<dvdlocation/DATA_UNITS/HANA_IM_LINUX__X86_64/setuphana.slmodel.template.v2 and open it with a text editor
  • Fill in the right parameters in the XML file. Please note how this corresponds to your file system. Read the XML instructions carefully. Because these settings are system specific, I cannot tell you how to fill this in or how I filled in these parameters.
  • Save the file as /tmp/hana.model
  • Create directory /tmp/hanainstdir:

          mkdir /tmp/hanainstdir

  • Next, we will create a system environment variable called “IDSPISPOPD”. This will make sure the HANA installer bypasses the hardware check (since we’re not using certified hardware). IDSPISPOPD is actually a cheat code in DOOM, called ‘No Clipping mode’. LOL @ the HANA developers there!

          export IDSPISPOPD=”1″

  • Check if the OS variable is set correctly with python:


          >>> import os

          >>> ‘IDSPISPOPD’ in os.environ.keys()

  • This should return True. Exit python by typing

          >>> exit()

  • So, now we have the file system in place, we have the required packages installed and we have set the No Clipping mode to on. Time to start the HANA installer.
  • CD to /<dvd-location/DATA_UNITS/HANA_IM_LINUX__X86_64/
  • Start the installer script with the following command:

          ./ /tmp/hanainstdir /tmp/hana.model

  • The installer will first extract into your installation dir. After this, the installer will prompt you for a password. This is actually the password for the DB admin. Enter it twice.
  • After that, it will install SAPHostAgent. Don’t worry if it says it can’t connect a few times, this happened to me too. Just wait and it will continue eventually.
  • After this, the installation doesn’t require input anymore, so you can leave it until it is completed. Sit back and enjoy the ride…
  • When the installation is complete, start the HANA Modeler on the local machine to see if your HANA server is running. Connect to the hostname and instance number you provided during the install. Use the username SYSTEM and the password you entered during the installation.

So, now you have a HANA server for playing around. Have fun with it!

Wouter Goslinga, CGI

You must be Logged on to comment or reply to a post.
    • So it does the command line installer: it is not necessary to create them beforehand. However it is necessary to do so if you want file systems to be created rather than plain folders.

  • Hi,

    I hope you don't mind me asking but could you provide links or info to search for the ISO's on the SAP market place please?


    Simon C.

    • Hi Simon, just log in to the marketplace using your S-number and use the search function to search for HANA. You need to have download rights to be able to download the software. If your employer is a SAP partner, they will have someone to manage the S-accounts and he or she can grant you these download rights.

  • Hi,

    I tried to install HANA 1.0 sp05 on oracle virtual box, I followed the same method mentioned here, but its failing in the hardware check. I cannot bypass the hardware check phase in  the hana db installation.

    • Hi,

      Did you check the system variable before starting the installer script? The system variable is lost when you reboot the system, so don't reboot between setting the variable and running the setup script.


          • Hi,

            I set the environmental variable and I didn't reboot after setting the variable. I am getting the following error. Still facing the hardware check failure.

            2013 04 16     CPU is not supported. Instruction 'cmpxchg16b' is missing.|

            2013 04 16     Performing HANA platform check script failed|

            2013 04 16       Performing python script failed|

            2013 04 16         Starting external program /usr/bin/python|

            2013 04 16           Command line is: /usr/bin/python /HDB/51045150/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/|

            2013 04 16           Output line 1: |

            2013 04 16           Output line 2: performing Hardware check......|

            2013 04 16           Output line 3: |

            2013 04 16           Output line 4: Traceback (most recent call last):|

            2013 04 16           Output line 5:   File "/HDB/51045150/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/", line 347, in <module>|

            2013 04 16           Output line 6:     exit(DBHwCheck().main(config))|

            2013 04 16           Output line 7:   File "/HDB/51045150/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/", line 285, in main|

            2013 04 16           Output line 8:     self.performCheck()|

            2013 04 16           Output line 9:   File "/HDB/51045150/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/", line 105, in performCheck|

            2013 04 16           Output line 10:     self.HWInfo['CPU Core Enabled']=(len(infolines)-1) / self.HWInfo['CPU Sockets']|

            2013 04 16           Output line 11: ZeroDivisionError: integer division or modulo by zero|

            2013 04 16           Program terminated with exit code 1|

            2013 04 16 command with return code 1|

            2013 04 16 command 'rm -f /tmp/'|

            2013 04 16 command with return code 0|

            2013 04 16 after fix command execution:

            ERR: Installation failed

            ERR:   Checking system requirements failed

            ERR:     CPU is not supported. Instruction 'cmpxchg16b' is missing.

            ERR:     Performing HANA platform check script failed

            ERR:       Performing python script failed

            INFO:         Starting external program /usr/bin/python

            INFO:           Command line is: /usr/bin/python /HDB/51045150/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/

            INFO:           Output line 1:

            INFO:           Output line 2: performing Hardware check......

            INFO:           Output line 3:

            INFO:           Output line 4: Traceback (most recent call last):

            INFO:           Output line 5:   File "/HDB/51045150/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/", line 347, in <module>

            INFO:           Output line 6:     exit(DBHwCheck().main(config))

            INFO:           Output line 7:   File "/HDB/51045150/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/", line 285, in main

            INFO:           Output line 8:     self.performCheck()

            INFO:           Output line 9:   File "/HDB/51045150/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/", line 105, in performCheck

            INFO:           Output line 10:     self.HWInfo['CPU Core Enabled']=(len(infolines)-1) / self.HWInfo['CPU Sockets']

            INFO:           Output line 11: ZeroDivisionError: integer division or modulo by zero

            INFO:           Program terminated with exit code 1

          • I followed the blog and it works like a charm!

            FYI, the environment variable set it temporary, once you close the session of the particular user the env variable is gone.

            open a putty session and login as root, set the environment variable, run the unified installer within the same session as root.

            Hope it helps.

    • I'm using HANA Platform Edition 1.0 SP05 in Oracle VirtualBox and get the same error as Sreeraj regarding the hardware check.

      I've confirmed that the environment variable is set correctly:

      kobol:/software/51046016-HANA10SP05_L8664/DATA_UNITS/HANA_IM_LINUX__X86_64 # env|grep IDSP


      kobol:/software/51046016-HANA10SP05_L8664/DATA_UNITS/HANA_IM_LINUX__X86_64 # python

      Python 2.6 (r26:66714, May  6 2011, 15:10:21)

      [GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux2

      Type "help", "copyright", "credits" or "license" for more information.

      >>> import os

      >>> 'IDSPISPOPD' in os.environ.keys()


      >>> exit()

      Can I please confirm with you guys that your using the same version of HANA?



      • After a bit of digging around, I think the issue is actually related to how VirtualBox presents CPU sockets and processes.  The error is actually a termination in the python script.  The IDSPISPOPD check is at the end of the script but we don't make it that far at all.

        Error message from the log:

        ERR:   Checking system requirements failed

        ERR:     CPU is not supported. Instruction 'cmpxchg16b' is missing.

        ERR:     Performing HANA platform check script failed

        ERR:       Performing python script failed

        INFO:         Starting external program /usr/bin/python

        INFO:           Command line is: /usr/bin/python /software/51046016-HANA_Plat_Edit_10_SP05_Linux86_64/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/

        INFO:           Output line 1:

        INFO:           Output line 2: performing Hardware check......

        INFO:           Output line 3:

        INFO:           Output line 4: Traceback (most recent call last):

        INFO:           Output line 5:   File "/software/51046016-HANA_Plat_Edit_10_SP05_Linux86_64/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/", line 436, in <module>

        INFO:           Output line 6:     exit(DBHwCheck().main(config))

        INFO:           Output line 7:   File "/software/51046016-HANA_Plat_Edit_10_SP05_Linux86_64/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/", line 374, in main

        INFO:           Output line 8:     self.performCheck()

        INFO:           Output line 9:   File "/software/51046016-HANA_Plat_Edit_10_SP05_Linux86_64/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/", line 115, in performCheck

        INFO:           Output line 10:     self.HWInfo['CPU Core Enabled']=(len(infolines)-1) / self.HWInfo['CPU Sockets']

        INFO:           Output line 11: ZeroDivisionError: integer division or modulo by zero

        INFO:           Program terminated with exit code 1

        The Output line 11 error regarding the ZeroDivisionError is whats stopping the script from processing.  Will have a log bypassing the various checks directly.

        Will post my results tomorrow.



      • Ok, I found the issue.  Virtual box dosen't play nice with SUSE 11 when it comes to presenting its virtual CPU socket details.  So the fails.

        To fix this update the script (the exact path can be found in the error log).

        Find the following entry and comment it out:

        self.HWInfo['CPU Sockets']=len(lines)-1

        Add the following line:

        self.HWInfo['CPU Sockets']=1

        You can manually test the check script by running the following as root:

        /usr/bin/python /<full path>/DATA_UNITS/HDB_SERVER_LINUX_X86_64/server/

        performing Hardware check......


        System Manufacturer            innotek GmbH              not supported

        System Product Name            VirtualBox                not supported

        CPU Model                      CPU                       not supported

        Memory Total                   0 MB                      not enough memory or wrong memory configuration!

        Memory Total                   0 MB                      OK

        Core count                     9                         OK

        Hyper-threading                Not active

        ### WARNING: Hyper-threading not activated or determinable!! ###

        Numa functionality             Activated                 OK


        No clipping mode on....


        Hardware check successful!!



      • I forgot to mention if you are using Oracle Virtual box you will need to shutdown your virtual machine before starting the installation and run the following command from a DOS prompt on your PC/Server:

        cd <virtual box installation location>

        VBoxManage setextradata [vmname] VBoxInternal/CPUM/CMPXCHG16B 1

        If I have any further problems, I might just switch to vmplayer =)



        • Hi Shaun,

          I tried too install hana on oracle virtual box,

          I commented the line self.HWInfo['CPU Sockets']=len(lines)-1and added self.HWInfo['CPU Sockets']=1 in the, but still i was getting the same issue.

          So i commented self.HWInfo['CPU Sockets']=len(lines)-1 and removed the new line i added and error was solved.

          During the import delivary phase of the installation i got one error

          Cannot create system

          Import of delivery units failed

          Cannot import delivery unit


          but the system is up and running when i connected through the studio, all the services are running

  • We need to test things against HANA for backup and restore and have to create and tear them down quite often. I've created a very simple script for the downloadable installer which does some preparation and the installation doesn't require user intervention. You can simply adjust it to your needs.





    IPASSWORD="yourHana1" #requires some complexity





    TMPDIR=$(mktemp -d $DATAPATH/install.XXXXXXXXXX)

    echo "Now do:"

    echo "cd <path_to_desired_version>/SAP_HANA_DATABASE"

    echo "./hdbinst --sapmnt=$HANAMOUNT -sid=$SID --root_user=root --no_debug_packages --import_content=off --shell=/bin/bash --batch --xs_engine=off --password=$IPASSWORD --system_user_password=$UPASSWORD --number=$INR --datapath=$DATAPATH --logpath=$LOGPATH --ignore="check_hardware,check_diskspace,check_min_mem" (--addhosts=otherhost(s) for scale out)"

    • Hey Heinz,

      I need to create a hana lab system in order to test a restore on it.

      I have 2 questions for you.

      1 - I need to restore a 400GB system on my lab but i don't have that much memory, do you think I can restore it with less memory than the original system?

      2 - Do you have the procedure or can you give me some hints to restore one backup from another server to this one?

      Kind regards,


  • facing error while install hana

    serverha:/dump/51046696/DATA_UNITS/HDB_SERVER_LINUX_X86_64 # ./hdbinst --ignore=check_min_mem

    SAP NewDB Installer Runtime Error:

    perl compilation error (loading SDB::Install::App::Console::Installation):

    Can't locate SDB/Install/App/Console/ in /dump/51046696/DATA_UNITS/HDB_SERVER_LINUX_X86_64/instruntime/SDBINST.TGZ /dump/51046696/DATA_UNITS/HDB_SERVER_LINUX_X86_64/instruntime (/dump/51046696/DATA_UNITS/HDB_SERVER_LINUX_X86_64/instruntime/SDBINST.TGZ /dump/51046696/DATA_UNITS/HDB_SERVER_LINUX_X86_64/instruntime contains: /dump/51046696/DATA_UNITS/HDB_SERVER_LINUX_X86_64/instruntime/SDBINST.TGZ, /dump/51046696/DATA_UNITS/HDB_SERVER_LINUX_X86_64/instruntime) at line 365

    • Hi Engelbrecht,

      Installing SAP on OpenSUSE is not supported.

      I had a number of issues with missing packages and SUSE kernel parameters.  I gave up before throwing my monitor out the window.



    • I installed it on OpenSUSE. Yes, it is a pain because it needs some extra packages (which I do not have a list of), so it was a bit of trial and error, but it works fine.

      It was more of a learning experience though. Afterwards I just used Suse Entreprise for SAP, that's much easier.

    • Hi!

      I've just succeeded with openSUSE 13.2 and HANA rev 110 for non-productive purposes:

      zypper -n in libpng12-0

      cd /lib



      cd /lib64



      Then I installed SAP HANA using hdblcmgui:

      ./hdblcmgui --ignore check_signature_file

      Let me know if it helped you or if there are additional problems too.

  • I'm trying this on a vm machine running Suse11 with Hana DB version SPS06.  Have you tried it with this version?  Also, what is the difference if I run the ./hdbinst versus the ./hdbsetup?  I'm giving this a try now with Heinz Peter Hippenstiels suggestion combined with your workaround.    Thank you so much for posting this!  I searched on SAP Marketplace and came up short until running across this blog.

      • I did see this post, but it only seems to work for HANA version 5x.  Currently we try 56 and it installs but we cannot install version 60, 63, 69.1 or72.  We cannot install and we cannot upgrade from version 56 with any of the newer versions.  According to SAP they have added additional checks in their installation software, but failed to provide output of the errors to any logs as to why the install or upgrade fails to start any of the services.  Also we are not able to manually start any of the services or database if we try installing or upgrading past version 5x (56 for us) into 6x or 7x.  Have you tried an install higher than 5x  on your own VM?

        • Hi,

          no problem with me.

          it works with 72. haven't tried 73.

          You may want to try SLES 11 SP3 and install the HANA component base.

          Hope it helps.

          • How did you provision your VM?  Our OS support team is using VMWARE 5.1, we had 10vcpus, 128GB RAM. we have local and global groups on the server, and local disk and nas.  Is there a sample OVF export anyone can share with us?  I can get the install to work on an HP certified hardware, but not on an in house grown VM.  something in the configuration of the inhouse VM and HANA installer do not play well and since they do not put any information in their log files, we have no direction to go to resolve the issue.  It gets as far as the nameserver trying to startup and then just hangs there without starting up anything else.

          • Thanks Bobby.  When you Reference "HANA component Base" where can I find more information on what this is?  I've installed HANA studio, Database/Server, LMS and AFL and imported Delivery Units after all is up and running.  But I'm  not familiar with what installing a 'HANA component Base" is that you are referencing.

  • Thanks for your blog. I got it working. I tried with less than 24GB of RAM and got nowhere fast. I also needed to copy the distribution files inside the VM. It kept getting stuck when I used a network drive.

    I am already having some fun.

    • Hi David, in your comment "it kept getting stuck when I used a network drive" which directory did you use as a network drive?  the shared, datamount, log, or /usr/sap?   What type of network drive got the install stuck?

      • Hello Linda it was an USB 3.0 external drive that I "shared" in the Virtual Machine. Then I copied the files to a local file on the host and also "shared". In both cases, it got stuck right after I was asked for a password. It was not only the install, but the whole client that seemed frozen. The interesting thing is the virtual machine was working hard... Near, if not 100% utilization. Once I transferred the installation files to the guest, it worked flawlessly according to the instructions in the blog.

  • I followed the procedure on my VMware VM .. Installation is failing @ LCM installation step with the following error:

    " Invalid values for --certificates hostname option". Not able to figure out the reason. Any help appreciated ..

  • Hello Guru's

    I am trying to install HANA Sp05 on VMware, i got below errors

    Extracting software...

    Installing package 'Python Support' ...

    Installing package 'Python Runtime' ...

    Installing package 'Product Manifest' ...

    Installing package 'Binaries' ...

    Installing package 'Installer' ...

    Installing package 'Ini Files' ...

    Installing package 'Emergency Support Package' ...

    Installing package 'Documentation' ...

    Installing package 'Delivery Units' ...

    Installing package 'DAT Languages' ...

    Installing package 'DAT Configfiles' ...

    Creating System...

    ERR: Installation failed

    ERR:   error installing

    ERR:     Cannot create Instance

    ERR:       Cannot create instance

    ERR:         Cannot create initial topology

    ERR:           hdbnsutil call failed

    ERR:             Program /usr/sap/DMO/HDB50/exe/hdbnsutil terminated with error: signal 11

    It has stopped at 36% and from there i started manually installation.

    I am having 8GB ram (out of whcih i had given 5.5 GB to VM)

    Request you to please help me with this

    • That's a segmentation fault error. Your VM does not have enough resources for HANA.

      You need more ram. I have run HANA in a VM with 16GB of ram in the past, but you should absolutely have more than that if you want to actually use HANA.

      I currently run it with 28GB of ram and it's perfectly usable.

      EDIT: The only time where I could actually use it with only 8GB of ram was just when SP3 landed. I could start HANA but couldn't use it anyway, so it was pointless. 🙂


      - Fernando

  • Hi, all

    There are lots of good discussion here. I am thinking of building a test hana server at home for practice. There are 2 SUSE enterprise server versions. One with SAP applications and one without SAP applications. The SUSE 11 SP3 with SAP applications cost a lot more than the regular SUSE 11. Can you advise if anyone has tried the normal SUSE enterprise version?



  • Hi, I can't seem to start up the HANA server. Installation is fine but it is pending because it can't resolve the hostname.

    I am not sure which hostname to use in the SUSE installation. Any ideas?



  • Hi


    Our SAP B1 HANA on Suse Linux server was infected with a virus on AWS


    we now have to restore using the disk image and will use another set of IP address for security reasons.


    Is this a fresh installation or is there a work around?

  • Hi,

    We were also able to install S/4 HANA 1709 (as well as 1809) on VM as per procedure mentioned by you.

    However, during UPGRADE scenario (S/4HANA 1709 to 1809), we are not able to bypass the hardware check message. Can there be any specific reason behind that?