===== Проверка статуса миграции файлов виртуальных машин Hyper-V между хостами через BITS =====
{{:powershell:microsoft-hyper-v:pasted:20180313-063937.png }} При переносе выключённых виртуальных машин [[microsoft-hyper-v:|Hyper-V]] с большим количеством объёмных виртуальных дисков с одного хоста на другой с помощью [[microsoft-system-center:virtual-machine-manager|System Center VMM]] мы можем наблюдать общий статус переноса в котором фигурируют цифры "в среднем по больнице".
{{ :powershell:microsoft-hyper-v:pasted:20180307-152744.png }}
Если возникает желание посмотреть то, в каком состоянии находится в данный момент процедура копирования отдельных файлов в **BITS**, можем воспользоваться **PowerShell**. Выполнять команду нужно на принимающем хосте.
Чтобы посмотреть все джобы VMM:
Get-BitsTransfer -AllUsers `
| Select -Property Description, JobState, JobId, BytesTotal, BytesTransferred, `
@{L='% done';E={"{0:N2}" -f (($_.BytesTransferred*100)/$_.BytesTotal) }} `
| Where {$_.Description -eq 'VMM LAN Transfer Job'} | ft -AutoSize
Чтобы посмотреть только те джобы, которые всё ещё выполняются:
Get-BitsTransfer -AllUsers `
| Select -Property Description, JobState, JobId, BytesTotal, BytesTransferred, `
@{L='% done';E={"{0:N2}" -f (($_.BytesTransferred*100)/$_.BytesTotal) }} `
| Where {($_.Description -eq 'VMM LAN Transfer Job') -and ($_.JobState -eq 'Transferring')} `
| ft -AutoSize
В результате получим примерно такой вывод:
Description JobState JobId BytesTotal BytesTransferred % done ----------- -------- ----- ---------- ---------------- ------ VMM LAN Transfer Job Transferring 16e...9d8 1679269298176 12109479931 0,72 VMM LAN Transfer Job Transferring 351...418 1691885764608 37122211823 2,19 VMM LAN Transfer Job Transferring 2eb...811 1746109726720 19977207799 1,14Чтобы вывести списком информацию о всех джобах с данными о передаваемых файлах
Get-BitsTransfer -AllUsers `
| Select -ExpandProperty FileList -Property Description, JobState, JobId, `
@{L='% done';E={"{0:N2}" -f (($_.BytesTransferred*100)/$_.BytesTotal) }} `
| Where {$_.Description -eq 'VMM LAN Transfer Job'} | fl
Открытым остаётся вопрос того, почему командлет **Get-BitsTransfer** в параметре **BytesTransferred** может возвращать плавающие (как в сторону увеличения, так и в сторону уменьшения) значения. Вопрос озвучен здесь: [[https://social.technet.microsoft.com/Forums/ru-RU/64c4777d-a12b-4b92-9f7b-7563841bcc03/-bytestransferred-getbitstransfer-?forum=scrlangru|Что происходит с BytesTransferred в Get-BitsTransfer ?]]
----
Дополнительные источники информации:
* [[https://blogs.technet.microsoft.com/cmpfekevin/2014/01/29/troubleshooting-bits-with-powershell/|Troubleshooting BITS with PowerShell]]
----
Проверено на следующих конфигурациях:
^ Версия ОС ^ Версия PowerShell ^
|Windows Server 2012 R2 Datacenter (6.3.9600) | Windows PowerShell 4.0 |
----
{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 07.03.2018 15:26
{{tag>Windows "Windows Server" PowerShell BITS Hyper-V VMM SCVMM}}
~~DISCUSSION~~