Рейтинг@Mail.ru

Наши друзья и партнеры

UnixForum




Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Файловые системы Linux

Какую файловую систему поставить на флешку для Linux

Оригинал: What's The Fastest Linux Filesystem On Cheap Flash Media?
Автор: David North
Дата: 26 октября 2010
Свободный перевод: Алексей Дмитриев
Дата перевода: 24 ноября 2010

Миниатюрные флеш- и SD-карты (MMS и SD) встречаются на каждом шагу и содержат гигабайты дешевой памяти в маленьком объеме. Большая их часть отформатирована в VFAT. А какая Линуксовая файловая система будет быстрее всех работать с этими носителями?

Флешки становятся все вместительнее, быстрее и дешевле. Теперь они уже не только сохраняют ваши фотки в карманной камере ≈ они служат для резервного копирования, переносными домашними директориями, дополнительными дисками в нетбуках ... продолжите список сами.

Большая их часть продается с файловой системой VFAT и обычно такой и остается. Но для многих задач эта ФС не оптимальна. Нам стало любопытно, влияет ли тип файловой системы на работу флешки, и мы проверили.

Результаты проверки дали однозначные результаты. Итак, в какую файловую систему линуксоид отформатирует свои флешки для достижения максимальной скорости ?

Ответ - Ext4.

В некоторых случаях ext4 вчетверо быстрее ext3. Удивлены? Так же был удивлен Ted Ts'o, ведущий дизайнер и мантейнер файловой системы ext4. "Вы наблюдаете четырехкратное увеличение скорости при переходе с ext3 к ext4?" ≈ спросил Тед, и добавил ≈ "Это впечатляет, хотя является для меня полной неожиданностью. В своей работе я делаю упор на повышение скорости ext4 на жестких дисках HDD и на твердотельных дисках SSD, а не на этих маленьких устройствах".

Давайте посмотрим на цифры, вызвавшие удивление Теда. Числа означают время в секундах, потребное чтобы записать несжатую директорию ядра linux 2.6.34 на новейшую Class 10 SD флеш карту, а затем считать ее обратно (после удаления кэшей). Чем число меньше, тем работа быстрее.

         Ext2     Ext3     Ext4  Reiser3     VFat     NTFS
Write    368      501      125      582      518      174
Read      53       60       53       72       98      118

Почти в четыре раза быстрее чем ext3, почти втрое быстрее ext2, и заметно лучше всех остальных. Неплохие показатели при записи у NTFS, зато при чтении она хуже всех. Что касается Reiser, то она всегда медленно работает на флешках.

Для всех ли флешек это так? Нет. Испытывая флеш карты быстро начинаешь понимать ≈ для них закон не писан. Результаты зачастую парадоксальны. Вот пример ≈ абсолютно тот же тест для сверх-дешевой флешки неизвестного производителя объемом в 2 Гб:

         Ext2     Ext3     Ext4  Reiser3     VFat     NTFS
Write    434      361      156      750      564      165
Read      50       64       48       87       51      125
 

Что здесь бросается в глаза? Ext2 и Ext3 поменялись местами по скоростям записи. А скорости считывания вцелом возросли. Но Ext4 уверенно сохраняет лидерство.

По правде говоря, тест не совсем корректен. Он проведен с большим количеством маленьких файлов. Что будет при копировании одного большого файла? Вот результаты теста SD карты со сжатым bzip ядром linux 2.6.34 (один большой файл). Показаны секунды с сотыми долями.

         Ext2     Ext3     Ext4  Reiser3     VFat     NTFS
Write    14.45    11.21     8.67    18.31     8.36    16.08
Read      4.72     4.55     4.66     4.74     4.44     4.48
 

Отличные новости! VFAT впереди всех. Она слегка отстанет от Ext4, когда количество больших файлов перевалит за 20, но все равно будет идти ноздря в ноздрю. Так как большинство камер, мобильников и прочих игрушек используют файловую систему VFAT, то вам не придется переучивать свой фотоаппарат понимать Ext4.

Еще один крайний случай: старые системы с USB 1.1. Сравнение файловых систем некорректно, так как лимитирующим фактором будет скорость передачи данных USB портом.

Интероперабельность

Если вы используете флешку только для работы с компьютерами под Linux, то у вас не возникнет никаких проблем с использованием Ext4.

Что касается Apple, то Linux читает и записывает файловую систему HFS+ очень хорошо, но на двух машинах с операционной системой Snow Leopard наш тест на запись проходил чрезвыйно медленно (один занял более двух часов). Тот же тест с флешкой под VFAT занял чуть более 7 минут. Пользуйтесь VFAT.

Windows? Стоит поэкспериментировать с NTFS, но и VFAT работает вполне удовлетворительно.

Почему выбраны именно эти файловые системы?

Очень просто ≈ они все есть в программе Disk Utility для Gnome. Мы хотели протестировать файловые системы, которые обычный пользователь может установить на свою флешку. Но нельзя не попробовать хотя бы еще XFS и Btrfs, хотя они и маловероятные кандидаты.

XFS было легко испытывать, так как первый же тест она выполняла так медленно (19 минут вместо 7 на других системах), что мы прекратили дальнейшие опыты.

Btrfs, наоборот, успешно соперничала с Ext4. Она не победила, но шла рядом. Учитывая ее молодость и сыроватость, мы вправе возлагать на нее надежды в будущем.

Тед просил подчеркнуть, что результаты, о которых мы рассказали, не имеют никакого отношения к работе этих файловых систем на больших дисках ≈ HDD или SSD. Они и не имеют. Помните: флешки непредсказуемы!

Описание тестов

Мы провели более 200 тестов, в которых участвовало восемь компьютеров с двенадцатью операционными системами. Проверялось десять флеш носителей, некоторые с собственным USB портом, другие в одном из пяти картридеров. Применялись различные степени нагрузки (объемы работы). Результаты абсолютно непредсказуемы, но почти всегда побеждала Ext4.

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

Чтобы повторить наши опыты, скачайте linux 2.6.34 в виде bzip архива и запустите команду

time rsync -rv откуда -> куда && time sync && time umount flash 

Лучше запускать от имени root.

 

Поделиться: