Магнитные ленты, используемые в ленточных библиотеках для резервных копий данных - существа крайне хрупкие. И в один прекрасный день есть риск получить Tape Alert от драйва, означающий проблемы с поверхностью и, учитывая стоимость данных, ее нужно как можно быстрее заменить. Разберемся, как правильно делать это, если сверху еще и работает NetBackup.
Тестовый стенд выглядел следующим образом:
-
Мастер-сервер с Symantec NetBackup 7.5
-
Библиотека StorEdge C2 и соответствующий ей Storage Unit
-
Старая лента X188L2 и новая X186L2 в Volume Pool DataStore
-
Дисковый Storage Unit diskpool
-
Тестовая политика test-backup
Ищем бекапы
В первую очередь нужно опеределить, что за бекапы лежат на ленте и какой объем они занимают. Это делается через утилиту bpimmedia:
bash-3.00# /usr/openv/netbackup/bin/admincmd/bpimmedia -L -mediaid X188L2
Backup-ID Policy Type RL Files C E T PC Hold Indexing Expires
Copy Frag KB Type Density FNum Off Host DWO MPX Expires RL Hold MediaID
-----------------------------------------------------------------------------------------------------
unknown_1372765671 test-backu FULL 1 11 N N R 1 0 0 15:47 07/16/2013
1 1 1312 RMed hcart3 1 2 unknown 0 N 15:47 07/16/2013 1 0 X188L2
Как видим, у меня на ленте единственный образ от политики test-backup и занимает он 1,3 Мб - сложив эти размеры можно оценить требуемый размер дискового пула (если в библиотеке всего один драйв).
Делаем копии резервных копий
Для библиотек с двумя драйвами можно было бы сразу скопировать данные на новую ленту, но в моем случае драйв всего один, поэтому придется задействовать временный дисковый Storage Unit. Клонируем все образы на него через bpduplicate:
bash-3.00# /opt/openv/netbackup/bin/admincmd/bpduplicate -id X188L2 -dstunit DiskPool
Duplicate started Tue Jul 02 16:17:18 2013
Activity monitor job id = 22
INF - Destination storage unit DiskPool on host unknown
INF - Duplicating policy test-backup schedule sched1 backup id unknown_1372765671 copy 1 created on 07/02/2013 15:47:51 on source media id X188L2
INF - Duplicate of backupid unknown_1372765671 successful.
INF - Status = successfully duplicated 1 of 1 images.
То же самое можно сделать и через GUI:
-
Выбрав в разделе Catalog действие Duplicate, затем указав баркод ленты и нажать на Search Now. После чего выбрать все найденные копии и в контекстном меню выбрать пункт Duplicate:
-
В открывшемся меню выбираем дисковый Storage Unit и нажимаем на OK:
Меняем ленты
Когда все образы перенесены на временное дисковое хранилище, можно удалить старую ленту. Сначала нужно удалить записи о копиях в каталоге, "просрочив" их с помощью bpexpdate:
bash-3.00# /opt/openv/netbackup/bin/admincmd/bpexpdate -m X188L2 -d 0
Media X188L2 is due to expire at 07/16/2013 15:47:51
Are you sure that the data on this media is not critical to
your business, and you are sure you want to delete X188L2 y/n (n)? y
Опция -d здесь нужна, чтобы установить срок жизни данных ленты и 0 означает, что он истекает "сейчас" - в противоположность аргументу опции infinity. В GUI эта операция делается аналогично клонированию, а в контекстном меню выбирается опция "Expire"
После этого нужно удалить ленту из базы EMM, используя действие "Delete" в GUI или следуя инструкции TECH6680 . Затем остается извлечь ленту физически, например через меню управления библиотекой и Mail Slot, заменив ее на новые. А затем запустить процесс Inventory и назначить новые ленты в соответствующие пулы.
Возвращаем бекапы на место
Так как для дискового Storage Unit понятия Media ID уже не существует, таскать образы из него придется поштучно, что немного отразится на синтаксисе:
bash-3.00# /opt/openv/netbackup/bin/admincmd/bpduplicate -backupid unknown_1372765671 -dstunit StorEdgeC2 -dp DataStore -cn 2
Duplicate started Tue Jul 02 16:30:13 2013
Activity monitor job id = 29
INF - Destination storage unit StorEdgeC2 on host unknown
INF - Duplicating policy test-backup schedule sched1 backup id unknown_1372765671 copy 2 →
created on 07/02/2013 15:47:51 on source path /opt/diskpool
INF - Duplicate of backupid unknown_1372765671 successful.
INF - Status = successfully duplicated 1 of 1 images.
Параметр cn нужен чтобы указать "номер копии" - он у меня изменился при переносе с ленты на диск, а посмотреть его можно опять же через bpimmedia.
Теперь удаляем вторую копию на дисковом Storage Unit:
bash-3.00# /opt/openv/netbackup/bin/admincmd/bpexpdate -backupid unknown_1372765671 -d 0 -copy 2
Are you SURE you want to delete unknown_1372765671 copy 2 y/n (n)? y
Проверяем статус образа:
bash-3.00# /opt/openv/netbackup/bin/admincmd/bpimmedia -L
Backup-ID Policy Type RL Files C E T PC Hold Indexing Expires
Copy Frag KB Type Density FNum Off Host DWO MPX Expires RL Hold MediaID
-----------------------------------------------------------------------------------------------------
unknown_1372765671 test-backu FULL 1 11 N N R 1 0 0 15:47 07/16/2013
1 1 1312 RMed hcart3 1 2 unknown 0 N 15:47 07/16/2013 1 0 X186L2
Остается только провести тестовое восстановление, которое, к счастью, проходит успешно.