Файловая система

Материал из База знаний Etersoft
Перейти к навигацииПерейти к поиску

Выбор локальной файловой системы для 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

  1. нет скриптовой обвязки для сборщика мусора (nilfs_cleanerd)
  2. нет опыта использования (верного конфига)
  3. действительно всё время пишет дальше (не освобождая)
  4. надо посмотреть, как себя ведёт после Reset во время перезаписи файла

ext4

time копирования рядом (cp -a) git-репозитория с Linux: 0.25user 3.74system 0:24.09elapsed 16%CPU

  1. можно не беспокоиться за данные
  2. тест bonnie++ не может показать проблем с производительностью в сравнении

btrfs

time копирования рядом (cp -a) git-репозитория с Linux: 0.31user 6.77system 0:29.59elapsed 23%CPU

  1. посмотрел в ((http://news.gmane.org/gmane.comp.file-systems.btrfs рассылку)), мне показалось, слишком много фатальных ошибок.
  2. + поддерживает сжатие
  3. + поддерживает копирование при записи (cp --reflink) - очень актуально для клонирования чрутов
  4. + конвертирование из ext3/ext4 на ходу
  5. - якобы не поддерживает много жёстких ссылок из одного каталога - плохо для git
  6. - нет команды проверки файловой системы

Если файловой системе нужна дефрагментация, её надо запускать по крону.


Тесты 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


Ссылки =