ОПРЕДЕЛЕНИЕ СКОРОСТЕЙ РАБОТЫ ЛОКАЛЬНЫХ ФАЙЛОВЫХ СИСТЕМ В РЕД ОС

ОПРЕДЕЛЕНИЕ СКОРОСТЕЙ РАБОТЫ ЛОКАЛЬНЫХ ФАЙЛОВЫХ СИСТЕМ В РЕД ОС

Авторы публикации

Рубрика

Информационные технологии

Просмотры

92

Журнал

Журнал «Научный лидер» выпуск # 7 (208), Февраль ‘25

Поделиться

В последние годы значительное внимание уделяется оптимизации файловых систем в отечественных операционных системах, что связано с необходимостью повышения производительности и надежности систем хранения данных. Целью данного исследования является изучение производительности файловых систем EXT4, JFS и BTRFS применительно к РЕД ОС. Исследование сосредоточено на сравнении ключевых показателей производительности, таких как скорость чтения и записи, с использованием команды dd для объективного измерения. Результаты могут поспособствовать более осознанному выбору файловой системы, который напрямую влияет на общую работоспособность и безопасность процессов системы.

Введение

Современные требования к производительности и надежности информационных систем стимулируют исследования в области оптимизации файловых систем, особенно в контексте отечественного программного обеспечения. Роль эффективных файловых систем становится все более значимой, учитывая растущую потребность в стабильной обработке больших объемов данных и поддержке критически важных приложений. В условиях усиливающейся ориентации на российские операционные системы, такие как РЕД ОС, особое внимание уделяется выбору и адаптации файловых систем, способных обеспечить наивысшую производительность и безопасность.

 

Ранее проблема оптимизации файловых систем активно исследовалась в мировой научной практике. Наиболее заметные работы в этой области были посвящены изучению производительности популярных файловых систем в различных операционных системах, основанных на базе ядра Linux. Среди исследователей, внесших значительный вклад в эту область, можно выделить авторов, изучавших архитектурные особенности и методы повышения производительности, включая работы по адаптации файловых систем к высоконагруженным сценариям и новым аппаратным решениям. Стоит отметить, что данная тема довольно часто исследуется студентами в высших учебных заведениях. Эти исследования позволили определить сильные и слабые стороны файловых систем в различных операционных средах.

 

В контексте отечественных операционных систем существует недостаток данных о том, как эти файловые системы проявляют себя с учетом специфики платформы. Настоящее исследование направлено на восполнение данного пробела. Оно сосредоточено на сравнении производительности файловых систем EXT4, BTRFS и JFS в РЕД ОС с использованием объективных методов измерения, таких как команда dd. Результаты помогут разработчикам и администраторам выбрать наиболее подходящую файловую систему, что окажет положительное влияние на производительность и надежность системы в целом. При этом исследование обеспечивает основу для выявления уникальных особенностей и потенциальных преимуществ JFS и BTRFS, что позволяет определить наилучшие подходы к оптимизации и адаптации файловых систем в контексте возрастающих требований к производительности и надежности современных информационных технологий.

 

В данной статье уделяется особое внимание определению ключевых терминов, таких как файловая система, метаданные и команда dd, поскольку они являются основополагающими для понимания тематики исследования.

 

«Упрощённо можно сказать, что совокупность файлов, структурированная в соответствии с унифицированными требованиями на физическом носителе, представляет собой файловую систему (ФС). Файловая система определяет порядок/способ хранения данных на носителях, допустимый размер имён файлов и каталогов, формат, количество и объём метаданных» [9]. Основными задачами файловой системы являются управление местоположением данных, обеспечение их целостности, а также управление доступом и безопасностью.

 

Файловая система использует определенные алгоритмы для распределения и хранения данных. Она организует данные в виде файлов, которые могут содержать текст, изображения, видео, программы и другие виды данных. Файлы, в свою очередь, группируются в каталоги или папки для удобства пользователя. Каждая файловая система имеет уникальные особенности, такие как методы обработки фрагментации, управление объемами памяти и поддержка различных уровней защиты. Например, современные файловые системы, такие как EXT4 и BTRFS, обеспечивают такие функции, как журналирование изменений, сжатие данных и моментальные снимки.

 

Метаданные — это данные о данных, которые описывают содержимое, структуру и свойства файлов. Они играют ключевую роль в управлении файлами в файловых системах, предоставляя информацию, необходимую для доступа к содержимому файлов и их организации. Метаданные включают в себя такие атрибуты, как имя файла, размер, дата создания, последнего изменения, права доступа и местоположение файла на диске.

 

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

 

