In physical PCs or servers, all devices (such as DVD and hard drives) are connected to the physical hard disk controller, which is responsible for all the I/O operations of these devices. In contrast, Oracle VirtualBox emulates these hard disk controllers. VirtualBox emulates the most commonly used hard disk controllers such as IDE, SATA, SCSI, and SAS:
- IDE (ATA) – this was the most widely used controller standard, but it has certain limitations and is now being replaced by the SATA standard. These controllers are backward compatible. So, if a guest operating system doesn’t support SCSI or SATA, it would fall back to use IDE (ATA). For each guest VM in VirtualBox, there might be one IDE controller enabled that supports or allows up to four storage devices to be connected to a guest VM. It does so by using the primary master, secondary master, primary slave, and secondary slave slots. Out of these four storage devices, the secondary device master slot is preconfigured for CD/DVD devices. If additional IDE disks are required, the VirtualBox SATA controller for the VM must be enabled in the SATA IDE compatibility mode. If you migrate a guest VM from another virtualization solution to VirtualBox, then you are expected to provide the exact controller type. In VirtualBox, you can select the PIIX3, PIIX4, or ICH6 controller type.
- Serial ATA (SATA) – the most widely used and latest drive controller standard. Compared to IDE, SATA provides both much higher speeds and more devices per controller. Also, with physical hardware, devices can be added and removed while the system is running. The standard interface for SATA controllers is called Advanced Host Controller Interface (AHCI). Like a real SATA controller, VirtualBox’s virtual SATA controller operates faster and also consumes fewer CPU resources than the virtual IDE controller. Also, this allows you to connect up to 30 virtual hard disks to one machine instead of just three, as with the VirtualBox IDE controller (with the DVD drive already attached). VirtualBox uses SATA as the default for newly created virtual machines. One virtual SATA controller is created by default, and the default disk that is created with a new VM is attached to this controller.
- Small Computer System Interface (SCSI) – this is now a popular storage connection standard. Today SCSI is still used for connecting hard disks and tape devices, but it has mostly been displaced in commodity hardware .This standard is based on a bus topology allowing up to 15 storage devices to be connected to a disk controller in a daisy chain configuration. Each of the devices is assigned a unique SCSI identifier, which distinguishes the devices from each other on the SCSI bus. VirtualBox provides emulation for BusLogic and LSI Logic SCSI disk controllers.
- Serial Attached SCSI (SAS) – another bus standard which uses the SCSI command set. As opposed to SCSI, however, with physical devices, serial cables are used instead of parallel ones, which simplifies physical device connections. In some ways, therefore, SAS is to SCSI what SATA is to IDE: it allows for more reliable and faster connections. To support high-end guests which require SAS controllers, VirtualBox emulates a LSI Logic SAS controller, which can be enabled much the same way as a SCSI controller. At this time, up to eight devices can be connected to the SAS controller.