Is there support for VSS quiescing - required for MSSQL consistency

Discussions about using Windows guests in VirtualBox.
Post Reply
asto
Posts: 3
Joined: 16. Aug 2017, 10:49

Is there support for VSS quiescing - required for MSSQL consistency

Post by asto »

Sorry if this has been asked and answered, if so please point me to the relevant post(s). I could not find it when searching. Currently running VB v5.1.26

I've been trying to find information regarding VirtualBox support for VSS (i.e. quiescing) in the VirtualBox snapshot feature (would need to involve the guest addin to invoke VSS), but I am coming up short. MS requires the use of this for DB consistency. However, I have not been able to find any information regarding this. Does anyone know if it is supported? Any documentation on this is also appreciated. Anyone have experience with MSSQL and virtualbox?
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Is there support for VSS quiescing - required for MSSQL consistency

Post by mpack »

VirtualBox snapshots have nothing to do with WIndows VSS feature. As far as I know VSS doesn't require any support from hardware, whether physical or virtual. It is entirely a disk management feature of the OS.
asto
Posts: 3
Joined: 16. Aug 2017, 10:49

Re: Is there support for VSS quiescing - required for MSSQL consistency

Post by asto »

mpack wrote:VirtualBox snapshots have nothing to do with WIndows VSS feature. As far as I know VSS doesn't require any support from hardware, whether physical or virtual. It is entirely a disk management feature of the OS.
Thank you for your reply. From it I assume that it is not supported.

As I understand it, if VSS quiescing is supported, it would need to be through the guest add-in that in turn would invoke the VSS to quiesce the system (flushing buffers and writing everything to disk "freezing" the system to make the snapshot of the applications consistent, in my case the issue is MSSQL consistency). This is how VMware and others (for instance Acronis) support it, if I have understood correctly. So, you are right, it is not HW driven, but it needs to be invoked pre-snapshot to assure application consistency for some applications. The alternative is to shut down the VM (or at least the troublesome applications in question and their services) before a snapshot or rely on the premise that in most cases it will work fine.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Is there support for VSS quiescing - required for MSSQL consistency

Post by mpack »

There is nothing to support. VSS is a feature of Windows, and has nothing whatever to do with VirtualBox snapshots.

Unless your original question was badly worded and you were originally only asking if VirtualBox on the HOST will flush file buffers in response to a VSS event? The answer is (a) I don't really know (b) I doubt it, since VirtualBox tends only to use cross platform features (c) you can find a definitive answer in the source code.
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Is there support for VSS quiescing - required for MSSQL consistency

Post by scottgus1 »

asto wrote:The alternative is to shut down the VM (or at least the troublesome applications in question and their services) before a snapshot
Be sure you understand what a Virtualbox Snapshot actually is. Virtualbox Snapshots do not work as backups. They are similar to Windows' System Restore points: they are essentially new disk files generated on the host disk drive at the moment the snapshot is taken, and which receive new information being written to the guest's "hard drive". They do not store "files", like a backup folder would. Virtualbox snapshots store changed disk sectors, which may or may not contain the entire file. The new "snapshot disk" is a mask, which covers the old disk file, and when the guest OS calls up data in a particular disk sector, Virtualbox looks in the newest snapshot first, then the next snapshot, etc. down to the original disk file. There's more to snapshots, but roughly speaking the above is what they are. No VSS needed. A guest that has no idea about VSS or anything else since 1990 (think DOS) can have Virtualbox snapshots.

They should only be used on guests you're experimenting with and with data you wouldn't mind losing. (The forums are replete with users destroying their important data because they did something wrong with a snapshot.)

If you are really after backups, then Snapshots are the wrong place to look. Get in-the-guest backup software compatible with your databases if you want live guest backups. Or shut down the guest and do a folder copy of the whole guest folder: see Moving a VM and re-interpret it as "Backing Up a VM".
asto
Posts: 3
Joined: 16. Aug 2017, 10:49

Re: Is there support for VSS quiescing - required for MSSQL consistency

Post by asto »

Thank you for your reply, I very much appreciate the information.
Just to clarify: This is not intended as a backup solution for production data. Actual SQL backups are used for DR. I am after snapshot functionality primarily for testing purposes and I was after information regarding any support for quiescing on MS platforms, which I understand is not used by Virtualbox. This is not a problem, if it is known.
Last edited by socratis on 22. Aug 2017, 16:46, edited 1 time in total.
Reason: Removed unnecessary verbatim quote of the whole previous message.
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Is there support for VSS quiescing - required for MSSQL consistency

Post by scottgus1 »

asto wrote:snapshot functionality primarily for testing purposes
Ok, seems like you are understanding what a Virtualbox snapshot is. Remember, it's for being able to roll back an OS to a previous situation, not to be able to back up the OS in case of disaster. And keep the snapshot use limited to testing situations, not production systems.

Snapshots don't need to have VSS or 'quiescing'. The guest OS does not know it has been snapshotted and will never know (unless the operator does something unusual with the snapshot). Remember that snapshotting is possible and supported on OS's that don't have VSS built in. Your databases will run fine in a snapshotted guest.
Post Reply