Change HDD controller from SATA to SAS

Whonix specific. I’ve found out that my Workstation virtual machine works significantly faster when I use SAS (LsiLogic SAS) virtual controller instead of SATA (AHCI). The type of I/O controller can be changed in VirtualBox VM settings.

When Whonix VM uses SATA (AHCI) controller then Linux kernel on a VM uses driver for Intel 82801 HM/HEM SATA Controller (ahci) which does not support I/O virtualization according to the specifications so it means that data transfer inside the VM will be very slow.

https://www.intel.com/content/www/us/en/products/sku/29824/intel-82801hem-io-controller/specifications.html

When Whonix VM uses SAS (LsiLogic SAS) virtual controller then Linux kernel inside VM uses driver for Broadcom LSI SAS1068 PCI-X Fusion-MPT controller (mptsas). Accodring to the description on Broadcom website:

https://docs.broadcom.com/doc/12353452

The LSISAS1068 eight-port controller provides 1.5 and 3Gb/s
data transfer rates per port

also

In addition, the LSI SAS controllers leverage an electrical and physical connection interface that is compatible with Serial ATA technology.

which means that LSI SAS logical controller inside VirtualBox can be used even when a host physical machine uses SATA interface for hard disk drives connections.

I tried to start upgrade-nonroot both with SATA and SAS controllers and I found out that linux-image and linux-headers were installed 10 times faster when I used SAS.

1 Like

This is same as --add sas? Then we were using this in the past but it was reverted due to an issue.

references:

https://www.virtualbox.org/ticket/10031