Как-то на посиделках с коллегами мы дискутировали про разные способы поддержки NTFS на Mac OS X – про то нужно или не нужно использовать дополнительное ПО, коль Mac OS X неофициально поддерживает запись на NTFS диски, обсуждали проблемы связанные с коммерческими драйверами NTFS и кто-то предложил сравнить скорость работы используя разные способы поддержки NTFS.
Из-за лени пары коллег заняться этим пришлось мне.
Итак:
С NTFS дисками мы сталкиваемся, работая в Windows окружении (перенести файлы с компьютера на компьютер, прочитать наружный диск, принесенный коллегой; FAT нам не помощник, так как не поддерживаются большие файлы, отсюда поддержка exFAT в Windows 7 и Mac OS X 10.6.5 и выше) или когда нам нужно работать с BootCamp ( Windows Vista и Windows 7 больше не поддерживают FAT для загрузочного тома).
Mac OS X, начиная с 10.5, прекрасно читает NTFS диски, но не пишет на них.
В свое время Apple заказала (насколько я помню, товарищам из NTFS-3g) разработку драйвера NTFS для Mac OS X. Какие-то беты Mac OS X 10.6 Snow Leopard выходили с поддержкой записи, но в релизе она не появилась. В сети тут же появились рецепты, как вернуть Mac OS X 10.6 возможность писать на NTFS диски.
Будем считать, что это нестабильная фича и Apple отключила ее неспроста (а не для того, чтобы дать заработать third-party компаниями). Я с проблемами не сталкивалась, но считайте, что вы предупреждены.
Для того, чтобы включить запись на NTFS диски достаточно
A) смонтировать этот диск вот так
mount_ntfs -o rw /dev/disk1s1 /Volumes/Maggotbox
Для упрощения жизни пользователи прибегают к замене /sbin/mount_ntfs скриптом, вызывающим mount_ntfs -o rw
B) или отредактировать fstab, чтобы диск всегда монтировался в режиме для записи.
Например, для моего диска достаточно поместить в /etc/fstab запись
LABEL=Maggotbox none ntfs rw
Минус этого метода в том, что такую запись придется делать для каждого тома NTFS, указывая Label или UUID диска (узнать можно с помощью Disk Utility, System Profiles, system_profiler, diskutil).
Именно поэтому, появилась парочка подручных утилит.
Например NTFS Mounter и SL-NTFS.
Первая программка (видимо) использует метод A, вторая (наглядно) – метод B.
Диски должны быть корректно отмонтированы в царстве зла (используя “безопасное отключении” в трее). Иначе, диски смонтируются в режиме “только для чтения” и вы увидите в kernel.log
Apr 14 13:49:12 95-31-19-157 kernel[0]: NTFS-fs error (device /dev/disk1s1, pid 74380): ntfs_system_inodes_get(): $LogFile is not clean. Mounting read-only. Mount in Windows.
илиApr 14 15:48:29 95-31-19-157 kernel[0]: NTFS-fs warning (device /dev/disk1s1, pid 427): ntfs_system_inodes_get(): NTFS volume is dirty. You should unmount it and run chkdsk.
bash-3.2#
Всегда можно использовать force (так поступает и NTFS-Mounter); считайте, что вы предупреждены во второй раз.
А теперь к тестам, фанаты IXBT.
Я использую Lacie Rugged, в котором заменили диск на какой-то Hitachi, подключенный по USB.
1 Используем только системные средства:
34MB чтение, 30MB запись.
2 Ставим NTFS-3g и перезагружаемся.
Ого, NTFS-3g не работает!
Это потому, что ядро на моем новом ноутбуке работает в 64-разрядном режиме, а NTFS-3g пока только в 32-разрядном (коммерческий вариант Tuxera NTFS в 64-разрядном). Возможно, я бы могла скомпилировать 64-битную версию NTFS-3g, не смотрела.
Перезагружаемся, удерживая нажатыми клавиши 3 и 2.
27MB чтение, 9MB запись.
3 Включаем кэширование в NTFS-3G.
26MB чтение, 13MB запись.
Ого, это все равно явно ниже, чем система.
4 Ставим коммерческий вариант – Tuxera NTFS (15-дневная trial версия). Перезагружаемся.
32MB чтение, 30MB запись.
5 Попробуем-ка Paragon NTFS , поддержим отечественного производителя (10-дневная trial версия). Ради этого еще раз перезагружаемся.
33MB чтение, 30MB запись.
Ну что ж, лично я перезагрузилась в последний раз и продолжила использовать NTFS Mounter
Внимание: я не планирую проверять RAID массив, подключаемый по FibreChannel или ставить полноразмерный SATA диск, отформатированный в NTFS, в свой Mac Pro.
Скорее всего, эти тесты показали бы для Tuxera и Paragon самые лучшие результаты.
Я просто проверила бытовую работу с портативными дисками, отформатированными в NTFS, подключаемыми к Маку по USB, то что достаточно для “обычного пользователя”. И у меня никогда не возникало проблем с поддержкой ACL или необходимости сжимать файлы на лету (еще одна из сотен фич New Technology File System).