Не выполняется резервное копирование с использованием VSS
Уважаемые разработчики, добрый день.
Версия программы 5.0, установлена как служба на Windows Server 2016. Пользователь, под которым запускается служба, входит в группу локальных администраторов. Служба Exiland Backup запускается.
Задание не выполняется, журнал выполнения ниже:
Выполнение задания "УТ 2012"
Версия: Exiland Backup Professional 5.0
Задание выполняется под учетной записью "Domain\backup"
Способ запуска: Вручную
30.11.2019 15:07:31 Начало выполнения задания.
30.11.2019 15:07:31
30.11.2019 15:07:31 Тип резервной копии: Полный (Full)
30.11.2019 15:07:31
30.11.2019 15:07:31 Сканирование исходных файлов ...
30.11.2019 15:07:31 Папка "D:\1C_Bases\8_2\Torg 2012\Bin\", Объем данных: 2 662 722 байт
30.11.2019 15:07:31 Файл "D:\1C_Bases\8_2\Torg 2012\1Cv8.1CD", Объем данных: 11 733 299 522 байт
30.11.2019 15:07:31 Сканирование завершено. Время операции: 0 сек.
30.11.2019 15:07:31 Исходных данных: 10,93 Гб (11 733 299 522 байт), файлов: 11
30.11.2019 15:07:31
30.11.2019 15:07:31 Создание временной теневой копии диска D ..
30.11.2019 15:07:31 Error: See details in "c:\temp\Exiland Backup\vshadow.txt".
30.11.2019 15:07:31 Error: Операция завершилась неудачей
30.11.2019 15:07:31
30.11.2019 15:07:31 Error: Резервная копия не была создана.
Содержимое файла "c:\temp\Exiland Backup\vshadow.txt":
VSHADOW.EXE 3.0 - Volume Shadow Copy sample client.
Copyright (C) 2005 Microsoft Corporation. All rights reserved.
(Option: No-writers option detected)
(Option: Persistent shadow copy)
(Option: Generate SETVAR script 'c:\temp\Exiland Backup\vars.cmd')
(Option: Create shadow copy set)
- Setting the VSS context to: 0x00000019
Creating shadow set {c196c340-96d3-4a92-895d-3245d01d88bf} ...
- Adding volume \\?\Volume{2f40ba71-0000-0000-0000-103e49000000}\ [D:\] to the shadow set...
ERROR: COM call "m_pVssObject->AddToSnapshotSet((LPWSTR)volume.c_str(), GUID_NULL, &SnapshotID)" failed.
- Returned HRESULT = 0x8004230f
- Error text: VSS_E_UNEXPECTED_PROVIDER_ERROR
- Please re-run VSHADOW.EXE with the /tracing option to get more details
Подскажите, что сделать, чтобы резервное коирование заработало?
Посмотрите список провайдеров, который у вас в системе.
Для этого откройте Командную строку под Администратором и выполните команду:
vssadmin list providers
Сообщите, что выдаст.
Помимо Microsoft Software Shadow Copy provider случайно нет еще чего?
Если есть - проблема в этом.
Здравствуйте.
вывод команды "vssadmin list providers"
C:\Exiland Backup Professional\BackupService\vss\7\x64>vssadmin list providers
vssadmin 1.1 - Программа командной строки для администрирования службы теневого копирования томов
(C) Корпорация Майкрософт (Microsoft Corportion), 2001-2013.
Имя поставщика: "Hyper-V IC Software Shadow Copy Provider"
Тип поставщика: Программное обеспечение
Id поставщика: {74600e39-7dc5-4567-a03b-f091d6c7b092}
Версия: 1.0.0.0
Имя поставщика: "Microsoft File Share Shadow Copy provider"
Тип поставщика: Общая папка
Id поставщика: {89300202-3cec-4981-9171-19f59559e0f2}
Версия: 1.0.0.1
Имя поставщика: "Microsoft Software Shadow Copy provider 1.0"
Тип поставщика: Системный
Id поставщика: {b5946137-7b9f-4925-af80-51abd60b20d5}
Версия: 1.0.0.7
Exiland Backup использует утилиту vshadow.exe из подпапки /vss, а она использует провайдер для теневых копий "Microsoft Software Shadow Copy provider 1.0"
Если провайдеров в системе проинсталлировано несколько (ваш случай), то утилита конфликтует с ними.
Самое надежное и пока что единственное решение - удалить из вашей системы провайдеры:
Hyper-V IC Software Shadow Copy Provider
Microsoft File Share Shadow Copy provider
оставив только
Microsoft Software Shadow Copy provider 1.0
Вот только есть опасность что что-то при этом отвалится, если используете службы, связанные с провайдерами, которые вы удалите.
Итак, откройте реестр Windows (команда regedit).
Далее HKEY_LOCAL_MACHINE –> SYSTEM –> CurrentControlSet –> services –> VSS –> Providers
Раскрыв ветку "Providers" вероятно у вас 3 подгруппы с названиями типа {b5946137-7b9f-4925-af80-51abd60b20d5}
Правый клик по "Providers" -> Экспортировать ... и укажите куда сохранить, например C:\Temp\Providers.reg
Это будет резервная копия ветки, чтобы ее можно было восстановить в случае проблем, просто запустив Providers.reg
Далее из реестра из Providers удалите 2 подгруппы, в которых есть провайдеры "Hyper-V IC Software Shadow Copy Provider" и "Microsoft File Share Shadow Copy provider".
Перезагрузите ПК.
Пробуйте Exiland Backup. Проблема должна уйти.
Не хочется таким путём идти, неправильно это. Почитал в интернете, перезапустил службу под учеткой LocalSystem, попробовал запустить копирование еще раз.
Получил другую ошибку:
02.12.2019 09:50:25 Начало выполнения задания.
02.12.2019 09:50:25
02.12.2019 09:50:25 Тип резервной копии: Полный (Full)
02.12.2019 09:50:25
02.12.2019 09:50:25 Сканирование исходных файлов ...
02.12.2019 09:50:25 Папка "D:\1C_Bases\8_2\Torg 2012\Bin\", Объем данных: 2 662 722 байт
02.12.2019 09:50:25 Файл "D:\1C_Bases\8_2\Torg 2012\1Cv8.1CD", Объем данных: 11 733 299 522 байт
02.12.2019 09:50:25 Сканирование завершено. Время операции: 0 сек.
02.12.2019 09:50:25 Исходных данных: 10,93 Гб (11 733 299 522 байт), файлов: 11
02.12.2019 09:50:25
02.12.2019 09:50:25 Создание временной теневой копии диска D ..
02.12.2019 09:50:26 Error: Temporary shadow disk "Z:\" not connected. See details in "c:\temp\Exiland Backup\el.txt". Операция завершилась неудачей, Command="C:\Exiland Backup Professional\BackupService\vss\7\x64\vshadow.exe" -el={98923da4-8204-4608-87b2-6df396f5a00e},Z:
02.12.2019 09:50:26
02.12.2019 09:50:26 Error: Резервная копия не была создана.
02.12.2019 09:50:26
02.12.2019 09:50:26 Удаление временных файлов ...
02.12.2019 09:50:26 Удалено: Временная теневая копия диска D, ID={98923da4-8204-4608-87b2-6df396f5a00e}
02.12.2019 09:50:26 Операция завершена.
В папке "C:\temp\Exiland Backup" появился файл el.txt со следующим содержимым:
VSHADOW.EXE 3.0 - Volume Shadow Copy sample client.
Copyright (C) 2005 Microsoft Corporation. All rights reserved.
(Option: Expose a shadow copy)
- Setting the VSS context to: 0xffffffff
- Exposing shadow copy {98923da4-8204-4608-87b2-6df396f5a00e} under the path 'Z:'
- Checking if 'Z:' is a valid drive letter ...
ERROR: the second parameter to -el [Z:] is a drive letter already in use!
Раз программе нужен именно буква "Z", перекинул CD на другую букву, освободил "Z".
После этого копирование с использованием VSS и без правки реестра прошло успешно.
Но без доступа к локальной сети.
Как я понимаю, учётной записи, имеющей доступ к ресурсам сети (которая не LocalSystem) не хватает каких-то специфических прав (кроме вхождения в группу локальных администраторов).
Вопрос: какие права нужно добавить учётной записи и как?
Ошибку вида "[Z:] is a drive letter already in use!" мы исправили в будущей версии 5.1. Программа неверно определяла первую попавшуюся свободную с конца букву диска.
Что касается учетки: вы писали, что если есть несколько провайдеров VSS в системе и служба стартует от LocalSystem, то проблем нет, vshadow.exe выбирает правильного поставщика "Microsoft Software Shadow Copy provider 1.0" и успешно создает теневую копию, но к сожалению, учетка LocalSystem не имеет доступа к локальной сети. Пока непонятно, как заставить утилиту vshadow.exe выбирать нужного поставщика. Если у вас доменная сеть, то можно попробовать дать право доступа для LocalSystem в локальную сеть, разрешив подключение ПК с установленной программой к другим ПК (дать право доступа не учетке, а компьютеру).
Добрый день.
Права компьютеру проверю и отпишусь. На данный момент вышел из положения, подняв фтп-сервер на удаленной машине, в таком формате с доступом проблем нет.
Хорошо.
Действительно, для доступа по FTP не имеет значения, от какой учетки стартует служба. Можно от LocalSystem. А чтобы учетке LocalSystem дать право сетевого доступа, нужно на удаленном ПК дать право на расшаренную папку не для какого-либо пользователя, а для ПК, с которого осуществляется доступ
https://qastack.ru/server/135867/how-to ... em-account