VirtualBox | SATA vs SCSI

Recently I tried to build a cloned instance of our production instance over VirtualBox for some emergency issues faced by our inventory module. As this instance was supposed to be only accessed by me, I opted to use my desktop machine for the same. Throughout the last many years I built my own machines, choosing the best available hardware at the time of building them. My current desktop configuration is like following

i7 processor, 16GB memory, 2x1TB 7200 RPM HDD, 2x2TB 5200 RPM HDD, 1x500GB HDD for the OS (Windows 8.1 64Bit)

and throughout the years I built dozens of Virtual Machines using Oracle VirtualBox, mainly for testing un-certified Oracle & other products in a sand-boxed environment, against the crippled VMplayer, VirtualBox’s unrestricted interface supported almost everything I needed from a virtual environment.

So I built my R12 instance, that is around 600GB roughly in size with almost 4.5-5 years of business data, media etc. The following resources were dedicated for the fresh VM

  • 4 processors
  • 10GB memory
  • 40GB fixed size SATA VDI for the Operating System (I used both OEL 5 & OEL 7 64bit)
  • 1.2TB fixed size SATA VDI for the instance files
  • A dedicated D-Link 10/100MB NIC

Once the instance came online, I removed, cancelled all the scheduled concurrent programs, changed the database level parameters like job_queue_processes etc, however the lag experienced throughout the access attempts remained the same. Sometimes the HTML pages took 5-6 minutes to open, forms based modules took 8-10 minutes to open and timeouts were happening, frustrating me to the most possible levels

That is when I decided to give VMPlayer a try, I converted the existing VDI for the OS as vmdk and created a fresh 850 fixed size vmdk for the instance files and attached the same as SCSI to the VM. Did the complete clone process and to my utter surprise, the login page loaded within a minutes once after the instance was started!

This lead me to do various attempts with the fresh instance, I was able to shutdown the instance much faster, forms were opening faster, though LOVs having more than thousands of items were taking more time than anticipated

Once again, I created another fresh VM with VirtualBox and attached the disks created for VMplayer with it and repeated the tests. Well, I got the same performances from the new VM and somehow I came to a conclusion that, both VirtualBox and VMPlayer provide better I/O for SCSI interfaces compared to plain SATA emulators, ironically, the disks were created over SATA drives!

This difference you may not experience with VMs those are not hosting resource hungry applications like Oracle E-Business Suite. So, if you are attempting what I had described above and notice the differences, please update me with comments section.







