2012 – James Batchelor https://james-batchelor.com Useful I.T & VoIP Ramblings Wed, 14 Dec 2016 19:19:55 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.5 https://james-batchelor.com/wp-content/uploads/2025/05/cropped-cropped-logo-jb-202505-32x32.png 2012 – James Batchelor https://james-batchelor.com 32 32 Windows 2012 Server Backup 0x80780119 Error https://james-batchelor.com/index.php/2016/12/14/windows-2012-server-backup-0x80780119-error/ Wed, 14 Dec 2016 19:19:55 +0000 http://james-batchelor.com/?p=516 Continue reading "Windows 2012 Server Backup 0x80780119 Error"]]> While setting up a backup solution for my home network, I had an issue where my Windows Server 2012 R2 backup task would fail, with the following status:

“There is not enough disk space to create the volume shadow copy on the storage location. Make sure that, for all volumes to be backed up, the minimum required disk space for shadow copy creation is available. This applies to both the backup storage destination and the volumes included in the backup.

Minimum Requirement: For volumes less than 500 megabytes, the minimum is 50 megabytes of free space. For volumes more than 500 megabytes, the minimum is 320 megabytes of free space.

Recommended: At least 1 gigabyte of free disk space on each volume if volume size is more than 1 gigabyte.

Detailed error: Insufficient storage available to create either the shadow copy storage file or other shadow copy data.”

This doesn’t really explain the issue, as setting up a schedule with Windows Server Backup in 2012 involves the utility checking available storage before creating the backup task, and a manual check showed there was ample storage on the destination volume, with the source volume having 86% free space.

Delving into the Event Viewer for more detailed error message, I get this:

0x80780119 pic1

“The backup operation that started at ‘‎2016‎-‎12‎-‎09T06:00:14.502000000Z’ has failed because the Volume Shadow Copy Service operation to create a shadow copy of the volumes being backed up failed with following error code ‘0x80780119’. Please review the event details for a solution, and then rerun the backup operation once the issue is resolved.”

The internet has a lot of theories and solutions, with the most common workaround being disabling security to perform a backup. This can be incorporated into a batch file and triggered by task scheduler, but its fiddly and leaves the system open while backups take place, lucky I discovered a simpler and more secure solution.

It seems the error is being generated due to Volume Shadow Copy service (VSS) being assigned a drive volume that does not have enough free space, on a default install of Server 2012, that volume is the System Reserved partition.

To complicate matters, the Disk Management utility does not report the amount of free space.

0x80780119 pic2

To find out, open a PowerShell window and enter Get-Volumes to see the below:

BackupError03

Here the Recovery partition only has 30MB of free space, below the required amount specified in the original error message.

To fix, go to the drive properties in My PC, and choose the Shadow Copy tab, then in the Select Volume box, choose a volume that has enough free space, in this example the C drive.

0x80780119 pic4

Once applied, the backup will complete:

0x80780119 pic5

]]>
2 Servers 1 UPS, Windows 2012 Edition https://james-batchelor.com/index.php/2016/05/29/2-servers-1-ups-windows-2012-edition/ Sun, 29 May 2016 22:47:53 +0000 http://james-batchelor.com/?p=404 Continue reading "2 Servers 1 UPS, Windows 2012 Edition"]]> In a previous post I showed how to shutdown two servers safely using just one UPS with a single communications port. It was pretty straight forward with the comms port connected to a Windows Server 2003 machine.

But doing the same with Windows Server 2012 is much more difficult, since Microsoft decided to remove the ability to run a program on a low battery event from its power management settings. To make things worse I discovered that a bug in Server 2008 and later meant that issuing a Shutdown command from the native power settings would not perform a clean shut down, instead killing the power in a few seconds. This is not good news for RAID arrays and data integrity.

Time for a new solution, and since Microsoft are of no use, help would need to come from a 3rd party. After research and testing answer came from Shutter, a small program that runs as a trigger and event type program for a variety of different scenarios, with battery discharging status being one. Luckily two instances of the program could be run, one to shut down the remote servers and another for the host machine. Importantly the program can also be run as a Windows service, but more on this in the walk through.  here is how it is done:

Download the portable version of Shutter from den4b.com.

In the Windows directory, create a new folder, here it will be named ups.

In that folder create another 2 folders, one will handle the local server shutdown and the other for remote servers.

Copy the contents of the downloaded Shutter zip to both of the folders.

Before opening the program for the first time, create a .bat that will issue commands to shut down servers. Open Notepad and enter the following text:

shutdown /s /f /t 10 /c “Battery Backup Low”

This is for shutting down the host server. To save, select the folder to be used for host shutdown, in the file type menu select All files, and create a file name with it ending in .bat

Do the same for remote server shutdown using this script, and save to the remote folder:

shutdown /s /f /m \\SERVER /t 10 /c “Battery Backup Low”

Replace SERVER with the name or IP address of the other server running on the UPS.

Now go to the local shutdown folder and open Shutter.

