Файловая система
Выбор локальной файловой системы для GNU/Linux.
На 12.03.2012 обзор окрестностей показал, что ext4 является лучшим выбором. Остальное надо смотреть под хорошей нагрузкой. btrfs я бы использовал для хранения backup'ов (создаваемых rsync).
Отдельного внимания заслуживает exofs, основанная на OSD (устройство представляется не набором блоков, а хранит объекты определённого размера). Но это уже больше к распределённым ФС.
Взгляд lav@ от 12.03.2012
nilfs
time копирования рядом (cp -a) git-репозитория с Linux: 0.25user 5.16system 0:30.15elapsed 17%CPU
- нет скриптовой обвязки для сборщика мусора (nilfs_cleanerd)
- нет опыта использования (верного конфига)
- действительно всё время пишет дальше (не освобождая)
- надо посмотреть, как себя ведёт после Reset во время перезаписи файла
ext4
time копирования рядом (cp -a) git-репозитория с Linux: 0.25user 3.74system 0:24.09elapsed 16%CPU
- можно не беспокоиться за данные
- тест bonnie++ не может показать проблем с производительностью в сравнении
btrfs
time копирования рядом (cp -a) git-репозитория с Linux: 0.31user 6.77system 0:29.59elapsed 23%CPU
- посмотрел в ((http://news.gmane.org/gmane.comp.file-systems.btrfs рассылку)), мне показалось, слишком много фатальных ошибок.
- + поддерживает сжатие
- + поддерживает копирование при записи (cp --reflink) - очень актуально для клонирования чрутов
- + конвертирование из ext3/ext4 на ходу
- - якобы не поддерживает много жёстких ссылок из одного каталога - плохо для git
- - нет команды проверки файловой системы
Если файловой системе нужна дефрагментация, её надо запускать по крону.
Тесты bonnie++
nilfs
Пакет nilfs-utils для mkfs.nilfs2 и прочих утилит. Периодически нужно запускать сборщик мусора.
Результат выполнения bonnie++:
Version 1.03e ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP lin-test.offi 7672M 42845 57 80121 19 36206 9 64912 88 115338 12 211.7 1 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 6249 91 +++++ +++ +++++ +++ 7404 97 +++++ +++ 17837 91 lin-test.office.etersoft.ru,7672M,42845,57,80121,19,36206,9,64912,88,115338,12,211.7,1,16,6249,91,+++++,+++,+++++,+++,7404,97,+++++,+++,17837,91
ext4
Результат выполнения bonnie++:
Version 1.03e ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP lin-test.offi 7672M 74920 97 110417 18 38821 7 63612 84 116592 11 204.2 1 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ lin-test.office.etersoft.ru,7672M,74920,97,110417,18,38821,7,63612,84,116592,11,204.2,1,16,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++
btrfs
Умеет сжатие (mount -o compress)
Результат выполнения bonnie++. Без сжатия:
Version 1.03e ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP lav.office.et 7672M 76915 92 119933 13 44048 9 70488 89 126216 27 231.3 0 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ 29980 95 lav.office.etersoft.ru,7672M,76915,92,119933,13,44048,9,70488,89,126216,27,231.3,0,16,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,29980,95
Результат выполнения bonnie++. Со сжатием:
Version 1.03e ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP lav.office.et 7672M 71227 85 226442 26 99808 26 54899 71 174992 23 272.5 2 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 +++++ +++ +++++ +++ 32377 96 +++++ +++ +++++ +++ 28319 95 lav.office.etersoft.ru,7672M,71227,85,226442,26,99808,26,54899,71,174992,23,272.5,2,16,+++++,+++,+++++,+++,32377,96,+++++,+++,+++++,+++,28319,95