Команда dd — это утилита в UNIX-подобных операционных системах, предназначенная для низкоуровневого копирования и преобразования данных. Она «просто выполняет копирование данных из одного места в другое на двоичном уровне. Она может скопировать CD/DVD диск, раздел на диске или даже целый жесткий диск» [10]. Это инструмент, часто используемый для создания образов дисков, тестирования производительности систем хранения данных и восстановления данных.

 

Основной принцип работы команды dd заключается в том, что она считывает данные блоками заданного размера и записывает их в указанное место. Параметры команды, такие как if (input file) и of (output file), позволяют точно указать исходный и целевой ресурсы. Используя такие параметры, как bs (block size), count и skip, можно точно настроить операцию чтения и записи.

 

EXT4 (Fourth Extended File System) — это одна из самых популярных файловых систем в UNIX-подобных операционных системах, включая Linux. EXT4 «использует 48-битную адресацию, поэтому максимальный размер файла может быть 16 терабайта, а файловой системы один экзабайт» [11].

 

Одной из ключевых особенностей EXT4 является журналирование, которое помогает избежать повреждений данных в случае сбоя системы. Данная система также поддерживает такие функции, как выделение блоков по запросу (extent allocation), уменьшение фрагментации и проверка целостности метаданных. Благодаря этим особенностям EXT4 широко используется в серверных и настольных операционных системах. «Ext4 в отличие от XFS менее агрессивно использует оперативную память при работе с файлами на носителе, поэтому её оптимально применять на вычислительных системах с небольшим объёмом ОЗУ» [9].

 

«Btrfs – это современная файловая система copy on write (COW) для Linux, предназначенная для реализации расширенных функций, а также для обеспечения отказоустойчивости, ремонта и простоты администрирования. Ее основными функциями и преимуществами являются:

 

Моментальные снимки, которые не создают полную копию файлов;

 

RAID - поддержка программного RAID 0, RAID 1, RAID 10...;

 

Самовосстановление - контрольные суммы для данных и метаданных, автоматическое обнаружение скрытых повреждений данных» [7]. Основной особенностью BTRFS является использование деревьев B-деревьев для организации данных, что позволяет эффективно управлять большими объемами информации.

 

JFS (Journaled File System) — это файловая система, разработанная компанией IBM для обеспечения высокой производительности и надежности. JFS поддерживает журналирование, что помогает минимизировать риск потери данных при сбоях. Основной особенностью JFS является её низкое использование процессорных ресурсов и высокая скорость работы с большими файлами.

 

JFS поддерживает динамическое изменение размера томов, то есть «динамически выделяет пространство для индексных дескрипторов по мере необходимости» [8], что делает её подходящей для серверов и систем хранения данных. Она также отличается стабильностью и простотой в эксплуатации, но имеет ограниченную популярность по сравнению с EXT4 и BTRFS из-за меньшего числа функций и ограниченной поддержки в современных системах.

 

РЕД ОС — это российская операционная система, разработанная на базе Linux и предназначенная для использования в корпоративных и государственных организациях. Она поддерживает работу с большинством популярных файловых систем, включая EXT4, BTRFS и другие. РЕД ОС отличается высокой степенью адаптации под требования российских регуляторов в области безопасности информации, таких как ФСТЭК и ФСБ. Она включает инструменты для работы с отечественным программным обеспечением и поддерживает современные стандарты совместимости. РЕД ОС активно используется в государственных учреждениях, на предприятиях и в образовательных учреждениях, заменяя зарубежные операционные системы.

 

Основные гипотезы предстоящего исследования

  1. Скорость работы файловых систем зависит от их архитектурных особенностей и алгоритмов управления данными.
  2. Ext4 будет демонстрировать наивысшую скорость работы при выполнении базовых операций чтения и записи, так как это устоявшийся стандарт для Linux-систем. Ожидается, что ее архитектура и механизм выделения блоков обеспечат оптимальную производительность для большинства сценариев работы.
  3. BTRFS уступит Ext4 в скорости записи, но покажет лучшие результаты при работе с большими файлами. Встроенные механизмы сжатия и снапшотов могут замедлять запись, но потенциально улучшать производительность при специфических сценариях.
  4. JFS покажет средние результаты между Ext4 и BTRFS. Она разрабатывалась с упором на производительность и эффективность при работе с большими файлами, поэтому её показатели могут быть сопоставимы с Ext4 в некоторых сценария. Также от данной системы стоит ожидать хороших результатов при передаче множества малых файлов.
  5. Поскольку РЕД ОС базируется на ядре Linux, предполагается, что результаты тестов будут аналогичны аналогичным исследованиям на других Linux-дистрибутивах. Однако возможны отклонения, связанные с настройками системы и особенностями её оптимизации.

