Windows Server Summit 2024
Mar 26 2024 08:00 AM - Mar 28 2024 04:30 PM (PDT)
Microsoft Tech Community
LIVE
Storage Migration Service October 2020 Update
Published Oct 20 2020 11:52 AM 16.1K Views
Microsoft

Heya folks, Ned here again. We've released our next set of features and fixes for the Windows Server 2019 Storage Migration Service, as part of cumulative update KB4580390 (Windows Server 2019) & KB4580386 (SAC 1903, 1909) This update comes optionally in the third week of October and then as part of the normal "Patch Tuesday" on November 10. Read on for details.

 

We also have big new SMS features coming in early 2021 that I'll be talking about at the Windows Server Summit on Thursday, October 29, 2020. Register now, it's free!

 

What's new

Installing these KBs on your SMS orchestrator and any WS2019 destination servers gives you:

 

  • Significant file transfer and especially re-transfer performance improvements
  • Significant inventory performance improvement with large number of files and folders 
  • Inventory validation
  • Fix for transfers failing if a source computer had an extremely large number of shares
  • Fix for the "Source not available" error when migrating account was missing permissions on shares
  • Fix for cluster network migrations
  • Fix for Windows Server 2003 inventory failure (yes I said 2003!)
  • Test for Windows Server 2008 R2 required update
  • Various Samba-Linux migration fixes
  • Various database and reliability fixes

There is also a new Windows Admin Center releasing into the feed. It includes:

 

  • A new prerequisites page to help you get ready for a migration

Capture1.PNG

 

  • Inventory validation option

Capture2.PNG

  • Automatic install of the cluster management tools on the orchestrator if not installed

Capture3.PNG

 

Capture5.PNG

  • Various ease of use and layout changes based on customer feedback
  • Note: we're also going to add automatic installation of the SMS Proxy on the destination server if not already installed, but it will be in another WAC update a few weeks after this one.

 

Sum up

I'll be updating the official SMS docs on some of these points, I know your boss doesn't believe in blogs even though I wrote both articles. :D 

 

The  KB4580390 (Win10 1809, Windows Server 2019) & KB4580386 (1903, 1909) cumulative updates are available on the Microsoft Catalog for download, and will automatically install via Windows Update in the November patch Tuesday release. Let me know how it goes. And remember, more big features coming early next year, come watch the Windows Server Summit on Thursday, October 29, 2020 to learn more

 

- Ned "grind grind grind" Pyle

46 Comments
Brass Contributor

Hey Ned,

 

I applied KB4580390 to a Windows 2019 running System Center Data Protection Manager. We are leveraging "Modern tiered storage" within DPM. I know DPM does some ReFS magic to get tiered storage to work so I was suspicious that this update might have broke something and indeed once I removed the update all was good again. It might be worth hitting up the System Center folks to see if they have tested this update.

Microsoft

@Paul Brock Ohno! Do you have a specific error or something I can share?

Brass Contributor

@Ned Pyle In DPM the volumes showed as available in the Management / Disk Storage section but when a backup tried to happen DPM said the volume was not available. I could be proved wrong that the update didn't cause the problem but when I uninstalled the update the problem went away. I didn't save the specific error message.

Copper Contributor

Hello @Ned Pyle 

 

Ever since installing this above patch I can no longer validate the source.

 

Validation error is as follows:

We can transfer data from the source computer at maximum speed. This might fail when required software updates are not installed on the source.
Fail: Error HRESULT E_FAIL has been returned from a call to a COM component

 

If this is by design and the source machine needs to have all of the current updates how will that work for EOL servers.  My source machine is a server 2008 R2 and I currently do not have the ESU purchased on this server.  Please advise 

Microsoft

@OT_Pilzz Hi. We have a couple customers reporting this, we have a workaround coming to WAC and are still trying to figure out why some folks are seeing this (we cannot reproduce the error locally). I look to have a fix out today https://docs.microsoft.com/en-us/windows-server/storage/storage-migration-service/known-issues#stora...

Copper Contributor

@Ned Pyle thanks for the update and quick reply.  Please advise once the fix has been pushed out. 

Microsoft

@OT_Pilzz workaround SMS tool just hit the WAC feed. Update, go to "adjust settings", you will see a new option to ignore validation errors. enable that, proceed, transfer should work fine

Copper Contributor

@Ned Pyle I did the update to SMS extension to version 1.115.0, but when I go back to my old saved job I do not see that option under adjust settings. 

 

 

Microsoft

@OT_Pilzz  

Clear your browser cache, browsers are pieces of garbage

Copper Contributor

