редкое перемещение / копирование файлов по NFS

1971
Karl Richter

Я создал разреженный файл с

truncate -s 4T image.img 

в файловой системе ext4, которую я монтирую поверх NFS. Следующий тест показывает, что система имеет проблемы с распознаванием разреженных файлов: оба

cp --sparse=always /mnt/data_extension/a.img /tmp/a.img # where a.img is created the same way image.img is rsync --sparse /mnt/data_extension/a.img /tmp/a.img 

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

tar --sparse -c -v -f /tmp/a.tar /mnt/data_extension/a.img 

Немедленно возвращается и выдает tar, который может быть необработанным, если a.img пуст, если я что-то пишу внутри (например, создаю поддельную файловую систему btrfs sudo mkfs.btrfs /mnt/data_extension/a.img), он перестает работать, то есть принимает вечно, как команды выше.

Все хорошо работает в локальной целевой файловой системе ext4, т.е. копирование и перемещение демонстрационного изображения a.imgпроисходит за 1 секунду или намного меньше.

Когда я применяю эти команды на реальное изображение image.imgи watch du -h /local/image.imgразмер 0 никогда не обновляется, но она должна после первого байта было написано.

смонтировать информацию для /mnt/data_extension:

$ mount | grep /mnt/data_extension 192.168.178.76:/volume1/data_extension on /mnt/data_extension type nfs (rw,addr=192.168.178.76) 

Как я могу переместить / скопировать image.imgс монтирования NFS на локальную файловую систему без необходимости читать 4TB ?!

РЕДАКТИРОВАТЬ: указание sparse-version=1.0делает tarработу на клиенте, но не над NFS (и cifsчто я пытался между тем с тем же поведением). Это позволяет, по крайней мере, сохранить разреженный файл на сервере и передать результат со стоимостью одного ненужного действия unntar на клиенте.

0

1 ответ на вопрос

0
Karl Richter

creation is support through SEEK_SET, support for fallocate will be added in version 4.2 (currently under development) [http://www.spinics.net/lists/linux-nfs/msg44500.html]

Похожие вопросы