МЕТОДЫ ИССЛЕДОВАНИЯ

Исследование, проведённое в рамках данной работы, является экспериментальным и сосредоточено на сравнительном анализе производительности различных файловых систем в контексте отечественной операционной системы РЕД ОС. Был применён экспериментальный методологический подход, который предполагает детальный анализ производительности различных файловых систем Использование команды dd, как основного инструмента для тестирования, обеспечило высокий уровень объективности при измерениях скоростей записи и чтения данных. Такой подход не только позволяет собрать точные количественные показатели, но и выявляет конкретные сценарии, в которых определённая файловая система показывает преимущества. В условиях всё возрастающего объёма данных, особенно значимого в экономических приложениях, результаты этих тестов предоставляют ценную информацию для выбора оптимальной файловой системы.

 

Одним из важных аспектов работы было монтирование файловых систем на отдельные диски, что позволило исключить переменные, связанные с аппаратными различиями, и сосредоточиться исключительно на производительности. Такой подход обеспечил целостность данных и точность результатов, полученных в ходе экспериментов.

 

В данной работе проводилось измерение пропускной способности сервера при разовой передаче крупных и средних файлов, то есть скорости записи файла на диск, и измерение задержки сервера при многократной передаче файлов малого размера. Тесты включали запись блоков размером 256 Мб, 512 Мб, 1 Гб, 5 Гб и запись 1000 блоков размером 512 байт.

 

Для выполнения экспериментальных работ в среде Oracle VirtualBox была предварительно подготовлена виртуальная машина, с установленной и настроенной на ней РЕД ОС. Так как проверка каждой файловый системы будет происходит отдельно, то для чистоты результатов на виртуальную машину были также установлены дополнительные жесткие диски.

Рисунок 1. Настройка виртуальной машины

Суть поставленного эксперимента будет заключаться в следующем:

  • На каждый выделенный виртуальный диск монтируется своя файловая система при помощи команды mkfs.,
  • Смонтированный диск при помощи команды mount монтируется к своему созданному разделу,
  • Запускается команда dd, настроенная на запись тестового изображения определенного размера при определённых настройках. Например, dd if=/dev/zero of=$mount_point/test.img bs=$size count=1 oflag=dsync status=none. Данная команда выполняется сначала с указанием конечного пункта на раздел, связанный с первым диском.
  • После выполнения команды в консоль выведется результат, который будет записан в текстовый документ.
  • После проведения первого теста раздел очищается и выполняется тест файла следующего размера.
  • После происходит переход на следующий раздел. И так до конца проверки третьего диска.

Ниже приведен пример того, как это выглядит выполнение вручную данных действий в терминале РЕД ОС:

Рисунок 2. Нахождение всех дисков

Рисунок 3. Монтирование ext4 на диск sdb

 

Рисунок 4. Монтирование диска к разделу и результат запуска команды dd

 

Для выполнения указанных выше задач был написан специальный скрипт:

Рисунок 5. Код скрипта. Первая часть 

Рисунок 6. Код скрипта. Вторая часть 

После выполнения скрипта на выходе мы получаем текстовый файл test.results. Польза выполнения bash программы заключается в том, что тест каждого размера производится по три раза, что дает нам возможность далее обработать данные, приведя их к среднему арифметическому. В результате должны получится данные, которые будут иметь тоже соотношение, что и при попытке выполнения замеров вручную.

 

Результаты исследования

Проведенные тесты показали, что наиболее эффективной из рассматриваемых является система Ext4. На следующих рисунках будут приведены графики обработанных результатов испытаний.

 

В тесте на запись большого файла (5 ГБ) Btrfs оказалась немного быстрее Ext4, опередив её на 5,96%. При этом она значительно превзошла JFS – разница составила 22,90%. Однако в остальных тестах Ext4 показала уверенное преимущество.

 

Jfs свою очередь показал отличные результат в последнем тесте, при проверке отклика системы. При большом количестве маленьких файлов данная система смогла справится почти в 7 раз быстрее Ext4 и почти в 25 раз быстрее Btrfs. В остальных тестах Jfs либо был вторым по скорости, либо последним.

 

