Vimalin & Vimarun Community Forums

Vimalin - automated Virtual Machine backups for VMware Fusion, Workstation and Player

Vimarun - run VMware Virtual Machines automatically

You are not logged in.

#1 2021-10-02 17:24:23

kcaine
Member
Registered: 2021-09-24
Posts: 14

Vimalin with older VMWare Player versions

Hi all

* Note: These are my own observations and opinions, and are NOT approved or checked by Vimalin, so please do NOT expect them to answer any queries beyond their recommended specifications. They can only support product that match their specifications, and if your requirements do not meet those specifications then you are on your own! Feel free to ask on the Community Forum about certain configurations or issues, but if you don't meet the minimum specification from Vimalin then they will only respond if they want to... Outside spec you are on your own!

Due to much testing and playing, I have eventually found a working method to use Vimalin (and some other tools) with older versions of VMWare Player:
* I was working with a test environment with Vimalin and realized that the calls to certain programs were linking to the (semi-obvious to advanced users) the vmrun program in the VMWare directories.
* Wil has mentioned in some previous posts that Vimalim needs the vmrun and/or VIX installation to work
* Just installing and changing somethings did not help to try setup VMWare Player 15 or before, even with certain manipulation, so eventually changed a major server to recommended settings and Vimalin worked perfectly. So product works great under recommended settings.
* But while fiddling elsewhere, on a machine that had previously failed to work, I came across this work around that worked for me (your mileage/km may vary)...
         * One of my testing machines had a copy of "vmrun.exe" and "vix.dll" versions 1.17 in the VMWare Player folder.
         * I took a chance and copied these files to a folder on another machine (with VMWare Player 12) and tried to run the vmrun commands... Amazingly it worked, with snapshot creation and a few other functions. (into the relevant VMWare Player directory)
         * I loaded Vimalin onto that machine, and it worked PERFECTLY after a few tests.

So, my suggestion if you have an older version that is not currently supported by Vimalin:
         * Try copy the vmrun.exe & vix.dll file from any other installation (my versions were 1.17) to your VMWare executable directory (Microsoft will probably bitch about permissions to a Program Files directory, but just accept the copy and let it save)
         * If you really want to test before Vimalin, then try a few tests by running the vmrun command from the command prompt. If it works there then Vimalin will likely work.

Good luck and NO PROMISES from me or Vimalin. This is just an option, nobody is taking responsibility if your system breaks!

Regards
Kevin

Note: All my current testing is on a Windows Server 2016 and a VMWare Player 12 installation.

Last edited by kcaine (2021-10-02 17:27:08)

Offline

#2 2021-10-03 07:43:24

kcaine
Member
Registered: 2021-09-24
Posts: 14

Re: Vimalin with older VMWare Player versions

* A caveat: Even after this process, I found there was still an odd permissions error on the host (from vmrun command) that sometimes occurred. I wasn't able to work around that yet, and it only seemed to relate to VMWare Player installations, even the current (at time of writing) version 16.
* The background "vmrun.exe" and linked "vix.dll" files still occasionally have problems with VMWare Player, this is not a fault of the Vimalin software but something that isn't working nicely in VMWare
* Again after many hours, the only solution (not really a solution) was to copy back a previous working version of the VM and it started working again. I really have no idea why the "vmrun" works for a while and then stops...

This only seems to apply to VMWare Player, so far all versions of VMWare Workstation tested worked correctly.

Last edited by kcaine (2021-10-03 07:44:54)

Offline

#3 2021-10-03 23:22:40

wila
Administrator
Registered: 2016-10-14
Posts: 131

Re: Vimalin with older VMWare Player versions

Hi Kevin,

My hat off to you for your experiments and getting Vimalin to work with older versions of VMware Player.

The problem with getting VIX to install and work properly under VMware Player versions before version 16.0 is the main reason that it was not viable to support older VMware Player versions "out of the box".
Basically because it is too hard to get VIX/vmrun to play nice.

Starting with VMware Player 16.x this part tends to work well and as such it was much easier for me to add support for VMware Player as well.