5 thoughts on “VirtualBox | SATA vs SCSI

  1. Iudith Mentzel

    Hello Rajesh,
    I am following after your posts on the various issues related to VirtualBox, just trying to learn some basics, since I am a total beginner on the issue and try to understand it better.

    Specifically, I would like to know which software are you using for creating the VDI or VMDK files.
    Is there something generic or specific for Oracle applications only ?

    I am looking for how can I make a “full export” of an XP SP3 machine, to convert it into a virtual machine that I can use with
    VirtualBox, hosted on Windows7.

    I have seen much contradictory information on this issue,
    so I would be very grateful if you could point me to some links
    that explain precisely how this can be done.

    Thanks a lot in advance & Best Regards,

    1. Hello Iudith
      It’s nice to hear from you after a long time! Lemme try to answer each of your questions

      Specifically, I would like to know which software are you using for creating the VDI or VMDK files.
      Is there something generic or specific for Oracle applications only ?

      Usually a .VDI or .VMDK (two different architectures for virtual hard disks) is created when you create a virtual machine itself, or you may attach an existing virtual disk to a new/existing virtual machine. In my case, my virtual disks are of huge sizes, like 850-1000GB in size, with fixed sizes. While you create a virtual disk, you are given two options, whether you want to create a virtual disk with “fixed” size or “dynamically” growing size.
      If you chose a “fixed” size disk, depending upon the size of the disk you are trying to create, reserving the full space for the disk could take hours (based on the hardware resources of your computer, processing power, available memory, hdd rpm etc). These kinds of disks are better for best I/O as the whole disk is prepared and kept ready as exactly like a real HDD itself. A dynamically growing disk will expand itself as and when required. For example, if you define a 40GB dynamically growing disk, the actually physical storage consumption after Windows XP/Linux 5 installation may be just 4-5 GBs in total, and that is the amount of physical storage consumed from your physical HDD, however the dynamic disk can grow up to a size of 40GB when required. On the other hand, if you define a disk with 40GB fixed size, once after the disk created, whole 40GB of physical storage space will be reserved for the virtual disk
      VirtualBox prefers .vdi format for the virtual disks when the leading player for commercial deployments, VMware recommends the usage of .vmdk. Creating a .vmdk could be more usability wise approach as you can attach .vmdk disks with both VirtualBox and VMPlayer (free version of VMWare). Now don’t panic, you can convert an existing .VDI to .vmdk with VirtualBox clonehdd command.
      I’ve been building virtual machines for testing Oracle E-Business suite deployments, and these deployments are resource hungry beasts. Not at all recommended over a desktop machine (Unless you are trying out a Vision instance)
      What I found that I started getting 70-80% performances gain when I used .vmdk virtual disks attached as SCSI disks, against .vdi disks attached as SATA. I posted my concerns with Oracle and as usual they are at a dismissive mood, calling it as an isolated event. You see, this is one of the reasons I always go against the geeks at Oracle and try to prove them that many of them should seriously think about retiring ;)

      I am looking for how can I make a “full export” of an XP SP3 machine, to convert it into a virtual machine that I can use with VirtualBox, hosted on Windows7.

      Please check the above link, and I will suggest you VMWare to do this job. VMWare is the best hypervisor available in the market right now and our total virtualized infrastructure were built upon VMware, by converting physical machines to Virtual Machines

      If you have any particular doubts, please shoot me a mail  and I will be more than happy to try to answer you.

  2. Iudith Mentzel

    Hello Rajesh,

    Thanks a lot for being so kind and supplying me really useful information.
    You see, I am only at the “theoretic level” yet, and using Oracle’s
    VirtualBox sounded very promising for me, as I will probably use it
    for testing with the Oracle supplied development VM packages,
    which seems to be the easiest way to obtain a database for somebody who IS NOT a DBA …
    This is one project for me.

    The second one, somehow independent from the first, is that of “preserving” my old good XP machine with all what is installed
    on it …

    I hope that if I will have to use VMPlayer as the better choice for
    doing this, then VMPlayer and VirtualBox will be able “to live in peace” on the same machine.

    Another detail is that today my XP machine is always logging me to a Network after it is booted, but what I really want is that the virtual
    disk image I will create from this XP machine to be able to run
    in a virtual machine (any of them) on a host PC (or laptop)
    which will NOT be connected to any Network.

    I want to hope that this will not be a problem.

    Also, I still have to make some research/learning to understand
    how can I connect from this XP virtual machine which has
    only Oracle client installed, to a database that will most probably be installed on another virtual machine, or on the host machine
    on which the virtual box (or VMPlayer) will be running.

    In short, a lot of issues to be clarified, mostly arising from my
    not being a DBA and not having a complete understanding
    of all the involved components.

    My “factory” is a much smaller size than the huge projects you
    are dealing with … and, probably a much easier solution would
    be to install everything from the beginning on a new machine …
    but I know that installing Oracle developer is not always a small and simple issue … that is why I thought that virtualizing the XP which
    already has everything installed might be a workaround for some
    of the potential problems.

    I wish I could have worked in a team with somebody like you,
    with so much technical knowledge … but I had no such chance …
    I am only a developer … so getting to master all the technical aspects that I have never been involved with, is quite a challenge :):)

    When I will arrive to the point to really trying things out,
    I am sure that I will still have a lot of questions.

    Thanks a lot again, good luck and my best regards,

    1. Hello Iudith
      I don’t know, I really don’t know why “DBA” becomes a Godly figure ;) while I personally assess a developer far above a mere DBA’s level, unless, unless there is a true crisis. We are using Oracle databases from 1997 onwards and trust me, the DBA(s) other than those who work with mission critical data, many a times a developer may know more than a DBA (experience talks ;) )

      Well Virtualization using VirtualBox is a child’s play, trust me when I say that :) I will create a video sample for you, demonstrating how easy it is. Before retiring for the day, lemme tell you, think of a huuuuuuuuuuge dining table (Your desktop computer), you the lone diner (Your limited activities)…You are wasting the table actually. Most of the hardware is wasted for such limited activities, where virtualization helps the investments to return the maximum possible. Said, you plan your hardware, squeeze the maximum juice outta it (Wisely ;) )


  3. Iudith Mentzel

    Hello Rajesh,
    You are completely right, and I agree with you 100% …
    “DBA” is NOT at all a Godly figure, by any means not, especially
    if I judge by the “dba”-s that I have encountered over the years …

    But, though I belong formally to a dba team, they have avoided
    very carefully and deliberately that I become even 5% of a dba,
    in the sense that I will be able to install and maintain a database …
    so I only deal with application and performance issues.

    Most of the time the dba-s are busy with “extinguishing fires”,
    cloning and backing up databases and running scripts that the developers miss the privileges to do by themselves …
    so, indeed, nothing too attractive …

    In fact, I am preparing to retire from work, because, strangely
    as it may sound, they do not need me here any more …
    they have already found all the “genius-es” needed for doing
    everything …
    And, though I neither want nor will ever become anything close to a dba … I will have to be able to do some minimal things,
    namely, installing a database and maintaining it for my own private
    purposes only, without encountering any problems that I will not be able to solve.

    Maybe today I am already wrong, but I know from the past that
    installing Oracle was always accompanied by some issues that appear here and there, and for which many times emergency help
    had to be requested … maybe it was just my impression, because
    people around me were not professional enough for what they were doing …
    For example, I know that several years ago there was an attempt to install Oracle Forms11g and they gave it up, because they could not overcome some installation problems with WebLogic …

    In fact, Oracle Forms10g and even Forms6i are also tools that I will
    like to have for myself, and I even know that they can be installed on Windows7 using some tricks …
    After so many years of specializing with them, you can easily imagine that I will not give up using them, though I will also want to
    learn additional things, simply for my own pleasure.

    I want to hope that using VirtualBox will indeed answer some of my
    projects in an easy way ( for one like me, anyway ! ).

    I am still in doubt with myself whether it’s better to use a database in a VM ( through the Oracle demo VM development package ),
    which means being kind of “using it blindly”, as I have no Linux knowledge at all, but enjoying the advantage of always being able
    to easily revert back if something goes wrong,
    or, instead, to go for a complete database installation on the Windows machine itself, or maybe both, for different purposes …

    Anyway, I will have to start doing some tests, to see how I will be able to cope with it, and, at least, step out from the darkness …

    Thanks a lot & Best Regards,

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.