Passthrough whole SATA Controller

Discussions related to using VirtualBox on Linux hosts.
Post Reply
dtgeorge
Posts: 7
Joined: 15. Aug 2015, 12:02

Passthrough whole SATA Controller

Post by dtgeorge »

Hi!

I am a bit confused about perfomance virtual drives based physically on SSD.
It is no matter - or it's raw mode or virtual image disk mode. All SSDs goodies are nearly gone (((
There are tones of bad stories about this on googled...

Now I am wondering if its possible to passthrough whole SATA IDE controller from Linux host to Windows guest. Hope that way can help me to get native SSD perfomance or not?

Code: Select all

lspci | grep -i 'sata\|sas'
00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller #1
00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2
05:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 02)
Both IDE controllers are free, because I use only LSI on host. It would be a good option to passthrough one of them to Windows guest.

I have Intel 5520 chipset (with VT-d support, L5630 Xeon and 3.19.0-59-generic kernel).

Will this work?
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Mostly XP

Re: Passthrough whole SATA Controller

Post by mpack »

No, it is not possible for a virtual machine to use the physical hardware of your host, especially since your host OS is already using it.

If you have an actual problem, why not describe it? None of us here can take responsibility for stuff you read in some blog.

Consider this: none of your other host apps need to be tweaked to run on SSD. Why do you assume that VirtualBox is different? Don't you trust your host OS to operate your hardware properly, regardless of the apps you run?
dtgeorge
Posts: 7
Joined: 15. Aug 2015, 12:02

Re: Passthrough whole SATA Controller

Post by dtgeorge »

Not possible? But what about this? https://www.virtualbox.org/manual/ch09. ... assthrough

I have two disk controllers - onboard SATA IDE and LSI SCSI.
Host system doesn't use SATA IDE (and all it ports are free), only LSI.

I tried already to passthrough controller and failed) And its not because "it is not possible for a virtual machine to use the physical hardware of your host", but because of onboard (chipset embedded) SATA IDE controller use shared IRQ (same like USB, SMBus and else, no matter)...

So next step for me is try to install to motherboard dedicated PCI-E SATA Controller (hope it will be assigned to non-shared IRQ) and try to passtrough them to vbox... The only thing is that I speak about production server and I have no another one for such experiments... So it could take a lot of time to have ocсation to do it...
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Mostly XP

Re: Passthrough whole SATA Controller

Post by mpack »

That's PCI passthrough, not SATA passthrough. And passthrough in that case means that the VM has exclusive access to the PCI slot - the host can't use it. And, most people can't get it to work.

I'm not aware of any technology called "SATA IDE". The connection is either IDE, or SATA, or it's SATA with a BIOS IDE translation service (useful last decade, probably not needed now). Sometimes your slower secondary drives (CD-ROM say) are on IDE, your faster main drives are on SATA. I guess really modern PCs may not have IDE at all.

You haven't answered what you hope to gain from this. If it's speed then I suspect you'll be disappointed. A virtualized disk controller is not going to be faster than the one your host uses natively.
dtgeorge
Posts: 7
Joined: 15. Aug 2015, 12:02

Re: Passthrough whole SATA Controller

Post by dtgeorge »

mpack wrote:You haven't answered what you hope to gain from this. If it's speed then I suspect you'll be disappointed. A virtualized disk controller is not going to be faster than the one your host uses natively.
I hope to get native ssd performance in guest Windows. Benchmarks in guest on virtual images located physically on host mounted ssd reports much lower performance, that imho could be achieved if guest Windows would have direct access to controller, to implement all modern features like ncq, trim, etc.
Rootman
Posts: 251
Joined: 1. Oct 2012, 18:29

Re: Passthrough whole SATA Controller

Post by Rootman »

Have you looked at the VMs settings for storage, there is a checkbox to specify that the drive is SOLID STATE. This should open up all the SSD commands to the guest.

While moving the VM to an SSD will generally be faster in a typical desktop host, since the hypervisor (VB) is still virtualizing the controller and disk there will never be performance on par with a physical box.

I have moved a few of my guests to SSDs for performance gains. With a single disk host this WILL improve performance radically. On a big honking server with a bunch of fast RAID disk, the performance gap would narrow.
dtgeorge
Posts: 7
Joined: 15. Aug 2015, 12:02

Re: Passthrough whole SATA Controller

Post by dtgeorge »

Rootman wrote:Have you looked at the VMs settings for storage, there is a checkbox to specify that the drive is SOLID STATE. This should open up all the SSD commands to the guest.

While moving the VM to an SSD will generally be faster in a typical desktop host, since the hypervisor (VB) is still virtualizing the controller and disk there will never be performance on par with a physical box.

I have moved a few of my guests to SSDs for performance gains. With a single disk host this WILL improve performance radically. On a big honking server with a bunch of fast RAID disk, the performance gap would narrow.
I tried all that ways. I had dedicated SSD withing host system which I use ONLY for VM... Thand I runed CrystalDiskMark several times with different options (host io cache on/off, raw disk access mode and virtual image disk mode) and found that results for random read/write (wich actualy create "SSD expirience" of OS "office usage") very low. At the same time, sequentional read/write is pretty fine, even on HDD (I think mostly because of io cache). But we don't need high sequentional read/write speed in most of generic tasksThus, the "last hope" is to passtrough SATA controller (it's a PCI device, isn't it?) to the guest )))

UPD: "SOLID STATE" option AFAIK only make vbox to report to guest system that virtual image "is" SSD, I think in some case it's important. But it's not change vbox behavior about disk operations on host system. So I think it's not a way...
Post Reply