Page 1 of 1

UserManual storageattach error ? page 158

PostPosted: 11. Dec 2018, 14:43
by stes
In the UserManual on page 158 about VBoxManage storagectl it still reads (as before) :

"Some of the above changes, in particular for removeable media such as floppies and
CDs/DVDs, can be effected while a VM is running. Others, such as device changes or
changes in hard disk device slots, require the VM to be powered off."

On Solaris11.4 6.0.0r3 it was still the case for me at least that I could not add disks to the guest while the guest was running - as explained in the manual.

Is this still the case ? It seems that for me 6.0.0RC1 on Solaris I can hotadd storage on the SATA controller ... Is it a new feature ? Maybe it was already available on other host platforms before ?

Great work but if this is the case then the UserManual needs to be updated ... documentation error.
"require the VM to be powered off" should be explained further.

Also it would be nice to clarify the support in VirtualBox for hotplug for SCSI or SCSI-SAS controllers where at least on my machine the option to hotplug add disks seems grayed out - unfortunately.

Re: UserManual storagectl error ? page 158

PostPosted: 11. Dec 2018, 19:29
by mike004
Are you talking about VBoxManage storageattach, on page 157?

Re: UserManual storageattach error ? page 158

PostPosted: 11. Dec 2018, 19:40
by stes
Page 158 in the UserManual 6.0.0 RC1 which I downloaded because I think the announcement says that the UserManual was updated, so I am curious about

In the middle of page 158 under option --medium and --storagectl of VboxManage storageattach.

"Others, such as device changes or changes in hard disk device slots, require the VM to be powered off."

As far as I understand the above sentence, the UserManual implies that "device changes or changes in hard disks" require the vm to be shutdown - at least per documentation.

Re: UserManual storageattach error ? page 158

PostPosted: 11. Dec 2018, 20:28
by socratis
So would a change from:
Others, such as device changes or changes in hard disk device slots, require the VM to be powered off.
to
Others, such as device changes or changes in hard disk device slots, may require the VM to be powered off.

would be OK? Remember that hot-plugging is a relatively new addition to VirtualBox, and it may not be supported by all guest OSes. For example I don't expect anything earlier than Win7 to work, or OSX guests. Recent Linux distros should also support that. Remember that it's not the default for any of the HDs attached to a VM.

But... I have not tried any of these scenarios, I don't have the "supported" matrix available...

Re: UserManual storageattach error ? page 158

PostPosted: 12. Dec 2018, 09:50
by stes
I don't have an opinion about what would be better or worse.

I am just looking at the documentation to see what the statement about this is.

In fact as a (satisfied and longtime) user of VirtualBox I'm fine with a situation where there is no hotplug harddisk.

But now that it is present (or seems to be present) for SATA that's even better of course, but there is apparently this difference in documentation and implementation so possibly the documentation can be updated about this "feature" if we consider it a feature.

When I try on a host Solaris 11.4 vbox 6.0.0.rc1 for vm "pluto" also Solaris 11.4 vboxguest 6.0.0.rc1 the following:
Code: Select all   Expand viewCollapse view
# VBoxManage storageattach pluto  --storagectl SATA --medium "eee3513f-4194-49ff-b666-22523937261d" --port 1 --type hdd

Then this seems to work in the sense that when I look in the GUI under "storage" (settings for "pluto") VirtualBox has added a hard disk. So that works ...

Whether the guest OS supports this is an entirely different issue of course.

On Solaris 11.4 there is a manpage
Code: Select all   Expand viewCollapse view
man cfgadm_sata
about the hotplug support for SATA devices. Solaris also has support for hotplug on SCSI and Fibre Channel (of course) and also for adding/removing PCIe controllers (PCIe hotplug) by the way so it seems Solaris has excellent support for hotplug.

Anyway, on VirtualBox after adding the SATA disk, I experimented with the following which seems to work fine:

Before the device addition:
Code: Select all   Expand viewCollapse view
root@pluto:~# cfgadm -al | more
Ap_Id                          Type         Receptacle   Occupant     Condition
sata0/0::dsk/c1t0d0            disk         connected    configured   ok
sata0/1                        sata-port    disconnected unconfigured failed

After the disk addition I tried the following :
Code: Select all   Expand viewCollapse view
root@pluto:~# cfgadm -x sata_port_activate sata0/1
root@pluto:~# cfgadm -c configure sata0/1
root@pluto:~# cfgadm -al | head -4
Ap_Id                          Type         Receptacle   Occupant     Condition
sata0/0::dsk/c1t0d0            disk         connected    configured   ok
sata0/1::dsk/c1t1d0            disk         connected    configured   ok
usb0/1                         usb-input    connected    configured   ok

and the disk is usable (ie. it was added online withouth reboot to the guest "pluto" and can be used in ZFS pool) :
Code: Select all   Expand viewCollapse view
format -e
Searching for disks...done

