У меня есть контейнер OpenVZ, содержащий несколько жестких ссылок, указывающих на файловую систему хоста.
Например, я запустил на хосте ln /root/file /var/lib/vz/private/101/root/link
Теперь я спрашиваю себя: если я сделаю резервную копию ВМ 101 с помощью vzdump, как она будет относиться к жесткой ссылке? Будет ли он копировать его как жесткую ссылку или попытается перейти по ссылке и включить в дамп также / root / file (что сделало бы мою резервную копию действительно ОГРОМНОЙ).
И меняет ли это поведение режим vzdump (остановка, приостановка, моментальный снимок)?
Жесткая ссылка не указывает на другой файл, это мягкая / символическая ссылка. Если это на самом деле жесткая ссылка (которая требует, чтобы она была в той же файловой системе), то она будет обрабатываться так же, как и любой другой файл.
По сути, мягкая ссылка указывает на имя файла, тогда как предпоследнее имя файла указывает на индексный дескриптор на диске.
Жесткая ссылка - это новое имя файла, указывающее прямо на индексный дескриптор.
Если вы создадите жесткую ссылку и удалите исходный файл, жесткая ссылка все равно будет работать. Если вы создадите программную ссылку и удалите исходный файл, программная ссылка теперь указывает на то, что больше не существует.
Так что, если это жесткая ссылка, это буквально еще один указатель на те же самые данные. Я ожидал, что vzdump будет обращаться с ним так же, как с любым другим файлом.
Я протестировал, и все в точности так, как сказал yoonix: жесткая ссылка обрабатывается точно как файл, поэтому файл включается в дамп, даже если он находится за пределами виртуальной файловой системы виртуальной машины ... так что БУДЬТЕ ОСТОРОЖНЫ! ;-)