In the events box, add battery and choose a trigger percentage and add. In the action box, choose run a program, and locate the .bat file you created for shutting down the host server.

Shutter

Important: Go to the settings window and copy the following options:

Shutter Options GeneralShutter Settings Advanced

Save settings and the program can now be closed. Repeat these steps to shut down the remote server, it’s essential to set the battery percentage trigger higher for remote server as they will not get the signal if the host server has already shut down, I recommend at least 5% higher as a safety net especially if the UPS battery drains quickly.

As a power outage is an unpredictable event, Shutter needs to be running at all times on the host server, therefore it needs to be ran as a system service. Microsoft did release a tool that could allow any program to run as a service, however it is very basic and will not restart a program if it happened to crash. Lucky a superior utility by the name of NSSM is available that takes this into account, it also has a more user friendly interface to set up services.

Download the latest release of NSSM and place in the main folder created previously, as it needs to be run alongside the Shutter instances.

From a Command Prompt, navigate to the folder holding the program, by using cd, then a space and the full path to the folder, e.g: cd C:\Windows\ups

Type nssm install and enter, and the new service setup screen will appear.cmd nssm

Choose the Shutter program to run, and create a name to the process, additional details can be made in the Description tab.

nssm install

Move to the login tab and select Log on as, then use an account capable of administrator access and password details.

Click create service and its installed, repeat the process for the other shutter program, giving it a different service name.

By default, these newly created services will start when Windows starts, but need to be started manually when first installed. To start them, the simple option is to restart the machine, but much better would be to press the Windows key & R, then type services.msc and click Run. Scroll down the list to the created services, right click on each and choose start.

Testing

It’s worth testing to see if it works rather than just hoping it does. And to save the wait for the batteries to discharge its worth raising the trigger values on Shutter to shut down the machines earlier, this also gives the benefit more charge left if the shutdown does not work.

Before opening Shutter to change values, the services need to be stopped. Open services.msc like before and chose stop against the service.

Make the changes in the action box, its recommended to choose somewhere between 70 and 90 percent. Close the programs and start the services back up. Then testing is as simple as unplugging the UPS from the wall, for security the host machine can be left logged on to monitor the remaining battery percentage so you know when the trigger points are happening.

]]>
2 Servers, 1 UPS https://james-batchelor.com/index.php/2015/12/10/2-servers-1-ups/ Thu, 10 Dec 2015 14:10:32 +0000 http://james-batchelor.com/?p=382 Continue reading "2 Servers, 1 UPS"]]> 2 Servers, 1UPSWith the new server up and running it seemed fitting to connect it to my UPS, and thanks to the low power consumption of the HP Microservers I still get around 40 minutes of battery only time with both servers running before the UPS runs out of juice.

Unfortunately, the UPS in use only has one monitoring port which is connected to my original server, meaning during a spell of prolonged power outage, the new server will not know when to shut down safely and will continue to run until the UPS runs out of battery supply, leaving it vulnerable to data corruption that affected the original server prior to battery backup.

But with a simple script and some setup both servers can shut down safely before the batteries run out.

The Idea is to have a script sent from the host server with instructions to shut down the other server when the battery level runs low, luckily Windows gives the ability to run a program on low and critical power level notifications, with adjustable power level triggers.

The most important factor with this idea is that the host server is able to communicate and send the script to the other server, in my current setup both servers are connected to the main network switch that does not have battery backup, meaning that during a power outage the servers will be unable to communicate and therefore unable to shut down safely.

The simple solution was to introduce another switch close to the servers that has power provided by the UPS, for this I chose a NetgearProsafe GS105 and connected both servers to it, with an uplink to the main switch. This also has the advantage of removing traffic away from the main hub when backups between servers take place.

Netgear Prosafe GS105, powered from the UPS
Netgear Prosafe GS105, powered from the UPS

With the servers connected via a backed up power source, it is time to create the shutdown command. On the host server connected to the signal of the UPS, create a .bat file using Notepad with the following line:

shutdown /s /f /m \\MACHINENAME /t 10 /c “Battery Backup Low”

This script tells the computer MACHINENAME to force a shut down in 10 seconds regardless of who is logged in, for those that are the message “Battery Backup Low” will be displayed. The script was then saved to the Windows directory to help avoid accidental deletion.

From the host server, open the power settings from the Control Panel, on the Alarms tab choose Alarm Action on the Low battery alarm field. Check the Run program box and choose the .bat file created to run on the low battery alarm. I chose the Low power instead of Critical to allow the other server to shut down as the Critical would be reserved for the host server itself to shut down.

Power Alarm Settings
Power Alarm Settings

For testing I chose to put the alarm settings pretty high, which makes the process quicker and also allows more time for a safe shutdown when on battery power. Apart from that the only way to test is to kill the power from the wall and see what happens, look for the other server setting down first as it will hit the Low battery first, then wait for the host server to shut down later. Expect the host server to last a little longer than expected as with the other server shut down, the battery life doubles on two identical machines when one is off.

]]>