Пропуск жестких ссылок при использовании TSM Backup

Пропуск жестких ссылок при использовании TSM Backup

Нам нужно сделать резервную копию файловой системы с большим количеством жестких ссылок. Поскольку для каждого "истинного" файла есть несколько жестких ссылок, мы хотели бы пропустить все жесткие ссылки при резервном копировании файловой системы, чтобы избежать n точных копий каждого файла.

Резервное копирование выполняется с помощью Tivoli Storage Manager Backup, и нам не удалось заставить его обрабатывать жесткие ссылки иначе, как отдельные файлы, подлежащие резервному копированию одновременно.

Если это имеет значение для возможных решений, я хотел бы отметить, что жесткую ссылку можно отличить от настоящего файла по имени файла:

 foobarbaz-123.ext    # file
 foobarbaz-123-1.ext  # hardlink
 foobarbaz-123-2.ext  # hardlink
 barbazfoo-456.ext    # file
 barbazfoo-456-1.ext  # hardlink
 barbazfoo-456-2.ext  # hardlink
 barbazfoo-456-3.ext  # hardlink

То есть все жесткие ссылки имеют два дефиса в имени файла, тогда как у настоящих файлов — только один.

Сервер работает под управлением Ubuntu Linux, а файлы размещены на томе gfs в нашей сети SAN.

решение1

Беглое прочтение некоторых документов TSM подсказывает: «Не делайте этого!»

В unix "файл" — это просто запись каталога, которая указывает на inode. "Жесткая ссылка" — это когда у вас есть более одной записи каталога (указателя), указывающей на данный inode. По всем намерениям и целям эти два "файла" на 100% идентичны.

Жесткие ссылки — это хорошо устоявшийся и понятный механизм в unix. Встречаться с ними — это нормально и обычно, и для программного обеспечения резервного копирования обычно точно понимать, что такое жесткая ссылка, и делать ее резервную копию именно так, как и должно быть — как еще один указатель на определенную часть данных, а не как уникальный и новый фрагмент данных, который случайно оказывается точно таким же, как и другие жесткие ссылки.

Быстрый поиск в Google по словам tsm и hardlinks показывает, что tsm понимает жесткие ссылки, а документация специально предупреждает:

Проблемы могут возникнуть, если вы [резервируете|архивируете] только один файл из пары с жесткой ссылкой. Например, файлы texta и textb содержат жесткую ссылку друг на друга. Вы архивируете texta, а затем редактируете textb и вносите изменения. Если вы извлекаете texta, изменения, внесенные вами в textb, будут потеряны.

Интересно, что, похоже, есть два разных способа создания резервных копий с помощью TSM — резервное копирование и архивирование, и эти два способа по-разному работают с жесткими ссылками.

резервное копирование и восстановление файлов:

Жесткая ссылка устанавливается, когда два файла указывают на один и тот же файл данных. При резервном копировании файла, содержащего жесткую ссылку на другой файл, TSM сохраняет как информацию о ссылке, так и файл данных на сервере. При резервном копировании двух файлов, содержащих жесткую ссылку друг на друга, TSM сохраняет один и тот же файл данных под обоими именами вместе с информацией о ссылке.

архивация и восстановление файлов:

При архивации файла, содержащего жесткую ссылку на другой файл, TSM сохраняет как информацию о ссылке, так и файл данных на сервере.

Из этого следует, что вы взорвете свой сервер резервного копирования, если он будет «архивировать» что-то, и он будет делать то, что вы хотите, если вы будете «создавать резервные копии». Предоставьте IBM сделать это просто!

решение2

Во-первых, нет никакой разницы между «настоящим файлом» и «жёсткой ссылкой», жёсткая ссылка — это просто другое название того же объекта, в то время как мягкая ссылка — это фактически файл, содержащий указатель на настоящий файл, поэтому мягкая ссылка может пересекать границы файловой системы, а жёсткая — нет.

О самой проблеме: Посмотрите на опцию «Исключить» и опцию «включить-исключить-список» вдокументация, вы должны быть в состоянии решить с ними что-нибудь. (вроде exclude /path/to/your/files/*-*-?.*или что-то в этом роде).

решение3

Не зная ничего о Tivoli Storage Manager, невозможно заставить какое-либо программное обеспечение обрабатывать жесткие ссылки иначе, чем файлы, поскольку фактически нет никакой разницы между исходным дескриптором файла и другими жесткими ссылками. (Возможно, это можно было бы сделать с помощью скрипта на основе имен файлов)

решение4

Обновитесь до TSM 6.1 и активируйте дедупликацию. (в настоящее время доступно только для типа устройства FILE, но терпение — добродетель)

Связанный контент