Міграція даних в Data Protection Manager.
Не так давно у мене виникла необхідність замінити дисковий сховище на DPM, так як на старому закінчувалося місце. Зрозуміло, що подібна заміна має на увазі перенесення всіх даних, що зберігаються на старому сховищі. Я вже був морально готовий до довгих мук вишукувань, але все виявилося досить просто.
Виявляється в DPM починаючи з версії 2007 SP1 є вбудований скрипт MigrateDatasourceDataFromDPM.ps1, призначений для міграції даних DPM з одного фізичного диска на інший. Він дозволяє як повністю смігріровать всі дані на інший диск, так і перенести окремі групи зберігання і навіть поодинокі об'єкти.
Примітка. Перед міграцією необхідно додати новий диск в DPM.
Для того, щоб смігріровать диск повністю, запускаємо консоль управління DPM (DPM Management Shell), виводимо всі диски DPM на сервері і поміщаємо їх в змінну:
$ disk = Get-DPMDisk -DPMServerName dpm01
Диски в змінній зберігаються у вигляді масиву, відповідно до кожного диску можна звертатися по його індексу.Зверніть увагу, що індекс може не збігатися з ідентифікатором диска NtDiskId, так якщо перший диск $ disk [0] має ідентифікатор 0, то у другого диска з індексом $ disk [1] ідентифікатор дорівнює 2.
Для запуску міграції з диска на диск виконуємо команду, яка повністю переносить всі дані зі старого диска на новий, після чого видаляє старий диск з DPM:
.\ MigrateDatasourceDataFromDPM.ps1 -DPMServerName dpm01 -Source $ disk [0] -Destination $ disk [1]
Перед міграцією варто мати на увазі, що DPM не підтримує міграцію для групи Inactive Protection. Якщо ця група містить будь-які об'єкти, то вони не будуть перенесені. Крім того, оскільки на старому диску залишаться дані, скрипт не зможе видалити диск з DPM.Лікується це тільки повним видаленням всього з групи Inactive Protection.
При бажанні можна смігріровать не всі дані , а окремі об'єкти. Принцип такий же, спочатку виводимо всі групи захисту (Protection Group) і поміщаємо їх в змінну:
$ pg = Get-DPMProtectionGroup -DPMServerName dpm01
Потім вибираємо потрібну групу, наприклад $ pg [4], і виводимо її вміст (Data Source), яке поміщаємо в ще одну змінну:
$ ds = Get-DPMDataSource -ProtectionGroup $ pg [4]
і нарешті з групи вибираємо конкретний об'єкт, наприклад $ ds [0].
Для міграції обраного об'єкта можна скористатися такою командою:
. \ MigrateDatasourceDataFromDPM.ps1 -DPMServerName dpm01 -Source $ ds [0] -Destination $ disk [1]
Ну і на завершення нагадаю, що процедура перенесення, в залежності від обсягу даних, може займати досить тривалий час. Також відразу після міграції для всіх груп захисту буде запущена перевірка консистентності.П>.