Рейтинг:0

Проблема с использованием dd для записи файла размером 1 ГБ в набор данных zfs на FreeBSD 13

флаг cn

Привет, ребята, я поднимаю небольшой стек FAMP на виртуальной машине Azure. 4 ядра Xeon, 16 ГБ оперативной памяти. Второй SSD использует ZFS, а загрузочный диск — UFS2 (по умолчанию). Когда я добавляю if=/dev/zero of=testfile bs=1024 count=1024000 в свой домашний каталог, который находится на загрузочном диске, я вижу полный файл размером 1 ГБ. При выполнении того же действия с моим набором данных ZFS он записывает только 512b. Не уверен, что здесь происходит. Я могу без проблем копировать большие файлы из разделов UFS2 в наборы данных ZFS.

Любые предложения были бы замечательными, так как это беспокоит меня, прежде чем я выпущу это в производство.

[Спасибо]

drookie avatar
флаг za
Итак, вы говорите, что zfs не может хранить файлы размером более одного блока размером 512 байт. ОБЯЗАТЕЛЬНО СТОИТ ОТЧЕТА, лол.
Zork avatar
флаг cn
Нет, если вы прочтете мой пост, то увидите, что я могу без проблем копировать файлы с диска UFS2 на ZFS SSSD. Просто когда я использую DD, он не работает :)
Рейтинг:5
флаг ca

При записи нулевого файла в набор данных ZFS с включенным сжатием он будет свернут в полностью разреженный файл с минимальным потреблением места — 512 байт, как вы видели. При обратном чтении файла он будет "перегидрирован" со всеми изначально записанными нулями.

В качестве примечания, вы можете сделать что-то подобное даже с классической файловой системой, такой как EXT4 или XFS: попробуйте выполнить усечь -l 1G <имя файла> и вы закончите с файлом 1G, используя только 512B (или 4K) реального пространства.

Вместо того, чтобы отключать сжатие, попробуйте скопировать что-нибудь из /dev/urandom и вы увидите ожидаемое использование пространства.

Andrew Henle avatar
флаг ph
*При записи нулевого файла в наборе данных ZFS с включенным сжатием* И производительность просто **удивительна**. ;-)
Рейтинг:-1
флаг cn

Я отключил сжатие lz4, и dd работает нормально. Очевидно, это как-то связано с dd if=/dev/zero. Я не думаю, что это будет проблемой в будущем, поэтому, скорее всего, снова включу сжатие.

Ответить или комментировать

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