Страница 1 из 1

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-11 19:14:02
Visionman
Приветсвую.

Потребовалось примонтировать NTFS раздел.
Использовал порт fuse-ntfs

Код: Выделить всё

# pwd
/usr/ports/sysutils/fusefs-ntfs

Код: Выделить всё

# ntfs-3g -V
ntfs-3g 2017.3.23 external FUSE 29               
Монтирую собственно диск

Код: Выделить всё

# ntfs-3g /dev/ada2p1 /media
монтируется успешно, читает и пишет.

Вопрос в чём ?
Маленькая скорость копирования и чтения.
Оба диска на контроллере SATA 6GB/s
Диск источник - SSD
Диск приёмник на котором NTFS - HDD простой

Использую rsync

Код: Выделить всё

# rsync -av --progress /ssd/ex-folder/data.iso /media/data.iso
sending incremental file list
data.iso
     31,555,584   4%    3.63MB/s    0:03:06
Скорость 3.63MB/s (29.06 Mbit/s)
Если не использовать примонтированный диск через ntfs-3g, скорость 30 - 40 MB/s ( ~300 Mbit/s )

Если на том же компьютере, загрузиться с образа SystemRescueCd(Linux в основе) и монтировать там.
Скорость высокая.
А вот во FreeBSD низкая, к сожалению. :unknown:

Сталкивался кто с драйвером fusefs-ntfs, какие были значения скорости или настроить нужно как-то ?
Подскажите пожалуйста. :smile:

Отправлено спустя 2 минуты 35 секунд:
рекомендации https://www.tuxera.com/community/ntfs-3g-faq/#ntfsprogs
уже читал, там собственно общие высказывания, почему медленно может быть, конкретики мало.

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 15:16:53
guest
Visionman писал(а):Приветсвую.

Вопрос в чём ?
Маленькая скорость копирования и чтения.
Оба диска на контроллере SATA 6GB/s
Диск источник - SSD
Диск приёмник на котором NTFS - HDD простой

Использую rsync

Код: Выделить всё

# rsync -av --progress /ssd/ex-folder/data.iso /media/data.iso
sending incremental file list
data.iso
     31,555,584   4%    3.63MB/s    0:03:06
Скорость 3.63MB/s (29.06 Mbit/s)
и какую скорость Вы замерили?

в чем разница:

# rsync ... /source/data /destination/
# cp /path/file /destination/
# dd if=/path/file of=/destination/file
и соответственно
# rsync ... /source/data /dev/null
# cp /path/file /dev/null
# dd if=/path/file of=/dev/null

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 15:31:16
Visionman
и какую скорость Вы замерили?
Скорость передачи файла, с одного диска на другой.

источник ssd диск - /ssd/ex-folder/data.iso
приёмник hdd диск - /media/data.iso

Код: Выделить всё

# rsync -av --progress /ssd/ex-folder/data.iso /media/data.iso
sending incremental file list
data.iso
     31,555,584   4%    3.63MB/s    0:03:06
в чем разница:

# rsync ... /source/data /destination/
# cp /path/file /destination/
# dd if=/path/file of=/destination/file
и соответственно
# rsync ... /source/data /dev/null
# cp /path/file /dev/null
# dd if=/path/file of=/dev/null
Это к чему, более подробно можно ?

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 17:06:26
guest
Visionman писал(а):
и какую скорость Вы замерили?
Скорость передачи файла, с одного диска на другой.

источник ssd диск - /ssd/ex-folder/data.iso
приёмник hdd диск - /media/data.iso

Код: Выделить всё

# rsync -av --progress /ssd/ex-folder/data.iso /media/data.iso
sending incremental file list
data.iso
     31,555,584   4%    3.63MB/s    0:03:06
в чем разница:

# rsync ... /source/data /destination/
# cp /path/file /destination/
# dd if=/path/file of=/destination/file
и соответственно
# rsync ... /source/data /dev/null
# cp /path/file /dev/null
# dd if=/path/file of=/dev/null
Это к чему, более подробно можно ?
нужно учиться думать, а Вы просите чтобы Вам кашку разжевали и в рот положили...

HDD0 -> /path/file
HDD1 -> /destination/

# rsync ... /path/file /destination/
будет показывать:
чтение с hdd0 и запись на hdd1

допустим, HDD0 == диск с ntfs, проверить скорость на чтение
# rsync ... /path/file /dev/null

чтобы проверить скорость записи, нужно либо использовать /dev/random, либо шаблон,
либо данные из памяти: mdX - "чистой" она не будет, но приблизительной.

пример:

Код: Выделить всё

# gpart show ada1
=>        63  1953525105  ada1  MBR  (932G)
          63        1985        - free -  (993K)
        2048     1024000     1  ntfs  [active]  (500M)
     1026048  1952495616     2  ntfs  (931G)
  1953521664        3504        - free -  (1.7M)
#
# ntfs-3g -o ro /dev/ada1s2 /mnt
# mount | grep mnt
/dev/fuse on /mnt (fusefs, local, read-only, synchronous)
# ls -la /mnt/TEMP/iso/
total 672212
drwxrwxrwx  1 root  wheel          0 Mar 20  2017 .
drwxrwxrwx  1 root  wheel       4096 Jan 22 15:55 ..
-rwxrwxrwx  2 root  wheel  688340992 Sep 29  2016 FreeBSD-11.0-RELEASE-amd64-dis
c1.iso
# dd if=/mnt/TEMP/iso/FreeBSD-11.0-RELEASE-amd64-disc1.iso of=/dev/null
1344416+0 records in
1344416+0 records out
688340992 bytes transferred in 2.656743 secs (259092036 bytes/sec)
# mdconfig -s 1g -u md0
#  newfs /dev/md0
/dev/md0: 1024.0MB (2097152 sectors) block size 32768, fragment size 4096
        using 4 cylinder groups of 256.03MB, 8193 blks, 32896 inodes.