I'm not sure what is happening with the "caveat" part, in theory.. once the VIX part works, Vimalin should work too.
Is this the same issue as the --reload issue you talked about in your other thread or is it something else?
If you can reproduce it I can take a look at it, email me the support bundle (create from the help menu) to support@vimalin.com and maybe we can figure it out together.
At the very least I can take a look to see if something stands out to me.

--
Wil

Offline

#4 2021-10-04 19:29:18

kcaine
Member
Registered: 2021-09-24
Posts: 14

Re: Vimalin with older VMWare Player versions

There is still an issue with VMWare Player in regards to an intermittent permissions error when running the snapshot command, unfortunately these seems to happen more often in production than testing.

Start a VM with Vimrun and all seems to work well through a backup or 2... Then start hitting snapshot errors in Vimalin, extremely inconsistent and the guest OS is irrelevant. Tried with a few flavors from MSDOS 6.22 to Windows 10 - even XP and 2000 and 2 BSD distros, settled on Win NT 4 as it has VMTools and is extremely quick to test with, and smallish size - about 250Mb

My primary test environment (the movie Inception comes to mind):
* Win 7 SP1 with VMWare Player 15.5 as base (My workstation)
* Win 2016 Server as a VMWare Player Machine on same
* Win NT4 Server as a Machine on the Win2016 as the test VM environment
* Tested on the Win 2016 machine with VMWare Player 12 & 15.5, Workstation 12 & 15.5.7

Within a few tests, anything on the Players started throwing the snapshot errors and vmrun command directly reported the permission error.

In my live Production environment with Windows 2016 Server and Player 16 this was the same.

In the test Windows 2016 Server I installed a trial of Workstation 15.5.7 (also did same test on Workstation 12 with same results)... Absolutely no issues with Vimalin or even directly run vmrun commands.

I am certain that the issue, even up to VMWare Player 16, is to do with VIX/vmrun when working with Player versions. I still can't understand why vmrun command works perfectly for a while in the same environment and with the same credentials (I didn't log out during my tests), yet suddenly starts throwing these permissions errors (on multiple machines and OS's)

Even with my manual scripts, excluding Vimalin, I also started hitting this problem after about 2/3 snapshots, suspend, start. There is something "skeef" about vix access with VMWare Player.

Bottom line is that I think for your purposes VMWare Player should be excluded from the compatibility list for now.

PS: Thanks to your software I have learnt more about VMWare and command structure with their tools than I would have ever known before. I have also been busier and worked stupid late nights too smile

Offline

#5 2021-10-05 18:58:40

kcaine
Member
Registered: 2021-09-24
Posts: 14

Re: Vimalin with older VMWare Player versions

@Wil - Sorry, but I ended up writing an entire cmd script and Task Scheduler items to do what I needed, including the logging, zip, offsite sync, and email of success/failures. This is NO fault of your programs, which are great, but I just had to get around the vmrun/vix problems in Player. I will happily keep my eye on these products as they might definitely benefit future installations. Workstation versions seem to work flawlessly, but I don't legally have a commercial licence to use this in my production environments. My clients have paid for Player where ness, so we need to continue using that. All NPO stuff... So although we won't end up using your product I would like to say that this is brilliant work, and a superb tool. Through all my testing your Vimalin program and Vimarun Program did their job excellently and without failure. I will still keep my eyes on this product as my scripts cannot do "online" backups yet (I have to suspend before backup), so am eagerly awaiting new developments with VMWare Player. Although I will not purchase the products I feel you deserve something for the guidelines you have provided with your software: Please PM/Email me some contact info for me to donate at least the value of the Vimarun program (USD15), you deserve it for your responses and information provided.

Offline

#6 2021-10-06 20:45:44

wila
Administrator
Registered: 2016-10-14
Posts: 131

Re: Vimalin with older VMWare Player versions

Hi,

No worries, use what works for you.

re. the problem that you highlighted with VMware Player.

It was not very easy to reproduce, but in the end I managed to get it to misbehave.

First I installed VMware Workstation Player 16.1.2 on a Windows 2016 Server host.
Followed that up by installing the latest Vimalin.

Then grabbed a Windows 3.1 VM from a backup repository, ran it in Player and made about 5 or 6 backups with Vimalin with the VM running.
No problem so far.

So figured to step up and grabbed a Windows 7 VM from a backup, restored that one, opened Player on it and started playing Solitaire in it.
Then started the first backup.

No problem.

So started the second backup, had dinner..
Came back.

Backup done, but VM has suspended now.
Resumed it..
Started another on demand backup.
Used another VM for a bit.
Backup done.
Continued playing Solitaire.
Started backup number 4.
Completed OK
Suspend VM
Resume VM
Start a new game of Solitaire.
Start Backup number 5.
Play game.
Backup number 5 is done & OK.
Starting backup number 6
Continuing to play Solitaire, I'm getting better in it (hadn't played this for many years)
backup number 6 completes OK
Save game
Shut down VM
Start VM
start game again and continue saved game.
Start backup number 7
Backup failed "unable to take the backup snapshot"
Tried starting backup number 8
Backup failed "unable to take the backup snapshot"

Observations:
- vix log(s), nothing out of the ordinary in there. It's a noisy log file with lots of warnings, but that's normal.
- VMware log ... still investigating
- task manager ----> There's a whopping 23 vmware player processes running. Say what? ...

So I kill all the vmplayer instances.
The vmware-vmx process is still there
Started a new vmware player instance and it connects to the existing vm running when trying to start it.
So far so good.
Tried starting backup number 9
failed.

So checking the vmware.log.

The full set of events from the first failed backup is this:

2021-10-06T22:06:27.859+02:00| vmx| A000: ConfigDB: Setting guestOS.detailed.data = ""
2021-10-06T22:06:36.549+02:00| vmx| I005: SOCKET 12 (1488) recv error 10054: An existing connection was forcibly closed by the remote host
2021-10-06T22:06:36.549+02:00| vmx| I005: Vix: [mainDispatch.c:2806]: VMAutomation: Connection Error (1) on connection 1.
2021-10-06T22:06:38.857+02:00| vmx| W003: FILE: FileLockMemberValues file size failure on 'C:\VMs\Windows 7\Windows 7.vmsd.lck\M64918.lck': The data is invalid
2021-10-06T22:06:38.858+02:00| vmx| I005: SNAPSHOT: SnapshotConfigInfoLockVmsd: Failed to lock 'C:\VMs\Windows 7\Windows 7.vmsd': 'Insufficient permission to access the file'.
2021-10-06T22:06:38.858+02:00| vmx| I005: SNAPSHOT: SnapshotConfigInfoReadEx failed for file 'Windows 7.vmx': Insufficient permission to access the file (3)
2021-10-06T22:06:38.858+02:00| vmx| I005: SnapshotVMX_GetDictionaryBuffers: GetDictionaryBuffers failed. Insufficient permission to access the file (3).
2021-10-06T22:06:38.858+02:00| vmx| W003: VMAutomation: Vix unable to get snapshot tree.
2021-10-06T22:06:38.860+02:00| vmx| I005: SOCKET 13 (1596) send error 10054: An existing connection was forcibly closed by the remote host
2021-10-06T22:06:38.860+02:00| vmx| I005: Vix: [mainDispatch.c:2806]: VMAutomation: Connection Error (4) on connection 2.
2021-10-06T22:06:38.860+02:00| vmx| I005: SOCKET 13 (1596) send error 10054: An existing connection was forcibly closed by the remote host
2021-10-06T22:06:38.878+02:00| vmx| I005: Vix: [vmxCommands.c:2790]: VMAutomation_CreateSnapshot: clientFlags = 0, displayName = Vimalin temporary snapshot.
2021-10-06T22:06:38.878+02:00| vmx| I005: SnapshotVMX_TakeSnapshot start: 'Vimalin temporary snapshot', deviceState=1, lazy=1, quiesced=0, forceNative=0, tryNative=0, saveAllocMaps=0
2021-10-06T22:06:38.881+02:00| vmx| I005: DISKLIB-LIB_CREATE   : Failed to get info: no handle.
2021-10-06T22:06:38.881+02:00| vmx| I005: SNAPSHOT: SnapshotPrepareTakeDoneCB: Prepare phase complete (The operation completed successfully).
2021-10-06T22:06:38.883+02:00| vmx| I005: Vix: [mainDispatch.c:4656]: VMAutomationProcessMessage: Postpone the command. VM not running (opcode 62)
2021-10-06T22:06:38.884+02:00| svga| I005: MKSScreenShotMgr: Taking a screenshot
2021-10-06T22:06:38.951+02:00| vcpu-0| I005: SnapshotVMXTakeSnapshotWork: Transition to mode 0.
2021-10-06T22:06:42.504+02:00| vcpu-0| I005: FILE: FileLockWaitForPossession timeout on 'C:\VMs\Windows 7\Windows 7.vmsd.lck\M04078.lck' due to a local process '1104-132780243221493399(vmware-vmx.exe)'
2021-10-06T22:06:42.504+02:00| vcpu-0| W003: SnapshotMapErrno: Unexpected error code: 11
2021-10-06T22:06:42.504+02:00| vcpu-0| I005: SNAPSHOT: SnapshotConfigInfoLockVmsd: Failed to lock 'C:\VMs\Windows 7\Windows 7.vmsd': 'Insufficient permissions'.
2021-10-06T22:06:42.504+02:00| vcpu-0| I005: SNAPSHOT: SnapshotConfigInfoReadEx failed for file 'Windows 7.vmx': Insufficient permissions (10)
2021-10-06T22:06:42.505+02:00| vcpu-0| I005: SnapshotVMXTakeSnapshotWork: Transition to mode 1.
2021-10-06T22:06:42.505+02:00| vcpu-0| I005: SnapshotVMXTakeSnapshotComplete: Done with snapshot 'Vimalin temporary snapshot': 0
2021-10-06T22:06:42.505+02:00| vcpu-0| I005: DISKLIB-LIB_CREATE   : Failed to get info: no handle.
2021-10-06T22:06:42.505+02:00| vcpu-0| I005: SnapshotVMXTakeSnapshotComplete: Snapshot 0 failed: Insufficient permissions (10).
2021-10-06T22:06:42.505+02:00| vcpu-0| I005: Msg_Reset:
2021-10-06T22:06:42.505+02:00| vcpu-0| I005: [msg.checkpoint.save.fail2.std3] An error occurred while saving the snapshot: Insufficient permissions.
2021-10-06T22:06:42.505+02:00| vcpu-0| I005: ----------------------------------------
2021-10-06T22:06:42.505+02:00| vcpu-0| I005: Vix: [vmxCommands.c:2904]: VMAutomationCreateSnapshotCallback: Got CreateSnapshot callback, snapshotErr = Insufficient permissions (10:0), UID = 0
2021-10-06T22:06:42.533+02:00| vmx| I005: SOCKET 14 (1460) recv error 10054: An existing connection was forcibly closed by the remote host
2021-10-06T22:06:42.533+02:00| vmx| I005: Vix: [mainDispatch.c:2806]: VMAutomation: Connection Error (1) on connection 3.


Trying to suspend the running VM from within the attached player gives a unable to suspend error.
Shut down works.

No vmware player or vmx process is left running.
Restarting vmware player
Starting Solitaire
Starting Vimalin Backup
... works OK again it seems.

So yes, something is up there.
All those extra vmware player instances are weird.
and it seems that one of these overwrites the lock file(s).

Will investigate some more and see if there is something I can do and if not see if I can get this reported to vmware.

--
Wil

Offline

#7 2021-10-11 20:51:29

wila
Administrator
Registered: 2016-10-14
Posts: 131

Re: Vimalin with older VMWare Player versions

Hi Kevin,

In case you're still around: I have a workaround for the issue reported above.

Let me know if you want to test it.

If so send me an email at support@vimalin.com and I will get you the private test build.
--
Wil

Offline

Board footer

Powered by FluxBB