Во втором тесте Ext4 был быстрее на 55,72% и 60,31% быстрее остальных систем. В третьем тесте Ext4 был уже на 13,06% и 18,19% быстрее конкурентов. И в четвертого теста было получено, что Ext4 на 17,60% и 23,96% быстрее остальных.

 

Интерпретация полученных данных показала, что файловая система EXT4 продемонстрировала высокую производительность и стабильность. Эти результаты подтверждают её преимущество как предпочтительной файловой системы для РЕД ОС, особенно в условиях высокой нагрузки. Тем не менее, JFS и BTRFS также имеют свою нишу, оказывая конкурентное сопротивление благодаря некоторым уникальным функциям, таким как улучшенная управляемость данными и более гибкие возможности по масштабированию. Эти особенности делают их актуальными для более специализированных приложений, требующих уникальных решений в управлении данными и ориентации на долгосрочное хранение.

 

Таблица 1.

Результаты тестирования для файла размером 5 Гб

5Gb, s

тест 1

тест 2

тест 3

среднее значение

ext4

17,67298

18,53218

16,60843

17,60453063

jfs

17,59781

23,34435

20,31467

20,41893985

btrfs

16,8195

17,40199

15,62167

16,61438628

 

Таблица 2.

Результаты тестирования для файла размером 1 Гб

1Gb, s

тест 1

тест 2

тест 3

среднее значение

ext4

2,721643

3,520257749

3,645102

3,295667678

jfs

6,007254

4,659160645

5,183617

5,283343927

btrfs

4,248192

6,134036745

5,013822

5,132016996

 

Таблица 3.

Результаты тестирования для файла размером 512 Мб

512 Mb, s

тест 1

тест 2

тест 3

среднее значение

ext4

1,383533

1,676162

1,457509

1,505734484

jfs

1,762102

1,505259

1,839771

1,702377209

btrfs

1,837947

1,594054

1,906953

1,779651255

 

Таблица 4.

Результаты тестирования для файла размером 256 Мб

256 Mb, s

тест 1

тест 2

тест 3

среднее значение

ext4

0,703145

0,715289

0,747704

0,722045923

jfs

0,8296

0,840519

0,877315

0,849144502

btrfs

0,858796

0,906345

0,920052

0,895064258

 

Таблица 5.

Результаты тестирования для файла размером 512 б с тысячей повторений

512 b count=1000, s

тест 1

тест 2

тест 3

среднее значение

ext4

18,11207

17,21075

17,24948

17,52410055

jfs

2,465851

2,685416

2,544629

2,565298793

btrfs

52,22172

58,98269

49,17858

53,46099374

 

График 1. Сравнение средних значений времени записи файла размером 5 Гб

График 2. Сравнение средних значений времени записи файла размером 1 Гб

График 3. Сравнение средних значений времени записи файла размером 512 Мб

График 4. Сравнение средних значений времени записи файла размером 256 Мб

График 5. Сравнение средних значений времени записи файла размером 512 б с тысячей повторений

 

Заключение

В ходе проведенного исследования была изучена производительность локальных файловых систем EXT4, BTRFS и JFS в операционной системе РЕД ОС. Эксперименты проводились с использованием команды dd для измерения скорости записи данных, что позволило получить объективные результаты по производительности каждой файловой системы в различных сценариях использования. Тестирование включало запись файлов различных размеров, а также проверку отклика системы при работе с множеством небольших файлов.

Результаты экспериментов подтвердили начальные гипотезы о различиях в производительности тестируемых файловых систем. Файловая система EXT4 продемонстрировала наивысшую стабильность и среднюю скорость записи, что делает её наиболее подходящим вариантом для большинства задач в РЕД ОС. BTRFS показала лучшие результаты при работе с большими файлами, что обусловлено её архитектурными особенностями, однако в сценариях с высокой нагрузкой на запись небольших файлов её производительность оказалась значительно ниже, чем у конкурентов. JFS проявила себя как наиболее эффективное решение при работе с множеством мелких файлов, обеспечив минимальные задержки по сравнению с EXT4 и BTRFS, что делает её привлекательной для специфических сценариев, требующих быстрой обработки большого количества небольших файлов.

Исследование подтвердило, что выбор файловой системы должен основываться на конкретных требованиях к производительности и характеру нагрузки. EXT4 остаётся универсальным и надёжным решением, подходящим для большинства задач. BTRFS может быть полезна в системах, где важна эффективность работы с большими объёмами данных и возможность гибкого управления файловым пространством. JFS, несмотря на меньшую популярность, может быть эффективной в узкоспециализированных сценариях, требующих высокой скорости обработки малых файлов.