super-block backups (for fsck_ffs -b #) at:
 192, 524544, 1048896, 1573248
# mkdir /memmnt
# mount /dev/md0 /memmnt
# df -h | grep mnt
/dev/fuse          931G     80G    851G     9%    /mnt
/dev/md0           992M    8,0K    912M     0%    /memmnt
# rsync -av --progress /mnt/TEMP/iso/FreeBSD-11.0-RELEASE-amd64-disc1.iso /memmn
t/
sending incremental file list
FreeBSD-11.0-RELEASE-amd64-disc1.iso
    688,340,992 100%  128.36MB/s    0:00:05 (xfr#1, to-chk=0/1)

sent 688,509,153 bytes  received 35 bytes  125,183,488.73 bytes/sec
total size is 688,340,992  speedup is 1.00
# umount /memmnt
# mdconfig -du md0
коротко о примере, gpart - показывает ntfs, монтируем в /mnt,
создаем в памяти: mdconfig - кусок 1GB под файловую систему: newfs, создаем точку монтирования /memmnt,
монтируем fs которая у нас на RAM, затем копируем с ntfs: /mnt/TEMP/iso/FreeBSD-11.0-RELEASE-amd64-disc1.iso
в память, точнее в FS размером 1GB которая создана в RAM.

Сравниваем это с dd в /dev/null:

Код: Выделить всё

# dd if=/mnt/TEMP/iso/FreeBSD-11.0-RELEASE-amd64-disc1.iso of=/dev/null
1344416+0 records in
1344416+0 records out
688340992 bytes transferred in 2.614833 secs (263244702 bytes/sec)
#
скорость dd в два раза выше, ибо только скорость чтения и более никуда не пишем, выше чем копирование
в память, ибо даже запись в ram имеет время и скорость.

Смысл понятен?

ps. не уверен что можно использовать конструкцию `rsync ... /path/file /dev/null` ибо не знаю, проверяет
ли rsync что /dev/null - специальный файл? наверняка нет, в отличие от cp,mv,cat.dd. Ну если испортите
/dev/null: mknod /dev/null (можно для пущей убедительности restart devfs и devd после mknod)

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 18:48:36
Visionman
нужно учиться думать, а Вы просите чтобы Вам кашку разжевали и в рот положили...
Первое! Попрошу Вас без перехода на личности и фамильярности!
Второе! Я вежливо попросил подробнее рассказать, что Вы имеете ввиду.
Можно было спросить меня, проводились ли тесты командами, которые перечислены, а не расписывать пример и не тратить своё время.
Настроение плохое, обидел кто-то или считаете вопрос глупый ?
Могли бы не отвечать и пройти мимо, а не высказываться совершенно бестактной и бездарной фразой!
Подумайте над своим поведением и как ведёте общение с незнакомым Вам человеком, заведомо считая уровень знаний собеседника низким, не советую так думать никогда, можете об этом горько пожалеть.


Теперь собственно по теме.

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

Код: Выделить всё

# rsync -av --progress /ssd/FreeBSD-11.1-RELEASE-amd64-disc1.iso /md0_ufs/
sending incremental file list
FreeBSD-11.1-RELEASE-amd64-disc1.iso
    723,697,664 100%  264.02MB/s    0:00:02 (xfr#1, to-chk=0/1)

sent 723,874,463 bytes  received 35 bytes  206,821,285.14 bytes/sec
total size is 723,697,664  speedup is 1.00

Код: Выделить всё

 # dd if=/ssd/FreeBSD-11.1-RELEASE-amd64-disc1.iso of=/md0_ufs/FreeBSD-11.1-RELEASE-amd64-disc1.iso
1413472+0 records in
1413472+0 records out
723697664 bytes transferred in 2.613694 secs (276886889 bytes/sec)
cp, mv, dd - аналогично всё прекрасно с показателями скорости, приводить примеры думаю излишне.
с /dev/null - тут вообще за 360MB/s уходит значение

Если на виртуальном диске использовать файловую систему NTFS используя драйвер fuse.
Обращу внимание, создавая разметку как из под Windows стандартными средствами ОС, так и средствами из состава FUSE драйвера под FreeBSD.
Результат, скорость не переходит границу в 2 - 3 MB/s через rsync, dd, cp, mv
при записи на раздел NTFS

Код: Выделить всё

 # rsync -av --progress /ssd/FreeBSD-11.1-RELEASE-amd64-disc1.iso /md0_ntfs/
sending incremental file list
vm1gb.hdd
    734,003,200 100%    3.02MB/s    0:03:52 (xfr#1, to-chk=0/1)

sent 734,182,488 bytes  received 35 bytes  3,157,774.29 bytes/sec
total size is 734,003,200  speedup is 1.00
/dev/null

Код: Выделить всё

# rsync -av --progress FreeBSD-11.1-RELEASE-amd64-disc1.iso /dev/null
sending incremental file list
FreeBSD-11.1-RELEASE-amd64-disc1.iso
    723,697,664 100%  373.86MB/s    0:00:01 (xfr#1, to-chk=0/1)
При чтении с раздела NTFS всё нормально.

Код: Выделить всё

# rsync -av --progress /md0_ntfs/FreeBSD-11.1-RELEASE-amd64-disc1.iso /ssd/
sending incremental file list
vm1gb.hdd
    734,003,200 100%  229.20MB/s    0:00:03 (xfr#1, to-chk=0/1)

sent 734,182,488 bytes  received 35 bytes  209,766,435.14 bytes/sec
total size is 734,003,200  speedup is 1.00
чтение в /dev/null - выше 360 MB/s



За то что потрудились написать пример и ответить, спасибо.

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 19:03:11
guest
Visionman писал(а): За то что потрудились написать пример и ответить, спасибо.
спасибо за вежливость, за подчеркивания и тд и тп, однако думать, все же полезней...
Разжевывать кашку про fuse не буду, Вы умный и вежливый, дотумкаете сами...

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 19:45:09
Visionman
Разжевывать кашку про fuse не буду, Вы умный и вежливый, дотумкаете сами...
Вы видимо слишком гордый, чтобы оказать помощь просто по-человечески, вместо пустого диалога.

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 21:40:10
guest
Visionman писал(а):
Разжевывать кашку про fuse не буду, Вы умный и вежливый, дотумкаете сами...
Вы видимо слишком гордый, чтобы оказать помощь просто по-человечески, вместо пустого диалога.
приятно оказывать помощь нормальным людям, особенно думающим.

А пальцатые лентяи и тунеядцы, которые привыкли выезжать на чужом горбу, либо
пусть чуть-чуть напрягут собственные извилины, либо, как это бывает обычно, полезут спрашивать
на другом форуме, затем в ответе напишут что уже и сами до всего додумались.

Теперь про воспитанность, интеллигентность и человечность:

- в первом ответе Вам дали наводку, Вы даже не соизволили напрячь извилины:
"более подробно можно?"
- во втором, Вам расписали конкретный пример, что в ответ, растопыренные пальцы...

"Первое! Попрошу Вас без перехода на личности и фамильярности!
Второе! Я вежливо попросил подробнее рассказать, что Вы имеете ввиду.
Можно было спросить меня..." (О чем я могу Вас спросить, Вы уже себя показали)
...
"Настроение плохое, обидел кто-то или считаете вопрос глупый ?
Могли бы не отвечать и пройти мимо, а не высказываться совершенно бестактной и бездарной фразой!
Подумайте над своим поведением и как ведёте общение с незнакомым Вам человеком, заведомо считая уровень знаний собеседника низким, не советую так думать никогда, можете об этом горько пожалеть."
...
"За то что потрудились написать пример и ответить, спасибо."
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - да что Вы, судя по верхнему, это Вы
всем все объяснили, а уж сколько предложений с нравоучениями...

Всегда готов простить амбиции и прочее, если они чем-то подкреплены, в ином случае, тьфу...

Еще одна наводка, UFS/ZFS, родные интегрированные в систему FS, на уровне ядра... (про fuse)
про ntfs-3g дойдете сами...

ps. И да, можете не писать что Вы сами обо всем этом додумались, это было понятно сразу.

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 22:48:04
Visionman
Да разберусь я, не переживайте, забудем про вопрос, ладно.

Вы на простой вопрос ответьте.
Почему Вы позволяете себе такую фразу в отношении незнакомого человека ?
нужно учиться думать, а Вы просите чтобы Вам кашку разжевали и в рот положили...
На совещании, обсуждая с коллегой что-то или партнерами, Вы так позволите себе сказать стоя лицом к лицу человеку ?
Вы честно то признайтесь себе.
Думаю что нет, так почему позволяете себе говорить тут или потому что под ником guest и потому что интернет, ответственности нет ?
Кашку он разжевал, да что Вы, и нравоучений смотрю не меньше.
И не просил разжевывать Вашу эту кашку, как Вы говорите, а можно было коротко ответить и по делу, без перехода на личности.

Вот не надо только про - на чужом горбе, лентяи и тунеяцы, смотрю Вы легко всех под эту гребёнку.
На заре изучения FreeBSD, много таких как Вы встречал, пруд пруди на форумах таких, всё бы высказаться и упрекнуть.
Всё знать невозможно и порой занят более важными задачами, обращаешься на форуме, чтобы помогли.
Вы не знаете абсолютно ничего о собеседнике, но Вы сразу позволяете себе вывод сделать и кинуть фразу типа Вашей.
В таком ключе, как Вы, профессионалы не общаются и поверьте, они всегда вежливы и помогут.
Бравировать тем, что мол я Вам наводку дал, примеры привёл, а и ах да, кашку разжевал.
Ну так если Вы такой молодец, помогите человеку и вежливо общайтесь.
Извините конечно, но отвечу в Вашей же манере - это тьфу, а не решение вопроса...
И давайте уже закончим пустой этот разговор, он именно пустой и я уже понял, что помощи от Вас ждать нечего.

Да Вы себя тоже показали и всё всем объяснили.

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 23:04:47
guest
Visionman писал(а):Да разберусь я, не переживайте, забудем про вопрос, ладно.

Вы на простой вопрос ответьте.
Почему Вы позволяете себе такую фразу в отношении незнакомого человека ?
нужно учиться думать, а Вы просите чтобы Вам кашку разжевали и в рот положили...
На совещании, обсуждая с коллегой что-то или партнерами, Вы так позволите себе сказать стоя лицом к лицу человеку ?
Вы честно то признайтесь себе.
Много букв, вокруг простой фразы, которая Вас задела, а она по делу, ибо задуматься
над первой подсказкой, Вы не удосужились, куда там - птица большого полета, совещания...
заседания... а работают - трудяги отвечающие на форумах...

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

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

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-12 23:14:42
Visionman
Вы не пытайтесь мне ничего больше сказать.
А с моей стороны, я считаю, что я достаточно чётко изложил свою позицию.

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-13 1:31:52
guest
Visionman писал(а):Вы не пытайтесь мне ничего больше сказать.
А с моей стороны, я считаю, что я достаточно чётко изложил свою позицию.
Сплошные повелительные наклонения: не пытайтесь, я считаю...

Это форум и Вы тут не начальник, кроме того, кичась своей культурой, Вы ее показали.

Если человек не привык думать и делать выводы, ничего не поможет, никакая
ширма.

rsync с UFS(READ) на NTFS(WRITE)

Код: Выделить всё

# rsync -av --progress /pool/iso/OI-hipster-minimal-20171031.iso /mnt/TEMP/iso/
sending incremental file list
OI-hipster-minimal-20171031.iso
    427,100,160 100%   21.48MB/s    0:00:18 (xfr#1, to-chk=0/1)

sent 427,204,547 bytes  received 35 bytes  21,907,927.28 bytes/sec
total size is 427,100,160  speedup is 1.00
#
rsync с NTFS(READ) на UFS(WRITE)

Код: Выделить всё

# rsync -av --progress /mnt/TEMP/iso/OI-hipster-minimal-20171031.iso /tmp/
sending incremental file list
OI-hipster-minimal-20171031.iso
    427,100,160 100%  105.11MB/s    0:00:03 (xfr#1, to-chk=0/1)

sent 427,204,540 bytes  received 35 bytes  94,934,350.00 bytes/sec
total size is 427,100,160  speedup is 1.00
#

Код: Выделить всё

# md5 /pool/iso/OI-hipster-minimal-20171031.iso
MD5 (/pool/iso/OI-hipster-minimal-20171031.iso) = 6a1d4ceeac7a188a52f887d1a749cf32
# md5 /mnt/TEMP/iso/OI-hipster-minimal-20171031.iso
MD5 (/mnt/TEMP/iso/OI-hipster-minimal-20171031.iso) = 6a1d4ceeac7a188a52f887d1a749cf32
# md5 /tmp/OI-hipster-minimal-20171031.iso
MD5 (/tmp/OI-hipster-minimal-20171031.iso) = 6a1d4ceeac7a188a52f887d1a749cf32

Код: Выделить всё

# mount
/dev/gpt/rootfs on / (ufs, local, journaled soft-updates)
devfs on /dev (devfs, local, multilabel)
/dev/ufs/poolfs on /pool (ufs, NFS exported, local, journaled soft-updates)
procfs on /proc (procfs, local)
fdescfs on /dev/fd (fdescfs)
linprocfs on /compat/linux/proc (linprocfs, local)
/dev/fuse on /mnt (fusefs, local, synchronous)
#  camcontrol identify ada0 | grep transfers
pass0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
# camcontrol identify ada1 | grep transfers
pass1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
#
ada0 - UFS
ada1 - NTFS

rsync == sum (READ[UFS|NTFS] + WRITE[NTFS|UFS])

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-13 7:04:01
Neus
профессор опять разошёлся :)
Visionman, обратите внимание на опцию монтирования:
# mount | grep mnt
/dev/fuse on /mnt (fusefs, local, synchronous)

FreeBSD 11.1-p6 и fusefs-ntfs драйвер

Добавлено: 2018-02-13 12:06:04
Visionman
Neus,
Благодарю за ответ.
Сравнивал всё строчки, пытался найти в чём же дело.
Вывод mount аналогичный и опция synchronous присутсвует, по-моему кстати всегда поумолчанию включена опция synchronous при монтировании используя fuse.
Когда упомянули про эту опцию, вспомнил, что с synchronous была связана ещё опция при сборке UBLIO.
Работал с драйвером fusefs-ntfs в 2015 году.
Тогда вёл разговор с разработчиком и плюс на другом форуме общался с человеком.
Дело было в низкой скорости и связано с UBLIO опцией.

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

Что теперь.
Редко, но требуется иногда форматировать диски в NTFS из под FreeBSD.
Если поставить fusefs-ntfs из пакетов
# pkg ins fusefs-ntfs

Работать будет
- нет возможности форматировать, доходит до 99% и завершается с ошибкой
- высокая скорость отсутствует
Как собран пакет неизвестно, видимо внесены изменения ещё дополнительные, кроме тех, что есть при сборке порта.

Ставим из портов - /usr/ports/sysutils/fusefs-ntfs
Включаем UBLIO.
- Скорость становится 20-21 MB/s вначале, правда потом 10-11 MB/s
- Теряется возможность проводить форматирование используя mkntfs

На тему форматирования был отправлен коммент в 2015 году разработчику, но видимо пока не дошло дело до исправления.
Если удасться мне, попробую найти электронную почту человека с кем тогда общался и узнать, использует ли он сейчас этот драйвер и какая у него ситуация.
Если есть дополнительная информация ещё на тему fusefs-ntfs драйвера у Вас, буду рад прочитать.