AVAILABLE DISK SELECTIONS:
       0. c1t0d0 <VBOX-HARDDISK-1.0-16.00GB>
          /pci@0,0/pci8086,2829@d/disk@0,0
       1. c1t1d0 <VBOX-HARDDISK-1.0-2.00GB>
          /pci@0,0/pci8086,2829@d/disk@1,0
Specify disk (enter its number): ^C
root@pluto:~# zpool create qpool c1t1d0
root@pluto:~# zpool list
NAME    SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
qpool  1.98G   140K  1.98G   0%  1.00x  ONLINE  -
rpool  15.6G  3.67G  12.0G  23%  1.00x  ONLINE  -

When I try to add an additional disk I get:
Code: Select all   Expand viewCollapse view
# VBoxManage storageattach pluto  --storagectl SATA --medium "5d63e15c-5dd8-4c63-8c67-f16ea8b2ade0" --port 2 --type hdd
VBoxManage: error: The machine is not mutable (state is Running)

But this may be due to something else than the pluto guest being online, perhaps it may be the port count set to 2 only.


Anyway, the UserManual can be updated to reflect the implementation or vice versa .... what the exact limitations/restrictions or features are.

Or it may reference to "Controller" specific documentation . The situation for SATA hotplug is different than for SAS hotplug apparantly in VirtualBox.

Re: UserManual storageattach error ? page 158

PostPosted: 12. Dec 2018, 11:13
by stes
When I set the port count of the SATA controller and reinstall the Solaris 11.4 guest (via the AI automated install).

I get:
Code: Select all   Expand viewCollapse view
root@pluto:~# cfgadm -al sata0
Ap_Id                          Type         Receptacle   Occupant     Condition
sata0/0::dsk/c1t0d0            disk         connected    configured   ok
sata0/1                        sata-port    empty        unconfigured ok
sata0/2                        sata-port    empty        unconfigured ok
sata0/3                        sata-port    empty        unconfigured ok

Then if I add "hotplug" 2 disks without shutting down the guest, I get
Code: Select all   Expand viewCollapse view
root@pluto:~# cfgadm -al sata0
Ap_Id                          Type         Receptacle   Occupant     Condition
sata0/0::dsk/c1t0d0            disk         connected    configured   ok
sata0/1                        sata-port    disconnected unconfigured failed
sata0/2                        sata-port    disconnected unconfigured failed
sata0/3                        sata-port    empty        unconfigured ok

Then the disks are correctly added it seems
Code: Select all   Expand viewCollapse view
root@pluto:~# cfgadm -x sata_port_activate sata0/1
Activate the port: /devices/pci@0,0/pci8086,2829@d:1
This operation will enable activity on the SATA port
Continue (yes/no)? yes
root@pluto:~# cfgadm -x sata_port_activate sata0/2
Activate the port: /devices/pci@0,0/pci8086,2829@d:2
This operation will enable activity on the SATA port
Continue (yes/no)? yes

and
Code: Select all   Expand viewCollapse view
root@pluto:~# cfgadm -al sata0
Ap_Id                          Type         Receptacle   Occupant     Condition
sata0/0::dsk/c1t0d0            disk         connected    configured   ok
sata0/1                        disk         connected    unconfigured unknown
sata0/2                        disk         connected    unconfigured unknown
sata0/3                        sata-port    empty        unconfigured ok

and
Code: Select all   Expand viewCollapse view
root@pluto:~# cfgadm -c configure sata0/1
root@pluto:~# cfgadm -c configure sata0/2
root@pluto:~# cfgadm -al sata0
Ap_Id                          Type         Receptacle   Occupant     Condition
sata0/0::dsk/c1t0d0            disk         connected    configured   ok
sata0/1::dsk/c1t1d0            disk         connected    configured   ok
sata0/2::dsk/c1t2d0            disk         connected    configured   ok
sata0/3                        sata-port    empty        unconfigured ok

so that
Code: Select all   Expand viewCollapse view
root@pluto:~# format -e
Searching for disks...done

AVAILABLE DISK SELECTIONS:
       0. c1t0d0 <VBOX-HARDDISK-1.0-16.00GB>
          /pci@0,0/pci8086,2829@d/disk@0,0
       1. c1t1d0 <VBOX-HARDDISK-1.0-7.00GB>
          /pci@0,0/pci8086,2829@d/disk@1,0
       2. c1t2d0 <VBOX-HARDDISK-1.0-2.00GB>
          /pci@0,0/pci8086,2829@d/disk@2,0
Specify disk (enter its number): ^C

Re: UserManual storageattach error ? page 158

PostPosted: 12. Dec 2018, 14:50
by stes
I suggest that you add a small chapter below

9.4 CPU Hot-Plugging

on page 209 like "SATA Hot-Plugging". In the section on "storageattach" instead of writing that is required to shut down the vm, you could refer to the "SATA Hot-Plugging" section.