Направления дальнейшего исследования могут включать анализ влияния различных параметров монтирования файловых систем на их производительность, изучение работы с разными типами носителей (SSD, HDD, NVMe), а также проведение аналогичных тестов в многопользовательских средах или условиях высокой нагрузки. Кроме того, перспективным направлением является анализ влияния механизмов защиты данных, таких как контрольные суммы и системы самовосстановления, на общую производительность и надёжность файловых систем в РЕД ОС.

Перспективы развития и улучшения технологий хранения данных определяются не только анализом существующих решений, но и внедрением инновационных подходов к изучению производительности и надежности систем. Комбинация тщательного анализа текущих файловых систем и исследований их влияния на общую функциональность операционных систем открывает новые горизонты для оптимизации и адаптации технологических процессов. Это создает фундамент для дальнейшего повышения эффективности и надежности отечественных операционных систем в условиях глобального рынка.

Список литературы

  1. Уймин, А. Г. Периферийные устройства ЭВМ: Практикум / А. Г. Уймин. – Москва: Ай Пи Ар Медиа, 2023. – 429 с. – ISBN 978-5-4497-2079-5. – EDN KQQFAG
  2. Монтирование диска в Linux [Электронный ресурс]. — URL: https://losst.pro/montirovanie-diska-v-linux
  3. Антынескул Д.О. Проблемы использования файловых систем в программных комплексах обработки экономической информации. — Финансовый университет при Правительстве Российской Федерации. — [б. г.]. — [б. и.]
  4. Гите В. Linux and Unix Test Disk I/O Performance With dd Command [Электронный ресурс]. — URL: https://www.cyberciti.biz/faq/howto-linux-unix-test-disk-performance-with-dd-command/
  5. Миронов Стёпа. Файловые системы в Linux: их структура и типы [Электронный ресурс]. — URL: https://timeweb.com/ru/community/articles/struktura-i-tipy-faylovyh-sistem-v-linux
  6. Н 72 НОВАЯ НАУКА: ОТ ИДЕИ К РЕЗУЛЬТАТУ: Международное научное периодическое издание по итогам Международной научно-практической конференции (29 сентября 2015, г. Стерлитамак). — Стерлитамак: РИЦ АМИ, 2015. — 222 с.
  7. Сальный А.Г., Остроух А.В. Исследование эффективности структур хранения данных ядра LINUX // Международный журнал экспериментального образования. — 2015. — № 3. — С. 158-167. DOI: 10.12731/2306-1561-2014-4-16
  8. BTRFS Wiki / [Электронный ресурс] // Kernel: [сайт]. — URL: https://archive.kernel.org/oldwiki/btrfs.wiki.kernel.org/index.php/Main_Page.html (дата обращения: 11.02.2025)
  9. JFS (файловая система) / [Электронный ресурс] // Википедия: [сайт]. — URL: https://en.wikipedia.org/wiki/JFS_(file_system) (дата обращения: 11.02.2025)
  10. РЕД СОФТ Файловая система в РЕД ОС / РЕД СОФТ [Электронный ресурс] // РЕД ОС: [сайт]. — URL: https://redos.red-soft.ru/base/redos-8_0/8_0-base-consept/8_0-file-system/?nocache=1739310909985 (дата обращения: 11.02.2025)
  11. Команда dd Linux / [Электронный ресурс] // Losst : [сайт]. — URL: https://losst.pro/komanda-dd-linux (дата обращения: 11.02.2025)
  12. Файловая система Ext4 / [Электронный ресурс] // Losst: [сайт]. — URL: https://losst.pro/fajlovaya-sistema-ext4 (дата обращения: 11.02.2025)
  13. Бованенко А.А., Захаров Е.А. ОПРЕДЕЛЕНИЕ СКОРОСТЕЙ РАБОТЫ СЕТЕВЫХ ФАЙЛОВЫХ СИСТЕМ В РЕД ОС // Вестник науки и образования №1 (156), 2025 [Электронный ресурс]
Справка о публикации и препринт статьи
предоставляется сразу после оплаты
Прием материалов
c по
Осталось 4 дня до окончания
Размещение электронной версии
Загрузка материалов в elibrary
Публикация за 24 часа
Узнать подробнее
Акция
Cкидка 20% на размещение статьи, начиная со второй
Бонусная программа
Узнать подробнее