Пропуск жестких ссылок при использовании 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.
4 ответа
Краткое чтение некоторых документов TSM предлагает "Не делай этого!"
В unix "файл" - это просто запись каталога, которая указывает на индекс. "Жесткая ссылка" - это просто когда у вас есть несколько записей каталога (указателей), указывающих на данный индекс. По сути, эти два "файла" идентичны на 100%.
Жесткие ссылки - это хорошо проработанный и понятный механизм в Unix. Уместно встречаться с ними, и для программного обеспечения резервного копирования характерно точное понимание того, что такое жесткая ссылка, и резервное копирование в точности так, как следует - как еще один указатель на определенный фрагмент данных, а не как уникальный и новый фрагмент данных, которые оказываются точно такими же, как и другие жесткие ссылки.
Беглый взгляд на tsm и жесткие ссылки показывает, что tsm понимает жесткие ссылки и документы специально предупреждают:
Проблемы могут возникнуть, если [создать резервную копию | архив] только один файл из пары жестко связанных. Например, файлы texta и textb содержат жесткую ссылку друг на друга. Вы архивируете texta, а затем редактируете textb и вносите изменения. Если вы получите texta, изменения, сделанные вами в textb, будут потеряны.
Интересно, что кажется, что есть два разных способа создания резервных копий с помощью TSM - резервные копии и архивы, и эти два способа по-разному работают с жесткими ссылками.
резервное копирование и восстановление файлов:
Жесткая ссылка устанавливается, когда два файла указывают на один и тот же файл данных. При резервном копировании файла, содержащего жесткую ссылку на другой файл, TSM сохраняет на сервере как информацию о ссылке, так и файл данных. Если вы создаете резервную копию двух файлов, содержащих жесткую ссылку друг на друга, TSM сохраняет один и тот же файл данных под обоими именами вместе с информацией о ссылке.
архивирование и восстановление файлов:
Когда вы архивируете файл, содержащий жесткую ссылку на другой файл, TSM сохраняет как информацию о ссылке, так и файл данных на сервере.
Отсюда кажется, что вы взорвете свой резервный сервер, если он "архивирует" вещи, и он будет делать то, что вы хотите, если вы "создаете резервную копию". Оставьте это IBM, чтобы сделать это просто!
Во-первых, нет никакой разницы между "правильным файлом" и "жесткой ссылкой", жесткая ссылка - это просто другое имя для того же объекта, в то время как мягкая ссылка - это фактически файл, содержащий указатель на реальный файл, поэтому мягкая ссылка может пересекают границы файловой системы и жесткая ссылка не может.
О фактической проблеме. Посмотрите на опцию Exclude и опцию include-exclude-list в документации, вы сможете с ними что-то решить.
(лайк exclude /path/to/your/files/*-*-?.*
или что-то).
Не зная ничего о Tivoli Storage Manager, невозможно было бы получить какой-либо программный продукт для обработки жестких ссылок по-разному для файлов, поскольку нет реальной разницы между исходным дескриптором файла и другими жесткими ссылками. (возможно это может быть сценарий на основе имен файлов)
Обновите до TSM 6.1 и активируйте дедупликацию. (в настоящее время доступно только для устройств типа FILE, но терпение - это добродетель)