Назад | Перейти на главную страницу

Как vzdump обрабатывает жесткие ссылки, указывающие из виртуальной машины?

У меня есть контейнер OpenVZ, содержащий несколько жестких ссылок, указывающих на файловую систему хоста.

Например, я запустил на хосте ln /root/file /var/lib/vz/private/101/root/link

Теперь я спрашиваю себя: если я сделаю резервную копию ВМ 101 с помощью vzdump, как она будет относиться к жесткой ссылке? Будет ли он копировать его как жесткую ссылку или попытается перейти по ссылке и включить в дамп также / root / file (что сделало бы мою резервную копию действительно ОГРОМНОЙ).
И меняет ли это поведение режим vzdump (остановка, приостановка, моментальный снимок)?

Жесткая ссылка не указывает на другой файл, это мягкая / символическая ссылка. Если это на самом деле жесткая ссылка (которая требует, чтобы она была в той же файловой системе), то она будет обрабатываться так же, как и любой другой файл.

По сути, мягкая ссылка указывает на имя файла, тогда как предпоследнее имя файла указывает на индексный дескриптор на диске.

Жесткая ссылка - это новое имя файла, указывающее прямо на индексный дескриптор.

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

Так что, если это жесткая ссылка, это буквально еще один указатель на те же самые данные. Я ожидал, что vzdump будет обращаться с ним так же, как с любым другим файлом.

Я протестировал, и все в точности так, как сказал yoonix: жесткая ссылка обрабатывается точно как файл, поэтому файл включается в дамп, даже если он находится за пределами виртуальной файловой системы виртуальной машины ... так что БУДЬТЕ ОСТОРОЖНЫ! ;-)