у нас есть хранилище NFS, в котором мы храним наши резервные копии ... мы манипулируем ими с машины linux, на которой также смонтирована nfs. Так, например, тонкий диск thin.vmdk в Linux рассматривается как thin.vmdk и thin-flat. vmdk. Мы хотим заархивировать и сжать их с помощью tar и gzip, однако при выполнении простой команды tar для этих двух ... тонкий слой просто исчезает, и все внезапно становится 10G.
Даже когда я пытаюсь заархивировать файл thin-flat.vmdk, имеющий 1,6 ГБ, отдельно (с помощью tar cf thin.tar thin-flat.vmdk), он создает файл tar размером 10 ГБ. Это также произошло, когда я пытался запустить tar cf /extfs/thin.tar для создания tar на ext fs.
Что это за колдовство? Кто-нибудь знает?
Большое спасибо.
GNU tar, который у вас должен быть, если вы используете Linux, поддерживает обработку разреженных файлов с -S
(или --sparse
) вариант. Пытаться
tar cSf thin.tar thin-flat.vmdk
Вы должны указать tar эффективно обрабатывать разреженные файлы с помощью -S --sparse
переключатель командной строки.
-S, --sparse эффективно обрабатывать разреженные файлы
Из GNU tar(1)
страница руководства:
-S, --sparse
handle sparse files efficiently
Вы не должны этого делать. По крайней мере, если вы пытаетесь разработать процесс вокруг этого, более масштабируемым подходом будет архивирование с использованием другого метода.
Если вы хотите экспортировать виртуальную машину и сохранить ее атрибуты, вы можете экспортировать ее как файл OVF. Или, если у вас есть доступные методы резервного копирования с учетом виртуальной машины, это может иметь больше смысла.