null

Меняем ленту в NetBackup

Магнитные ленты, используемые в ленточных библиотеках для резервных копий данных - существа крайне хрупкие. И в один прекрасный день есть риск получить 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

Остается только провести тестовое восстановление, которое, к счастью, проходит успешно.

К списку статей

 

Интересуюсь по большей части системным анализом программного обеспечения: поиском багов и анализом неисправностей, а также системным программированием (и не оставляю надежд запилить свою операционку, хотя нехватка времени сказывается :) ). Программированием увлекаюсь с 12 лет, но так уж получилось, что стал я инженером.

Основная сфера моей деятельности связана с поддержкой Solaris и оборудования Sun/Oracle, хотя в последнее время к ним прибавились технологии виртуализации (линейка Citrix Xen) и всякое разное от IBM - от xSeries до Power. Учусь на кафедре Вычислительной Техники НИУ ИТМО.

See you...out there!

http://www.facebook.com/profile.php?id=100001947776045
https://twitter.com/AnnoyingBugs