@Ned Pyle that worked but it messed up my saved job.  I will re-run the scan again on the source and advise if i am able to complete the transfer once I ignore the error.  I will let you know.  Thanks

Microsoft

@OT_Pilzz it should have no effect on jobs. WAC is a sock puppet, SMS saves all state in the database, WAC just shows its state and tells it to go do things.

Copper Contributor

@Ned Pyle not sure if my previous troubleshooting caused my job to get corrupted.  I will keep you posted on my progress but i will most likely need to re-create the job.  I am just glad there is a fix now

Copper Contributor

@Ned Pyle

 

Is there already a solution for this? We wanted to use WAC with storage migration services to migrate a Windows 2008 server to a Windows 2019 server. Instead of the good old robocopy try something new. 

Unfortunately it fails on the last validation before transfer with the HRESULT EFAIL error......is the 1.115.0 extension version providing the validation skip option. We have updated to 1.115.0 and selected it in the transfer settings to skip validation and it started....after displaying the fail error first.

 

Progress does not show much yet although we have to move quite some data....

Copper Contributor

@Haassie i had to clear the cache on my browser then reload the WAC.  Once you are in the job go to "adjust settings", you will see a new option to ignore validation errors. enable that, proceed, transfer should work fine

 

@Ned Pyle I was able to complete the transfer.  My old job was corrputed or had DB corruption.  Once I created a new job, did the scan and ignored the validation errors, I was able to complete the transfer successfulyy.  Ironically it only did the differences since it was the same source and destination files.  Thanks for all your help with getting this working

Microsoft

@OT_Pilzz glad to hear it!

Microsoft

@Haassie I can't tell what your question is, sorry.

Copper Contributor

I get almost the same error when validating a migration from SBS2008 to Server2019:

 

Mislukt: Failed to transfer data from the source computer at maximum speed. Make sure that all required software updates are installed on the source.
 
When I look in the eventlog, I see eventid 5000 which doesn't seem to exist.
 
Is it safe to continue, overriding the validation?
 
Regards,
 
Rogier
Microsoft

@RogiervanderVelde Yes, please override

Copper Contributor
Microsoft
Copper Contributor

I was able to get the process started but when it got to the point of cut over it got sock at 44%

system did unjoin, rename and change IP on source server 2008r2 

the system did not go pass 44% 

I had to manually unjoin, rename change IP and join the target 2019 server 

 

there was a local account left behind by admin Center = MsftSmsStorMigratSvc

 

don't know is it safe to deleted the account it has been a week now running on new 2019 File Server and everything seems to be working find without any complains from end users

Copper Contributor

Hi Ned Pyle

 

Having issues with SMS 1.115.0, it validates but fails to scan with System.Exception. 2008R2 to 2019 all fully up to date. Got a support ticket raised, any chance you could have a peek please. REG:120120925002791

 

Thanks

Copper Contributor
Copper Contributor

I am running 2008 R2 enterprise server and migrating to a 2019 server. 

Copper Contributor

Yeah good luck.

 

I must admit I am quite disappointed with the lack of response here.

 

The support ticket I logged over 2 months ago is still unresolved and my customer is still using Windows 2008 R2 for his file servers.

 

The amount of hype raised for the Storage Migration Service to get us to upgrade to 2019 and then to Azure obviously is only hype. Too many posts in other forums saying the product doesn't work and it is best to use Robocopy.

Copper Contributor

Well it's a great concept to bad Microsoft can't make it work. 

 

Guess I will use good old Robocopy at least it works. 

 

Thanks,

cunnke

Microsoft

@Stew4rt I never noticed your comment, you sent it while I was on vacation (notice how I usually reply immediately). I will ask Support what's going on with your case. But writing impolite comments isn't the way to ask for help; I'm sure you've missed an email once or twice.

Microsoft

@Cunnke your error appears to be firewall rules blocking access to the destination server, or the server name cannot be found from DNS. When you install the SMS proxy on the destination (if WS2019) it automatically opens these ports. But if you don't, or if the destination server is WS2012 R2/WS2016, SMS won't have any access to the machine. All those failures/warnings suggest the server cannot be reached. There's more detail on this here https://docs.microsoft.com/en-us/windows-server/storage/storage-migration-service/migrate-data#step-...

Copper Contributor

Thanks I will work on this tomorrow. 

Copper Contributor

Hi Ned. Sorry if you thought my comment was impolite. I didn't, just reality. I didn't expect you to be the only person reading and responding to the comments here.

 

I would be very grateful if you could look at it, I don't think we are trying to do anything out of the ordinary with this migration, and being the one who is promoting this method to my company and customers, I'm feeling a bit disappointed at the moment. 

