В статье рассмотрены структуры хранения данных, используемые в операционной системе Linux. Исследование производилось на типовой рабочей станции под управлением ОС GNU/Linux с приведёнными ниже характеристиками. На основе полученных были выявлены и рекомендованы к применению оптимальные способы хранения данных.
Файловая система (ФС) – это структура каталогов, используемая для организации файлов и их хранения на диске [1, 2, 3]. Файловая система определяет формат содержимого и способ физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имен файлов и (каталогов), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов [1–7].
Методика исследования. При тестировании скорости файловых систем был использованы:
– сервер на базе Сore i7-4960 c 16Gb DDR3;
– жесткий диск (HDD) WD black 7000rpm;
– гипервизор VmWare ESXI 5.0;
– виртуальная машина с двумя ядрами и 8 Gb оперативной памяти;
– CENTOS 6 с последними обновлениями.
Для сравнения скоростей были использованы следующие сценарии Bash:
cmd1.sh="cp -r /media/media4/video/best $dest"
cmd2.sh="rsync -rlhtgopu /media/media4/backup $dest"
cmd3.sh="grep linux -sir $dest/backup/wine-src/"
cmd4.sh="find $dest -type f -delete"
Условия тестирования:
– виртуальная машина с 2 ядрами и 4 ГБ оперативной памяти;
– замеры проводились c помощью /usr/bin/time;
– между тестами 10 минутные паузы, чтобы устаканить uptime;
– размер раздела с ФС подобран так чтобы данные заполняли его на 2/3;
– размеры файлов применяемых в тесте.
– мелкие файлы – 1,7G /media/media1 – 40285 файлов.
– крупные файлв – 17,4G /media/media2 – 4 файла.
Результаты исследования. Сравнительные характеристики ФС приведены в табл. 1.
Таблица 1
Сравнительные характеристики файловых систем
ext2 |
ext3 |
xfs |
btrfs |
reiserfs |
jfs |
|
Содержимое папок |
таблица |
таблица |
B+ деревья |
B+ деревья |
B+ деревья |
B+ деревья |
Размещение файлов |
Битовая карта |
Битовая карта |
B+ деревья |
экстент |
Битовая карта |
Битовая карта |
Максимальный размер файла |
От 16 Гигабайт до 2 Тирабайт |
зависит от размера блока |
8 Эксби-байт |
8 Эксби-байт |
1 Эксби-байт |
4 Пета-байт |
Максимальная длина имени файла |
255 байт |
зависит от размера блока |
256 байт |
255 байт |
4032 байт |
255 байт |
Максимальный размер тома |
От 2 до 32 Тирабайт |
зависит от размера блока |
16 Эксби-байт |
16 Эксби-байт |
16 Терабайт |
32 Пета-байт |
Сравнение производительности файловых систем приведены в табл. 2 и на графиках, представленных рисунке [8–10].
Исходя из данных табл. 2, оптимальными по производительности являются файловые системы ext2 и ext, однако надо учитывать тот факт, что ext4 является журналируемой файловой системой и больше устойчива к сбоям.
Таблица 2
Сравнение производительности файловых систем
ext2 |
ext3 |
ext4 |
xfs |
reiserfs |
btrfs |
jfs |
|
Копирование больших файлов: |
116.03 |
122.69 |
116.45 |
137.47 |
138.67 |
130.25 |
130.98 |
Архивирование маленьких файлов |
115.33 |
124.25 |
99.61 |
220.50 |
119.25 |
98.44 |
172.21 |
поиск среди маленьких файлов: |
66.71 |
63.69 |
68.76 |
47.02 |
66.45 |
77.18 |
107.21 |
повторный поиск среди маленьких файлов: |
100.47 |
97.27 |
102.36 |
80.70 |
96.48 |
101.27 |
135.29 |
поиск и удаление файлов: |
8,09 |
7,51 |
6,40 |
82,59 |
10,22 |
13,53 |
15.67 |
средняя нагрузка на систему: |
1.85, 1.37, |
1.95, 1.39, |
1.99, 1.26 |
2.02, 1.64 |
2.00, 1.47 |
2.09, 1.37 |
2.55, 1.99 |
Сравнение производительности файловых систем ядра Linux
Заключение. Рост нагрузок в локальных вычислительных сетях связан в большинстве случаев с увеличением файлоборота внутри локальной сети, что поднимает планку требований к файловым системам на серверах. В данной статье мы рассмотрели несколько файловых систем ядра Linux, активно использующихся в настоящее время. Характеристики файловых системы были приведены к структурированному виду и были проведены замеры скорости при различных операциях с файлами. Оптимальными показателями обладает файловая система ext4 используемая по умолчанию во многих дистрибутивах Linux.