Microsoft

@Stew4rt I looked up your case #. I am aware of it. It was brought to our attention by your support folks (currently Javier) a few weeks ago and we've been giving them troubleshooting instructions. It's a strange issue around this registry lookup that we cannot reproduce & no one else is seeing. I was the one who gave the instruction on regedit, recently.

 

We are looking at latest logs now to see what's going on here. I'll keep replying back to your support engineer when we know more.   

Microsoft

@Stew4rt understood. It's just me here, it's a blog; I understand the frustration - as the product owner I share it. See my other reply for details on your case

Copper Contributor

Well I only have two errors now. 

 

Microsoft

@Cunnke Ah better :).

 

The SMS proxy not registering after being installed is an issue we're improving through an update to WAC in a few weeks. We'll soon automatically install the Proxy as well as re-register it if needed.

 

To fix that issue in the meantime, tho, you can either:

 

1. Go back and re-run Inventory (bleh)

2. Run this Powershell command on your orchestrator as an administrator:

 

Register-SmsProxy -ComputerName <name of your destination server> -force

Like this:

2021-02-18_15-49-19.png

 

For the other error, make sure you have fully patched the Windows Server 2008 source computer, then proceed. If you see an ECOM error, you can use the ignore option here to keep going: https://docs.microsoft.com/en-us/windows-server/storage/storage-migration-service/known-issues#stora...

 

Copper Contributor

Well I'm down to one error I have checked for updates for the 2008 server, only optional updates are available for the server. 

 

 

Microsoft

@Cunnke Great! I believe this error is a lie in your case (we have an issue here somewhere we've been seeing intermittently after a recent Patch Tuesday & honestly, I plan to just delete this test going forward). You should proceed with transfer. If it won't let you proceed, use that checkbox I talked about above to ignite the transfer validation results - it's the workaround we put in place for this issue.

Copper Contributor

Hello Ned

 

I am migrating from a windows server 2008 R2 standard to a server 2019 essentials. I downloaded the SMS and started copying everything over. It looks like all my files are there but I'm on the last step of cutting over to the new server and it fails validation. I put in settings to override transfer validation but on the validation screen it gives me this error: 

 

The destination exists.
Fail: Operation timed out. (Exception from HRESULT: 0x80131505)
We can transfer data from the source computer at maximum speed. This might fail when required software updates are not installed on the source.
Fail: Error HRESULT E_FAIL has been returned from a call to a COM component.

 

Also when trying to start the transfer anyway I get this: 

 

Unable to load configuration details for "Newserver:Domain.com"

 

For a brief second it showed me this error at the top:

 

Transfer1: Domain.newserver.com: The server was unable to process the request due to an internal error. For more information about the error, either turn on includeExceptionDetailFaults (either from ServiceBehaviorAttribute or from the <ServiceDebug> configuration behavior) on the server in order to send the exception information back to the client or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs. 

 

All firewalls are turned off and no AV installed, all updates t the servers done already. SMS updated as well.  

 

Any info is much appreciated. 

Copper Contributor

This is what I got in the Debug logs:

 

02/28/2021-15:37:18.386 [Erro] ExceptionMessage : (Operation timed out. (Exception from HRESULT: 0x80131505)), ExceptionToString: (System.Runtime.InteropServices.COMException (0x80131505): Operation timed out. (Exception from HRESULT: 0x80131505)
at Microsoft.StorageMigration.Service.DeviceInventoryTask.GetDevice()
at Microsoft.StorageMigration.Service.StorageMigrationService.CompleteDeviceInventoryTask(String jobName, Guid taskId)
at SyncInvokeCompleteDeviceInventoryTask(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)) [d:\os\src\base\dms\service\ErrorHandlerBehaviorAttribute.cs::HandleError::37]

Copper Contributor

02/28/2021-15:37:18.386 [Erro] ExceptionMessage : (The socket transfer timed out after 00:00:10. You have exceeded the timeout set on your binding. The time allotted to this operation may have been a portion of a longer timeout.), ExceptionToString: (System.TimeoutException: The socket transfer timed out after 00:00:10. You have exceeded the timeout set on your binding. The time allotted to this operation may have been a portion of a longer timeout. ---> System.IO.IOException: The read operation failed, see inner exception. ---> System.TimeoutException: The socket transfer timed out after 00:00:10. You have exceeded the timeout set on your binding. The time allotted to this operation may have been a portion of a longer timeout. ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, Boolean closing)
--- End of inner exception stack trace ---
at System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, Boolean closing)
at System.ServiceModel.Channels.SocketConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.DelegatingConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.ConnectionStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.Security.NegotiateStream.StartFrameHeader(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.NegotiateStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
--- End of inner exception stack trace ---
at System.Net.Security.NegotiateStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.NegotiateStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.ServiceModel.Channels.StreamConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout)
--- End of inner exception stack trace ---
at System.ServiceModel.Channels.StreamConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.SessionConnectionReader.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.SynchronizedMessageSource.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.EnsureInputClosed(TimeSpan timeout)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.OnClose(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnClose(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
at System.ServiceModel.Dispatcher.MessageRpc.CloseChannel()) [d:\os\src\base\dms\service\ErrorHandlerBehaviorAttribute.cs::HandleError::37]

Copper Contributor

02/28/2021-15:37:08.369 [Erro] GetTaskStatus request failed job=Transfer1 error=-2146233083: System.Runtime.InteropServices.COMException (0x80131505): Operation timed out. (Exception from HRESULT: 0x80131505)
at Microsoft.StorageMigration.Service.DeviceInventoryTask.GetDevice()
at Microsoft.StorageMigration.Service.StorageMigrationService.CompleteDeviceInventoryTask(String jobName, Guid taskId) [d:\os\src\base\dms\service\StorageMigrationService.ITransfer.cs::CompleteDeviceInventoryTask::3433]

Copper Contributor

02/28/2021-15:37:07.061 [Erro] PerformDeviceDiscovery call failed for operation=10aee821-f486-4ee0-9cd4-af1e0a150100 device=NewServer.Domain.COM error=-2146233083 e=System.TimeoutException: This request operation sent to net.tcp://localhost:28941/sms/proxy/1/devicediscovery did not receive a reply within the configured timeout (00:04:00). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client.

Server stack trace:
at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.StorageMigration.Proxy.Service.Contracts.IDiscovery.PerformDeviceDiscovery(SingleDeviceDiscoveryRequest request)
at Microsoft.StorageMigration.Service.ProxyClientBase`1.UsingClient[TResult](Func`2 func, Int32 timeoutInMinutes)
at Microsoft.StorageMigration.Service.DeviceHelper.RequestInventoryDevice(String deviceName, String sourceDeviceName, DeviceCredential credential, DeviceCredential sourceCredential, DeviceDiscoveryOptions inventoryOptions, Guid operationId, Guid proxyId, Nullable`1 sourceServerType, String sourceTestSmbShareName, CancellationToken cancelToken, SourceType sourceType, Protocol protocol, SSHCredentials sshCreds) [d:\os\src\base\dms\service\OperationManager\DeviceHelper.cs::RequestInventoryDevice::105]

Microsoft

Hi, follow the steps here to bypass this issue. We have a proper fix coming

 

https://docs.microsoft.com/en-us/windows-server/storage/storage-migration-service/known-issues#stora...

Copper Contributor

@Ned Pyle Thanks for the quick reply, I have SMS version 1.115 already installed. I rebooted both servers and checked for windows updates again with no updates available. After rebooting my Domain admin credentials wouldn't work when logging into SMS. So I tried domain.com\administrator instead of domain\administrator and that worked. Not sure if that was the issue but I've logged in again and transferring files now. There is 2.08TB of files to transfer so it has been going for about 24 hours as of now and it's at 2TB transferred now. I will try to cut to the new server as soon as it's finished transferring. As I'm typing this I don't see the KB4586793 update on my machine so I will update this manually as soon as I can and get back with the results. I appreciate you!

 

Copper Contributor

I was able to finish the transfer and start the cutover but now its stuck at 38%

Copper Contributor

@Ned Pyle Unfortunately, it never got passed 38%, so I had to reboot both servers. The old server was disconnected from the domain with the new server's name and IP address as it should be, I didn't know it would take it off the domain. I went into AD and deleted the old server account. On the new server, I changed the name and IP address to the old server's name and IP. Everything is now working as it should. Just wanted to post this so you can try to fix these issues before integrating SMS into a windows update. 

Microsoft

@TroyBracken Sorry I'm a bit late to this. It is usually one of 2 things - a known issue we fixed, or a registry setting on source: Storage Migration Service known issues | Microsoft Docs

 

We don't delete the old AD account in cutover, we re-use it (more info here) in order to preserve security. How cutover works in Storage Migration Service | Microsoft Docs.

 

We don't expect you to need to do any of those steps, something was preventing the network IP remap from occurring. We'd need you to show us logs through a CSS case to explain exactly what happened. 

Version history
Last update:
‎Nov 12 2020 05:12 PM
Updated by: